CHƯƠNG VI THIẾT KẾ ĐƯỜNG VÀ MẶT CONG BEZIER VÀ B-SPLINE
Số trang: 14
Loại file: pdf
Dung lượng: 367.82 KB
Lượt xem: 23
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Khác với những phương pháp biểu diễn mặt và đường bởi các công thức toán học tường minh, ở đây ta sẽ bàn đến các công cụ cho phép chỉ ra các dạng đường và mặt khác nhau dựa trên các dữ liệu. Điều này có nghĩa là với một đường cong cho trước mà ta chưa xác định được công thức toán học của nó thì làm thế nào để có thể nắm bắt được dạng của đường cong đó một cách tương đối chính xác qua việc sử dụng một tập nhỏ các điểm P0 , P1 ,......
Nội dung trích xuất từ tài liệu:
CHƯƠNG VI THIẾT KẾ ĐƯỜNG VÀ MẶT CONG BEZIER VÀ B-SPLINE CHƯƠNG VI THIẾT KẾ ĐƯỜNG VÀ MẶT CONG BEZIER VÀ B-SPLINE Khác với những phương pháp biểu diễn mặt và đường bởi các công thức toán họctường minh, ở đây ta sẽ bàn đến các công cụ cho phép chỉ ra các dạng đường và mặtkhác nhau dựa trên các dữ liệu. Điều này có nghĩa là với một đường cong cho trước mà ta chưa xác định được côngthức toán học của nó thì làm thế nào để có thể nắm bắt được dạng của đường cong đómột cách tương đối chính xác qua việc sử dụng một tập nhỏ các điểm P0 , P1 ,... cùngvới một phương pháp nội suy nào đó từ tập điểm này để tạo ra đường cong mongmuốn với một độ chính xác cho phép. Có nhiều cách để nắm bắt được đường cong cho trước, chẳng hạn: • Lấy một mẫu đường cong chừng vài chục điểm cách nhau tương đối ngắn rồi tìm một hàm toán học và chỉnh hàm này sao cho nó đi qua các điểm này và khớp với đường cong ban đầu. Khi đó, ta có được công thức của đường và dùng nó để vẽ lại đường cong. • Cách khác là dùng một tập các điểm kiểm soát và dùng một thuật toán để xây dựng nên một đường cong của riêng nó dựa trên các điểm này. Có thể đường cong ban đầu và đường cong tạo ra không khớp nhau lắm, khi đó ta có thể di chuyển một vài điểm kiểm soát và lúc này thuật toán lại phát sinh một đường cong mới dựa trên tập điểm kiểm soát mới. Tiến trình này lặp lại cho đến khi đường cong tạo ra khớp với đường cong ban đầu. Ở đây, ta sẽ tiếp cận vấn đề theo phương pháp thứ hai, dùng đến các đường congBezier và B-Spline để tạo các đường và mặt. Giả sử một điểm trong không gian được biểu diễn dưới dạng vector tham số p(t).Với các đường cong 2D, p(t) = (x(t), y(t)) và các đường 3D, p(t) = (x(t), y(t), z(t)).6.1. ĐƯỜNG CONG BEZIER VÀ MẶT BEZIER6.1.1. Thuật toán Casteljau Chương VI. Thiết kế đường cong và mặt cong Bezier và B-Spline Để xây dựng đường cong p(t), ta dựa trên một dãy các điểm cho trước rồi tạo ra giátrị p(t) ứng với mỗi giá trị t nào đó. Việc thay đổi các điểm này sẽ làm thay đổi dạngcủa đường cong. Phương pháp này tạo ra đường cong dựa trên một dãy các bước nộisuy tuyến tính hay nội suy khoảng giữa (In-Betweening). Ví dụ: Với 3 điểm P0 , P1 , P2 ta có thể xây dựng một Parabol nội suy từ 3 điểm nàybằng cách chọn một giá trị t ∈ [0, 1] nào đó rồi chia đoạn P0P1 theo tỉ lệ t, ta đượcđiểm P01 trên P0P1 . Tương tự, ta chia tiếp P1P2 cũng theo tỉ lệ t, ta được P11 . Nối P01và P11 , lại lấy điểm trên P01P11 chia theo tỉ lệ t, ta được P02. Với cách làm này, ta sẽ lấy những giá trị t khác ∈ [0, 1] thì sẽ được tập điểm P02.Đó chính là đường cong p(t). Ta biểu diễn bằng phương trình: P01(t) = (1-t).P0 + t.P1 (1) P11(t) = (1-t).P1 + t.P2 (2) P02(t) = (1-t).P01 + t.P11 (3) Thay (1), (2) vào (3) ta được: P(t) = P02(t) = (1-t)2.P0 + 2t.(1-t).P1 + t2.P2 Đây là một đường cong bậc 2 theo t nên nó là một Parabol. Tổng quát hóa ta có thuật toán Casteljau cho (L+1) điểm: Giả sử ta có tập điểm: P0, P1, P2, ..., PL Với mỗi giá trị t cho trước, ta tạo ra điểm Pir(t) ở thế hệ thứ r, từ thế hệ thứ (r - 1)trước đó, ta có: Pir(t) = (1-t).Pir-1(t) + t.Pi+1r-1(t) (3’) r = 0,1,...,L và i = 0,...,L-r Thế hệ cuối cùng P0L (t) được gọi là đường cong Bezier của các điểm P0,P1 ,P2,...,PL Các điểm Pi , i=0,1,...,L được gọi là các điểm kiểm soát hay các điểm Bezier. Đa giác tạo bởi các điểm kiểm soát này gọi là đa giác kiểm soát hay đa giác Bezier.6.1.2. Dạng Bernstein của các đường cong Bezier Đường cong Bezier dựa trên (L+1) điểm kiểm soát P0 ,P1 , ...,PL được cho bởi côngthức: L ∑ Pk.BkL(t) P(t) = k=0 70 Chương VI. Thiết kế đường cong và mặt cong Bezier và B-Spline Trong đó, P(t) là một điểm trong mặt phẳng hoặc trong không gian. BkL(t) được gọi là đa thức Bernstein, được cho bởi công thức: L! BkL(t) = (1-t)L-k.tk với L ≥ k k !( L − k )! Mỗi đa thức Bernstein có bậc là L. Thông thường ta còn gọi các BkL(t) là các hàmtrộn (blending function). Tương tự, đối với mặt Bezier ta có phương trình sau: M L ∑ ∑ Pi,k.BiM(u).BkL(v) P(u,v) = i=0 i =0 Trong trường hợp này, khối đa diện kiểm soát sẽ có (M+1).(L+1) đỉnh. P1 ...
Nội dung trích xuất từ tài liệu:
CHƯƠNG VI THIẾT KẾ ĐƯỜNG VÀ MẶT CONG BEZIER VÀ B-SPLINE CHƯƠNG VI THIẾT KẾ ĐƯỜNG VÀ MẶT CONG BEZIER VÀ B-SPLINE Khác với những phương pháp biểu diễn mặt và đường bởi các công thức toán họctường minh, ở đây ta sẽ bàn đến các công cụ cho phép chỉ ra các dạng đường và mặtkhác nhau dựa trên các dữ liệu. Điều này có nghĩa là với một đường cong cho trước mà ta chưa xác định được côngthức toán học của nó thì làm thế nào để có thể nắm bắt được dạng của đường cong đómột cách tương đối chính xác qua việc sử dụng một tập nhỏ các điểm P0 , P1 ,... cùngvới một phương pháp nội suy nào đó từ tập điểm này để tạo ra đường cong mongmuốn với một độ chính xác cho phép. Có nhiều cách để nắm bắt được đường cong cho trước, chẳng hạn: • Lấy một mẫu đường cong chừng vài chục điểm cách nhau tương đối ngắn rồi tìm một hàm toán học và chỉnh hàm này sao cho nó đi qua các điểm này và khớp với đường cong ban đầu. Khi đó, ta có được công thức của đường và dùng nó để vẽ lại đường cong. • Cách khác là dùng một tập các điểm kiểm soát và dùng một thuật toán để xây dựng nên một đường cong của riêng nó dựa trên các điểm này. Có thể đường cong ban đầu và đường cong tạo ra không khớp nhau lắm, khi đó ta có thể di chuyển một vài điểm kiểm soát và lúc này thuật toán lại phát sinh một đường cong mới dựa trên tập điểm kiểm soát mới. Tiến trình này lặp lại cho đến khi đường cong tạo ra khớp với đường cong ban đầu. Ở đây, ta sẽ tiếp cận vấn đề theo phương pháp thứ hai, dùng đến các đường congBezier và B-Spline để tạo các đường và mặt. Giả sử một điểm trong không gian được biểu diễn dưới dạng vector tham số p(t).Với các đường cong 2D, p(t) = (x(t), y(t)) và các đường 3D, p(t) = (x(t), y(t), z(t)).6.1. ĐƯỜNG CONG BEZIER VÀ MẶT BEZIER6.1.1. Thuật toán Casteljau Chương VI. Thiết kế đường cong và mặt cong Bezier và B-Spline Để xây dựng đường cong p(t), ta dựa trên một dãy các điểm cho trước rồi tạo ra giátrị p(t) ứng với mỗi giá trị t nào đó. Việc thay đổi các điểm này sẽ làm thay đổi dạngcủa đường cong. Phương pháp này tạo ra đường cong dựa trên một dãy các bước nộisuy tuyến tính hay nội suy khoảng giữa (In-Betweening). Ví dụ: Với 3 điểm P0 , P1 , P2 ta có thể xây dựng một Parabol nội suy từ 3 điểm nàybằng cách chọn một giá trị t ∈ [0, 1] nào đó rồi chia đoạn P0P1 theo tỉ lệ t, ta đượcđiểm P01 trên P0P1 . Tương tự, ta chia tiếp P1P2 cũng theo tỉ lệ t, ta được P11 . Nối P01và P11 , lại lấy điểm trên P01P11 chia theo tỉ lệ t, ta được P02. Với cách làm này, ta sẽ lấy những giá trị t khác ∈ [0, 1] thì sẽ được tập điểm P02.Đó chính là đường cong p(t). Ta biểu diễn bằng phương trình: P01(t) = (1-t).P0 + t.P1 (1) P11(t) = (1-t).P1 + t.P2 (2) P02(t) = (1-t).P01 + t.P11 (3) Thay (1), (2) vào (3) ta được: P(t) = P02(t) = (1-t)2.P0 + 2t.(1-t).P1 + t2.P2 Đây là một đường cong bậc 2 theo t nên nó là một Parabol. Tổng quát hóa ta có thuật toán Casteljau cho (L+1) điểm: Giả sử ta có tập điểm: P0, P1, P2, ..., PL Với mỗi giá trị t cho trước, ta tạo ra điểm Pir(t) ở thế hệ thứ r, từ thế hệ thứ (r - 1)trước đó, ta có: Pir(t) = (1-t).Pir-1(t) + t.Pi+1r-1(t) (3’) r = 0,1,...,L và i = 0,...,L-r Thế hệ cuối cùng P0L (t) được gọi là đường cong Bezier của các điểm P0,P1 ,P2,...,PL Các điểm Pi , i=0,1,...,L được gọi là các điểm kiểm soát hay các điểm Bezier. Đa giác tạo bởi các điểm kiểm soát này gọi là đa giác kiểm soát hay đa giác Bezier.6.1.2. Dạng Bernstein của các đường cong Bezier Đường cong Bezier dựa trên (L+1) điểm kiểm soát P0 ,P1 , ...,PL được cho bởi côngthức: L ∑ Pk.BkL(t) P(t) = k=0 70 Chương VI. Thiết kế đường cong và mặt cong Bezier và B-Spline Trong đó, P(t) là một điểm trong mặt phẳng hoặc trong không gian. BkL(t) được gọi là đa thức Bernstein, được cho bởi công thức: L! BkL(t) = (1-t)L-k.tk với L ≥ k k !( L − k )! Mỗi đa thức Bernstein có bậc là L. Thông thường ta còn gọi các BkL(t) là các hàmtrộn (blending function). Tương tự, đối với mặt Bezier ta có phương trình sau: M L ∑ ∑ Pi,k.BiM(u).BkL(v) P(u,v) = i=0 i =0 Trong trường hợp này, khối đa diện kiểm soát sẽ có (M+1).(L+1) đỉnh. P1 ...
Tìm kiếm theo từ khóa liên quan:
chương trình đồ họa flash căn bản xử lý hình ảnh giáo trình thiết kế thiết kế đồ họa giáo trình đồ họa ly thuyet do hoa may tinhTài liệu liên quan:
-
Đề cương chi tiết học phần Thiết kế đồ họa (Graphic Designer)
12 trang 538 2 0 -
Giáo trình phân tích một số loại nghiệp vụ mới trong kinh doanh ngân hàng quản lý ngân quỹ p5
7 trang 471 0 0 -
Đồ án tốt nghiệp Thiết kế đồ họa: Cụm thiết kế đồ họa quảng cáo cho shop giày Denah Sneaker
39 trang 275 0 0 -
5 trang 269 2 0
-
Ý tưởng lớn trong kỹ thuật thiết kế đồ họa: Phần 1
92 trang 266 1 0 -
Để chụp ảnh biển đẹp và độc đáo
4 trang 234 0 0 -
60 trang 233 1 0
-
Đồ án tốt nghiệp: Thiết kế nội thất khách sạn thuyền buồm
21 trang 198 0 0 -
Giáo trình hướng dẫn phân tích các thao tác cơ bản trong computer management p6
5 trang 196 0 0 -
43 trang 185 1 0