Thuật toán Casteljau

Một phần của tài liệu giáo trình đồ họa máy tính (Trang 46 - 47)

2. Phép chiếu song song

6.1.1.Thuật toán Casteljau

Để 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ạng củ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ội suy 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ày bằ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 P01 và 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.

Một phần của tài liệu giáo trình đồ họa máy tính (Trang 46 - 47)