tailieunhanh - Đồ họa máy tính - Chương 2 Các phép biến đổi hình trên hệ toạ độ - Bài 9

Dán các đ-ờng cong Bezier 1. Dán các đ-ờng cong Bezier Giả sử trên đoạn [to,t1] đã xây dựng đ-ợc đ-ờng cong Bezier Q1(t) ?t?[to,t1] và trên đoạn [t1,t2] ta đã xây dựng đ-ợc đ-ờng cong Bezier Q2(t). Vấn đề là cần phải dán Q1 và Q2 để đ-ợc đ-ờng cong Q(t) t?[to,t2] sao cho Q(t) có đạo hàm ở mọi điểm t?[to,t2] Rõ ràng ta có: | Kỹ thuật Đổ hoạ máy tính 9. DÁN CÁC ĐƯỜNG CONG BEZIER 1. Dán các đường cong Bezier Giả sử trên đoạn to ti đã xây dựng được đường cong Bezier Qi t Vte to tị và trên đoạn ti t ta đã xây dựng được đường cong Bezier Q2 - Vấn đề là cần phải dán Q1 và Q2 để được đường cong Q t te to t-2 sao cho Q t có đạo hàm ở mọi Q t điểm te to t2 Rõ ràng ta có Q1 t t e t0 t Q2 t t e ti t2 Trên từng khoảng to tị ti t2 Q t là đa thức có đạo hàm ở mọi điểm. Vấn đề chỉ cần phải xét tại t ti Giả sử trên to tị ta có các điểm P0 P11 . P là các điểm cho trước của đường cong Bezier trên to tị và trên tpt2 ta có các điểm Pq P2 . P2 là các điểm cho trước của đường cong Bezier trên tpt2 ở đây P P2 Từ tính chất của đường cong Bezier ta có trên đoạn to tị Q1 t1 l - - P -1 At0 trên đoạn tpt2 Q2 t V -P02 At 1 Với Ato tpto Ati t2 ti - Để cho Q t có đạo hàm tại t1 thì Q1 t 1 Q 2 t 1 A P - pn-1 1 i - P02 Vì P Pq x điểm ứng với ti chia đoạn P - P P 2 theo tỉ số 0 điều At kiện là điều kiện để Q t có đạo hàm tại mọi t- Thực ra chúng ta chỉ cần P -1 P P 2 thẳng hàng 2. Thuật toán dán các đường cong Bezier bậc II Như ta đã biết đường cong Bezier bậc 2 chính là Parabol 48 Kỹ thuật Đổ hoạ máy tính Giả sử cho trước các điểm Po P1 n 3 ta phải vẽ một đường cong đi qua các điểm này sao cho ở mỗi đoạn PiPi 1 đường cong là một Parabol và đường cong phải tron bậc I có nghĩa là đường cong phải có đạo hàm ở tất cả các điểm. Dựa vào cách xây dựng đường cong Bezier ở trên chúng ta có thể xây dựng thuật toán để tạo u real xi yi array of real x y array of real m n array of real xdau Gd Gm t i j k l integer a1 b1 c s real f text ----------Ve he truc toa do--------- procedure khoitao begin Gd Detect InitGraph Gd Gm c tp bgi if GraphResult grOk then Halt 1 49 Kỹ thuật Đổ hoạ máy tính directvideo False setbkcolor l setcolor 14 setviewport getmaxX div 2 getmaxY div 2 getmaxX getmaxY false line -32O 0 319 0 line 319 0 310 -5 line 319 0 310 5 line 0 239 0 -240 line -5 -230 0 -240 line 5 -230 0 -240