Đồ 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
Số trang: 10
Loại file: pdf
Dung lượng: 299.27 KB
Lượt xem: 9
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:
Dán các đ-ờng cong Bezier1. Dán các đ-ờng cong BezierGiả 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ó:
Nội dung trích xuất từ tài liệu:
Đồ 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 Kü thuËt §å ho¹ m¸y tÝnh $9. D¸n c¸c ®−êng cong Bezier 1. D¸n c¸c ®−êng cong BezierGi¶ 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¶id¸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ã: t ∈[ t 0 , t1] ⎧ Q1( t )Q( t ) = ⎨ t ∈ [ t1 , t 2 ] ⎩Q2 ( t )Trªn tõng kho¶ng [to,t1] (t1,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=t1 1 1 1Gi¶ sö trªn [to,t1] ta cã c¸c ®iÓm P0 , P1 , ... Pn lµ c¸c ®iÓm cho tr−íc cña ®−êng 2 2 2cong Bezier trªn [to,t1] vµ trªn (t1,t2) ta cã c¸c ®iÓm P0 , P1 , ... Pn lµ c¸c ®iÓmcho tr−íc cña ®−êng cong Bezier trªn (t1,t2) ë ®©y 1 2Pn = P0Tõ tÝnh chÊt cña ®−êng cong Bezier ta cã:trªn ®o¹n [to,t1]: n 1 1Q1 ( t 1 ) = ( Pn − Pn −1 ) (*) ′ Δt 0trªn ®o¹n [t1,t2]: n 2 2Q ′ ( t1 ) = ( P1 − P0 ) (**) 2 Δ t1Víi Δto =t1-to; Δt1=t2-t1 . §Ó cho Q(t) cã ®¹o hµm t¹i t1 th× Q 1 ( t 1 ) = Q ′ ( t 1 ) ′ 2 1 1 1 1 2 2⇒ ( Pn − Pn −1) = ( P1 − P0 ) (***) Δt 0 Δ t1 Δt 0 1 12 1 2V× Pn = P0 = x ⇒ ®iÓm øng víi t1 chia ®o¹n Pn −1 , Pn , P1 theo tØ sè ®iÒu Δt 1kiÖ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 1 12Pn −1 , Pn , P1 th¼ng hµng 2. ThuËt to¸n d¸n c¸c ®−êng cong Bezier bËc IINh− ta ®· biÕt ®−êng cong Bezier bËc 2 chÝnh lµ Parabol 48 Kü thuËt §å ho¹ m¸y tÝnhGi¶ sö cho tr−íc c¸c ®iÓm Po,P1,P2....Pn (n≥3), ta ph¶i vÏ mét ®−êng cong ®i quac¸c ®iÓm nµy sao cho ë mçi ®o¹n PiPi+1 ®−êng cong lµ mét Parabol vµ ®−êng congph¶i tr¬n 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µoc¸ch x©y dùng ®−êng cong Bezier ë trªn chóng ta cã thÓ x©y dùng thuËt to¸n ®Ó t¹onªn ®−êng cong tr¬n bËc I nh− sau: V =P , V =P , i=1 oo21 V1 lÊy bÊt kú VÏ ®−êng cong Bezier bËc 2 qua 3 ®iÓm Vo,V1,V2 S i Kü thuËt §å ho¹ m¸y tÝnh directvideo:=False; setbkcolor(1); setcolor(14); setviewport(getmaxX div 2,getmaxY div 2,getmaxX,getmaxY,false); line(-320,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); outtextxy(-10,-10,O); outtextxy(305,10,x); outtextxy(10,-230,y);end;(*************************************************){thu tuc ve duong cong tron theo thuat toan CASTELJAU}PROCEDURE ve;Var i,j : integer; BEGIN moveto(round(x[0]),round(y[0])); for i:=0 to 2 do Begin yi[i,0]:=y[i]; xi[i,0]:=x[i]; End; u:=0; while u Kü thuËt §å ho¹ m¸y tÝnhBEGIN l:=6; m[0]:=-90; n[0]:=100; m[1]:=-60; n[1]:=60; m[2]:=-40; n[2]:=70; m[3]:=0; n[3]:=10; m[4]:=60; n[4]:=140; m[5]:=160; n[5]:=120; m[6]:=260; n[6]:=220; khoitao; i:=0; x[0]:=m[i]; y[0]:=n[i]; i:=i+1; x[2]:=m[i]; y[2]:=n[i]; circle(round(x[2]),round(y[2]),2); x[1]:=x[2]-15;y[1]:=y[2]-15; circle(round(x[0]),round(y[0]),2); circle(round(x[2]),round(y[2]),2); ve; while i Kü thuËt §å ho¹ m¸y tÝnhti, ti+1,] sau ®ã d¸n chóng l¹i, chØ cã kh¸c lµ ta sÏ x©y dùng sao cho Q (ti)=Pi∀i=0,1,...,n ThuËt to¸n nh− sau:1. i=12. Qua Pi-1, Pi, Pi+1 sÏ cã parabol ®i qua ba ®iÓm nµy3. Parabol nµy sÏ cã tiÕp tuyÕn Si t¹i Pi lµ : Si=(1-αi)Ci-1+αiCi víi Ci-1=(Pi-Pi-1)/(ti-ti-1) Ci=(Pi+1-Pi)/(ti+1-ti) αi=(ti+1-ti)/(ti+1-ti-1)ta cho i=0 : S0=2(C0-S1), cho i=n : Sn=2Cn-1-Sn-14. Trªn Si lÊy Pi-1/3, Pi+1/3, Sao cho Pi-1/3=Pi-1+1/3*(ti-1- ti-2) Si-1 Pi+1/3,=Pi-1/3*(ti-ti-1) Si5. Coi Pi-1 , Pi-1/3 , Pi+1/3 , Pi+1 ®ãng vai trß lµ V0,V1,V2,V3 ®Ó vÏ ®−êng congBezier bËc III qua 4 ®iÓm (vµ ®−êng cong nµy ®¶m b¶o ®i qua Pi)6. i=i+17. KiÓm tra xem i>n hay ch−a nÕu ch−a quay l¹i b−íc 28. K ...
Nội dung trích xuất từ tài liệu:
Đồ 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 Kü thuËt §å ho¹ m¸y tÝnh $9. D¸n c¸c ®−êng cong Bezier 1. D¸n c¸c ®−êng cong BezierGi¶ 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¶id¸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ã: t ∈[ t 0 , t1] ⎧ Q1( t )Q( t ) = ⎨ t ∈ [ t1 , t 2 ] ⎩Q2 ( t )Trªn tõng kho¶ng [to,t1] (t1,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=t1 1 1 1Gi¶ sö trªn [to,t1] ta cã c¸c ®iÓm P0 , P1 , ... Pn lµ c¸c ®iÓm cho tr−íc cña ®−êng 2 2 2cong Bezier trªn [to,t1] vµ trªn (t1,t2) ta cã c¸c ®iÓm P0 , P1 , ... Pn lµ c¸c ®iÓmcho tr−íc cña ®−êng cong Bezier trªn (t1,t2) ë ®©y 1 2Pn = P0Tõ tÝnh chÊt cña ®−êng cong Bezier ta cã:trªn ®o¹n [to,t1]: n 1 1Q1 ( t 1 ) = ( Pn − Pn −1 ) (*) ′ Δt 0trªn ®o¹n [t1,t2]: n 2 2Q ′ ( t1 ) = ( P1 − P0 ) (**) 2 Δ t1Víi Δto =t1-to; Δt1=t2-t1 . §Ó cho Q(t) cã ®¹o hµm t¹i t1 th× Q 1 ( t 1 ) = Q ′ ( t 1 ) ′ 2 1 1 1 1 2 2⇒ ( Pn − Pn −1) = ( P1 − P0 ) (***) Δt 0 Δ t1 Δt 0 1 12 1 2V× Pn = P0 = x ⇒ ®iÓm øng víi t1 chia ®o¹n Pn −1 , Pn , P1 theo tØ sè ®iÒu Δt 1kiÖ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 1 12Pn −1 , Pn , P1 th¼ng hµng 2. ThuËt to¸n d¸n c¸c ®−êng cong Bezier bËc IINh− ta ®· biÕt ®−êng cong Bezier bËc 2 chÝnh lµ Parabol 48 Kü thuËt §å ho¹ m¸y tÝnhGi¶ sö cho tr−íc c¸c ®iÓm Po,P1,P2....Pn (n≥3), ta ph¶i vÏ mét ®−êng cong ®i quac¸c ®iÓm nµy sao cho ë mçi ®o¹n PiPi+1 ®−êng cong lµ mét Parabol vµ ®−êng congph¶i tr¬n 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µoc¸ch x©y dùng ®−êng cong Bezier ë trªn chóng ta cã thÓ x©y dùng thuËt to¸n ®Ó t¹onªn ®−êng cong tr¬n bËc I nh− sau: V =P , V =P , i=1 oo21 V1 lÊy bÊt kú VÏ ®−êng cong Bezier bËc 2 qua 3 ®iÓm Vo,V1,V2 S i Kü thuËt §å ho¹ m¸y tÝnh directvideo:=False; setbkcolor(1); setcolor(14); setviewport(getmaxX div 2,getmaxY div 2,getmaxX,getmaxY,false); line(-320,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); outtextxy(-10,-10,O); outtextxy(305,10,x); outtextxy(10,-230,y);end;(*************************************************){thu tuc ve duong cong tron theo thuat toan CASTELJAU}PROCEDURE ve;Var i,j : integer; BEGIN moveto(round(x[0]),round(y[0])); for i:=0 to 2 do Begin yi[i,0]:=y[i]; xi[i,0]:=x[i]; End; u:=0; while u Kü thuËt §å ho¹ m¸y tÝnhBEGIN l:=6; m[0]:=-90; n[0]:=100; m[1]:=-60; n[1]:=60; m[2]:=-40; n[2]:=70; m[3]:=0; n[3]:=10; m[4]:=60; n[4]:=140; m[5]:=160; n[5]:=120; m[6]:=260; n[6]:=220; khoitao; i:=0; x[0]:=m[i]; y[0]:=n[i]; i:=i+1; x[2]:=m[i]; y[2]:=n[i]; circle(round(x[2]),round(y[2]),2); x[1]:=x[2]-15;y[1]:=y[2]-15; circle(round(x[0]),round(y[0]),2); circle(round(x[2]),round(y[2]),2); ve; while i Kü thuËt §å ho¹ m¸y tÝnhti, ti+1,] sau ®ã d¸n chóng l¹i, chØ cã kh¸c lµ ta sÏ x©y dùng sao cho Q (ti)=Pi∀i=0,1,...,n ThuËt to¸n nh− sau:1. i=12. Qua Pi-1, Pi, Pi+1 sÏ cã parabol ®i qua ba ®iÓm nµy3. Parabol nµy sÏ cã tiÕp tuyÕn Si t¹i Pi lµ : Si=(1-αi)Ci-1+αiCi víi Ci-1=(Pi-Pi-1)/(ti-ti-1) Ci=(Pi+1-Pi)/(ti+1-ti) αi=(ti+1-ti)/(ti+1-ti-1)ta cho i=0 : S0=2(C0-S1), cho i=n : Sn=2Cn-1-Sn-14. Trªn Si lÊy Pi-1/3, Pi+1/3, Sao cho Pi-1/3=Pi-1+1/3*(ti-1- ti-2) Si-1 Pi+1/3,=Pi-1/3*(ti-ti-1) Si5. Coi Pi-1 , Pi-1/3 , Pi+1/3 , Pi+1 ®ãng vai trß lµ V0,V1,V2,V3 ®Ó vÏ ®−êng congBezier bËc III qua 4 ®iÓm (vµ ®−êng cong nµy ®¶m b¶o ®i qua Pi)6. i=i+17. KiÓm tra xem i>n hay ch−a nÕu ch−a quay l¹i b−íc 28. K ...
Tìm kiếm theo từ khóa liên quan:
đồ họa máy tính giáo trình đồ họa xử lý ảnh màn hình máy vi tính kỹ thuật đồ họaGợi ý tài liệu liên quan:
-
Phương pháp truyền dữ liệu giữa hai điện thoại thông minh qua môi trường ánh sáng nhìn thấy
6 trang 308 0 0 -
Đồ án: Kỹ thuật xử lý ảnh sử dụng biến đổi Wavelet
41 trang 212 0 0 -
Xây dựng công cụ nhận dạng khuôn mặt theo thời gian thực hiện trên nền hệ điều hành mã nguồn mỡ
7 trang 204 0 0 -
Đồ án tốt nghiệp: Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩm
123 trang 196 0 0 -
vray for sketchup vietnamese PHẦN 3
10 trang 195 0 0 -
Giáo trình Autocad - Nghề: Quản trị mạng máy tính - Trình độ: Cao đẳng nghề (Phần 2)
52 trang 186 0 0 -
Đề cương chi tiết môn học Kỹ thuật đồ họa và xử lý ảnh
5 trang 171 1 0 -
Luận văn tốt nghiệp: Tìm hiểu về SIMULINK trong MATLAB
50 trang 150 0 0 -
Giáo trình CorelDRAW dành cho người mới học
48 trang 134 0 0 -
Bài giảng Đồ họa máy tính: Khử mặt khuất - Ngô Quốc Việt
28 trang 119 0 0