Thiết kế các mặt cong dựa trên Bezier và B-Spline.

Một phần của tài liệu Tài liệu đồ họa máy tính (Trang 129 - 132)

BÀI TẬP CHƯƠNG

2.6.3.Thiết kế các mặt cong dựa trên Bezier và B-Spline.

Để mơ tả và vẽ các mặt cong ta cũng cĩ thể dùng các hàm trộn Bezier và B-Spline tương tự như trong trường hợp đường cong.

Các mảnh Bezier (Bezier surface patches)

Xét đường cong Bezier như là một hàm theo tham số v và cĩ các điểm kiểm sốt thay đổi theo u. Ta cĩ cơng thức :

Lúc này, khi u thay đổi ta sẽ cĩ các điểm kiểm sốt thay đổi kéo theo đường cong Bezier cũng thay đổi theo. Sự biến thiên của các đường cong Bezier này trong khơng gian sẽ tạo ra một mặt cong. Khi u thay đổi, các điểm pk(u) sẽ thay đổi trên một đường cong nào đĩ. Nếu cho các đường cong này chính là các đường cong Bezier, mỗi đường cong dựa trên (M+1) điểm kiểm sốt thì :

Lúc này :

Ta gọi đây là dạng tích tensor của mảnh Bezier.

Dán các mảnh Bezier lại với nhau

Mục đích là để tạo ra một dạng mặt cong phức tạp gồm nhiều mảnh Bezier kết hợp lại với nhau sao cho trơn tru tại các biên chung.

Khi dán hai mảnh Bezier lại với nhau (mỗi mảnh cĩ một khối đa diện kiểm sốt riêng và cùng sử dụng cơng thức ở trên với u,v biến thiên trong đoạn [0, 1]), vấn đề là làm sao để chúng cĩ thể dán vào nhau một cách trơn tru ?

Hai mảnh sẽ gắn vào nhau ở tất cả các điểm dọc biên chung nếu các đa diện kiểm sốt của chúng trùng khớp với nhau ở biên. Điều này cĩ được là do dạng của đường cong Bezier biên chỉ phụ thuộc vào đa giác kiểm sốt nằm ở biên của khối đa diện kiểm sốt. Do đĩ, để dán được ta chỉ cần chọn các đa giác kiểm sốt biên cho hai mặt là trùng nhau.

Hình 5.29 - Minh họa hai mảnh Bezier dán lại với nhau

Về tính liên tục tại tiếp tuyến, điều kiện đủ là mỗi cặp cạnh của các khối đa diện tại biên phải là cộng tuyến.

Các mảnh B-Spline (B-Spline patches)

Các hàm B-Spline cĩ thể dùng ở dạng tích tensor thay cho dạng đa thức Bernstein để đạt được tính kiểm sốt cao hơn khi thiết kế mặt cong :

Khối đa diện kiểm sốt cĩ (M+1)x(L+1) đỉnh và u, v biến thiên từ 0 tới giá trị lớn nhất của nút trong các vector nút tương ứng của chúng.

Thơng thường để thiết kế, người ta vẫn dùng các B-Spline cấp 4 (tức là cubic B-Spline) và do việc chọn số điểm kiểm sốt khơng hạn chế (số lượng các điểm khơng ảnh hưởng đến bậc của đa thức như đối với đường cong Bezier) nên người ta cĩ thể tạo ra các dạng mặt cong rất phức tạp. Tất nhiên trước đĩ, người ta phải chọn ra một đa diện nút (knot polyhedron) để tạo ra mặt cong cĩ dạng mong muốn.

5.3. Các phép biến đổi hình học ba chiều

Phép tịnh tiến, quay, biến đổi tỉ lệ, và phép biến dạng là các ví dụ của các phép biến đổi hình học. Chúng cịn được biết tới như là các phép biến đổi affine cơ sở. Trong số đĩ, phép quay cĩ thể nĩi là quan trọng và hữu dụng nhất vì nĩ cho phép chúng ta nhìn các đối tượng theo các hướng khác nhau, điều này cho phép chúng ta cảm nhận các hình vẽ ba chiều trực quan hơn, dễ chịu hơn.

Ta cĩ thể tạo ra nhiều phiên bản của cùng một đối tượng bằng cách vẽ đối tượng này sau khi áp dụng một dãy các phép biến đổi hình học lên nĩ (xem hình 6.1).

Một phần của tài liệu Tài liệu đồ họa máy tính (Trang 129 - 132)