Các phép biến đổi trong đồ họa hai chiều

16 275 1
Tài liệu đã được kiểm tra trùng lặp
Các phép biến đổi trong đồ họa hai chiều

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Các phép biến đổi trong đồ họa hai chiều

ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Các phép biến đổi trong đồ họa 2 chiều 1/16CCaáùcc pphheéùpp bbiieếánn đđoổåiittrroonngg đđoồà hhoọïaa hhaaii cchhiieềàuuDDaẫãnn nnhhaậäpp• Bản chất của phép biến đổi hình học là thay đổi cácmô tả về tọa độ của đối tượng, từ đó làm đối tượngthay đổi về hướng, kích thước, hình dạng.• Có hai quan điểm về phép biến đổi hình học, đó là:♦ Biến đổi đối tượng : thay đổi tọa độ của các điểm mô tảđối tượng theo một qui tắc nào đó.♦ Biến đổi hệ tọa độ : tạo ra một hệ tọa độ mới và tất cảcác điểm mô tả đối tượng sẽ được chuyển về hệ tọa độmới.• Các phép biến đổi hình học cơ sở : tònh tiến, quay,biến đổi tỉ lệ.CCaáùcc pphheéùpp bbiieếánn đđoổåii hhììnnhh hhoọïcc ccơơ ssơởû• Một phép biến đổi điểm là một ánh xạ T :( ) ( )',',:22yxQyxPRRTa→• Hay T là hàm số ( )yxT , theo hai biến ( )yx,:( )( )==yxgyyxfx,',' ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Các phép biến đổi trong đồ họa 2 chiều 2/16• Phép biến đổi affine là phép biến đổi với ( )yxf , và( )yxg , là các hàm tuyến tính. Phép biến đổi này códạng :0,,,,,,, ''≠−∈++=++=bcadRfedcbafdybxyecyaxx• Ta chỉ khảo sát các phép biến đổi affine, nên sẽdùng cụm từ “phép biến đổi” thay cho “phép biến đổiaffine”PPhheéùpp ttòònnhh ttiieếánn• Phép tònh tiến dùng để dòch chuyển đối tượng từ vòtrí này sang vò trí khác.• Nếu gọi xtr và ytr lần lượt là độ dời theo trục hoànhvà trục tung thì tọa độ của điểm mới ( )',' yxQ sau khitònh tiến điểm ( )yxP , sẽ là :+=+=yxtryytrxx'',( )yxtrtr , được gọi là vector tònh tiến hay vector độ dời.PxyQtrxtry(a)yx(2,3) (4,3)(6,1) (8,1)(b) ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Các phép biến đổi trong đồ họa 2 chiều 3/16PPhheéùpp bbiieếánn đđoổåii ttỉỉ lleệä• Phép biến đổi tỉ lệ làm thay đổi kích thước đốitượng. Để co hay giãn tọa độ của một điểm ( )yxP ,theo trục hoành và trục tung lần lượt là xsvà ys, tanhânxs và ys lần lượt cho các tọa độ của P.==ysyxsxyx.'.' ,xs và ys được gọi là các hệ số tỉ lệ.• Khi các giá trò xs , ys nhỏ hơn 1, phép biến đổi sẽthu nhỏ đối tượng, ngược lại khi các giá trò này lớnhơn 1, phép biến đổi sẽ phóng lớn đối tượng.• Khi xs , ys bằng nhau, ta gọi đóphép đồng dạng(uniform scaling), phép đồng dạng là phép biến đổibảo toàn tính cân xứng của đối tượng.• Tâm tỉ lệ là điểm không bò thay đổi qua phép biếnđổi tỉ lệ.• Nhận xét rằng khi phép biến đổi tỉ lệ thu nhỏ đốitượng, đối tượng sẽ được dời về gần gốc tọa độ hơn,tương tự khi phóng lớn đối tượng, đối tượng sẽ đượcdòch chuyển xa gốc tọa độ hơn.yx(2,3) (4,3)(10,1.5)(5,1.5) ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Các phép biến đổi trong đồ họa 2 chiều 4/16PPhheéùpp qquuaayy• Phép quay làm thay đổi hướng của đối tượng.• Một phép quay đòi hỏi phải có tâm quay, góc quay.Góc quay dương thường được quy ước là chiều ngượcchiều kim đồng hồ. Ta có công thức biến đổi củaphép quay điểm ( )yxP , quanh gốc tọa độ một góc α:+=−=yxyyxx.cos.sin'.sin.cos'ααααyx ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Các phép biến đổi trong đồ họa 2 chiều 5/16HHeệä ttoọïaa đđoộä tthhuuaầànn nnhhaấátt• Tọa độ thuần nhất của một điểm trên mặt phẳngđược biểu diễn bằng bộ ba số tỉ lệ ( )hyxhh,, khôngđồng thời bằng 0 và liên hệ với các tọa độ ( )yx, củiểm đó bởi công thức :hyyhxxhh== ,• Nếu một điểm có tọa độ thuần nhất là ( )zyx ,, thì nócũng có tọa độ thuần nhất là ( )zhyhxh .,.,. trong đó hlà số thực khác 0 bất kì.• Mỗi điểm ( )yxP , sẽ được biểu diễn dưới dạng tọa độthuần nhất là ( )1,, yx. ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Các phép biến đổi trong đồ họa 2 chiều 6/16BBiieểåuu ddiieễãnn mmaa ttrraậänn ccuủûaa ccaáùcc pphheéùpp bbiieếánn đđoổåii• Phép tònh tiến( ) ( )=1010001.11''yxtrtryxyxhay ( )yxTtrtrMPQ ,.= với ( )=1010001,yxyxTtrtrtrtrM• Phép biến đổi tỉ lệ( ) ( )=1000000.11''yxssyxyxhay ( )yxSssMPQ ,.= với ( )=1000000,yxyxSssssM• Phép quay quanh gốc tọa độ( ) ( )−=1000cossin0sincos.11'' ααααyxyxhay ( )αRMPQ .= với ( )−=1000cossin0sincosαααααRM ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Các phép biến đổi trong đồ họa 2 chiều 7/16KKeếátt hhơợïpp ccaáùcc pphheéùpp bbiieếánn đđoổåii• Quá trình áp dụng các phép biến đổi liên tiếp để tạonên một phép biến đổi tổng thể được gọi là sự kếthợp các phép biến đổi (composing transformation)KKeếátt hhơợïpp ccaáùcc pphheéùpp ttòònnhh ttiieếánn• Nếu ta thực hiện phép tònh tiến lên ( )yxP , được P’ ,rồi lại thực hiện tiếp một phép tònh tiến khác lên P’,ta được điểm ( )',' yxQ. Như vậy, Q là ảnh của phépbiến đổi kết hợp hai phép tònh tiến liên tiếp( )111,yxTtrtrM và ( )222,yxTtrtrM có tọa độ :( ){ } ( ) ( ) ( ){ }222111222111,.,.,.,.yxTyxTyxTyxTtrtrMtrtrMPtrtrMtrtrMPQ ==• Ta có :( ) ( )=1010001.1010001,.,2211222111yxyxyxTyxTtrtrtrtrtrtrMtrtrM++=10100012121 yyxxtrtrtrtrhay : ( ) ( ) ( )2121222111,,.,yyxxTyxTyxTtrtrtrtrMtrtrMtrtrM ++=• Vậy kết hợp hai phép tònh tiến là một phép tònhtiến. Từ đó ta có kết hợp của nhiều phép tònh tiếncũng là một phép tònh tiến. ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Các phép biến đổi trong đồ họa 2 chiều 8/16KKeếátt hhơợïpp ccaáùcc pphheéùpp bbiieếánn đđoổåii ttỉỉ lleệä• Tương tự như phép tònh tiến, ta có tọa độ điểm( )',' yxQ là điểm có được sau khi kết hợp hai phép tỉlệ ( )111,yxSssM và ( )222,yxSssM là :( ){ } ( ) ( ) ( ){ }222111222111,.,.,.,.yxSyxSyxSyxSssMssMPssMssMPQ ==• Ta có :( ) ( )=1000000.1000000,.,2211222111 yxyxyxSyxSssssssMssM=1000.000.2121yyxxsssshay : ( ) ( ) ( )2121222111.,.,.,yyxxSyxSyxSssssMssMssM =• Vậy kết hợp hai phép tỉ lệ là một phép tỉ lệ. Dễdàng mở rộng cho kết quả : kết hợp của nhiều phéptỉ lệ cũng là một phép tỉ lệ. ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Các phép biến đổi trong đồ họa 2 chiều 9/16KKeếátt hhơợïpp ccaáùcc pphheéùpp qquuaayy• Tương tự, ta có tọa độ điểm ( )',' yxQ là điểm phátsinh sau khi kết hợp hai phép quay quanh gốc tọa độ( )11αRM và ( )22αRM là :( ){ } ( ) ( ) ( ){ }22112211 ααααRRRRMMPMMPQ ==• Ta có :( ) ( )−−=1000cossin0sincos.1000cossin0sincos.222211112211ααααααααααRRMM( ) ( )( ) ( )++−++=1000cossin0sincos21212121ααααααααhay : ( ) ( ) ( )212211. αααα +=RRRMMM• Vậy kết hợp hai phép quay quanh gốc tọa độ là mộtphép quay quanh gốc tọa độ. Từ đó dễ dàng suy rakết hợp của nhiều phép quay quanh gốc tọa độ cũnglà một phép quay quanh gốc tọa độ. ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Các phép biến đổi trong đồ họa 2 chiều 10/16PPhheéùpp qquuaayy ccoóù ttaââmm qquuaayy llaàø đđiieểåmm bbaấátt kkìì• Giả sử tâm quay có tọa độ ( )RRyxI ,, ta có thể xemphép quay quanh tâm I một gócα được kết hợp từcác phép biến đổi cơ sở sau :♦ Tònh tiến theo vector tònh tiến ( )RRyx −− , để dòch chuyểntâm quay về gốc tọa độ (đưa về trường hợp quay quanhgốc tọa độ).♦ Quay quanh gốc tọa độ một góc α.♦ Tònh tiến theo vector tònh tiến ( )RRyx , để đưa tâm quayvề lại vò trí ban đầu.• Ta có ma trận của phép biến đổi :( ) ( ) ( ) ( )RRTRRRTRRRyxMMyxMyxM , ,,, αα −−=−−−=1010001.1000cossin0sincos.1010001RRRRyxyxαααα( ) ( )−+−+−−=1cos1.sin.sincos10cossin0sincosRRRRyxyx ααααααααxyxyαxyI(xR,yR)xyI(xR,yR)(a) (b) (c) (d) [...]... HỌA MÁY TÍNH Dương Anh Đức, Lê Đình Duy Các phép biến đổi trong đồ họa 2 chiều 13/16 P P h h e e ù ù p p b b i i e e á á n n đ đ o o å å i i n n g g ư ư ơ ơ ï ï c c • Phép biến đổi ngược dùng để undo một phép biến đổi đã thực hiện. • Q là ảnh của P qua phép biến đổi T có ma trận biến đổi M là : PMQ = , nên phép biến đổi ngược T -1 sẽ có ma trận biến đổi là M -1 với M -1 là ma trận nghịch đảo... kì trong hệ tọa độ (I) sẽ được biến đổi thành điểm ( ) baQ , trong hệ tọa độ (II). Vấn đề đặt ra ở đây là mối liên hệ giữa ba, với Myx ,, như thế nào. • Người ta chứng minh được rằng 1− = PMQ P O i j O' u v ĐỒ HỌA MÁY TÍNH Dương Anh Đức, Lê Đình Duy Các phép biến đổi trong đồ họa 2 chiều 2/16 • Phép biến đổi affine là phép biến đổi với ( ) yxf , và ( ) yxg , là các hàm tuyến tính. Phép. .. Vậy kết hợp hai phép tỉ lệ là một phép tỉ lệ. Dễ dàng mở rộng cho kết quả : kết hợp của nhiều phép tỉ lệ cũng là một phép tỉ lệ. ĐỒ HỌA MÁY TÍNH Dương Anh Đức, Lê Đình Duy Các phép biến đổi trong đồ họa 2 chiều 16/16 • Giả sử ta có hệ tọa độ (I) có gốc tọa độ O và các vector đơn vị lần lượt là ji, . Hệ tọa độ (II) là ảnh của hệ tọa độ (I) qua phép biến đổi T(M), có gốc tọa độ là O’ và các vector đơn... dời. P x y Q tr x tr y (a) y x (2,3) (4,3) (6,1) (8,1) (b) ĐỒ HỌA MÁY TÍNH Dương Anh Đức, Lê Đình Duy Các phép biến đổi trong đồ họa 2 chiều 4/16 P P h h e e ù ù p p q q u u a a y y • Phép quay làm thay đổi hướng của đối tượng. • Một phép quay đòi hỏi phải có tâm quay, góc quay. Góc quay dương thường được quy ước là chiều ngược chiều kim đồng hồ. Ta có công thức biến đổi của phép quay điểm ( ) yxP , quanh gốc tọa... α :    += −= yxy yxx .cos.sin' .sin.cos' αα αα y x ĐỒ HỌA MÁY TÍNH Dương Anh Đức, Lê Đình Duy Các phép biến đổi trong đồ họa 2 chiều 10/16 P P h h e e ù ù p p q q u u a a y y c c o o ù ù t t a a â â m m q q u u a a y y l l a a ø ø đ đ i i e e å å m m b b a a á á t t k k ì ì • Giả sử tâm quay có tọa độ ( ) RR yxI , , ta có thể xem phép quay quanh tâm I một góc α được kết hợp từ các phép biến đổi cơ sở sau... biến đổi trong đồ họa 2 chiều 11/16 M M o o ä ä t t s s o o á á t t í í n n h h c c h h a a á á t t c c u u û û a a p p h h e e ù ù p p b b i i e e á á n n đ đ o o å å i i a a f f f f i i n n e e • Bảo toàn đường thẳng : ảnh của đường thẳng qua phép biến đổi affine là đường thẳng. ♦ Để biến đổi một đoạn thẳng qua hai điểm A và B, chỉ cần thực hiện phép biến đổi cho...ĐỒ HỌA MÁY TÍNH Dương Anh Đức, Lê Đình Duy Các phép biến đổi trong đồ họa 2 chiều 8/16 K K e e á á t t h h ơ ơ ï ï p p c c a a ù ù c c p p h h e e ù ù p p b b i i e e á á n n đ đ o o å å i i t t ỉ ỉ l l e e ä ä • Tương tự như phép tịnh tiến, ta có tọa độ điểm ( ) ',' yxQ là điểm có được sau khi kết hợp hai phép tỉ lệ ( ) 111 , yxS ssM ... Để biến đổi một đa giác, chỉ cần thực hiện phép biến đổi đối với các đỉnh của đa giác. • Bảo toàn tính song song : ảnh của hai đường thẳng song song là song song. ♦ Ảnh của các hình vuông, hình chữ nhật, hình thoi, hình bình hành sau phép biến đổi là hình bình hành. • Bảo toàn tính tỉ lệ về khoảng cách : Nếu điểm C chia đoạn AB theo tỉ số t thì ảnh của C cũng sẽ chia ảnh của đoạn AB theo tỉ số t. ♦ Trong. .. biến đổi với ( ) yxf , và ( ) yxg , là các hàm tuyến tính. Phép biến đổi này có dạng : 0,,,,,,, ' ' ≠−∈    ++= ++= bcadRfedcba fdybxy ecyaxx • Ta chỉ khảo sát các phép biến đổi affine, nên sẽ dùng cụm từ phép biến đổi thay cho phép biến đổi affine” P P h h e e ù ù p p t t ị ị n n h h t t i i e e á á n n • Phép tịnh tiến dùng để dịch chuyển đối tượng từ vị trí này sang vị... vuông, các đường chéo cắt nhau tại trung điểm của mỗi đường nên các đường chéo của bất kì hình bình hành nào cũng cắt nhau tại trung điểm của mỗi đường. ♦ Trong tam giác đều, giao điểm của ba đường trung tuyến chia mỗi đường theo tỉ số 1:2. Do ảnh của tam giác đều qua phép biến đổi affine là một tam giác nên giao điểm của các đường trung tuyến trong một tam giác cũng sẽ chia chúng theo tỉ lệ 1:2. ĐỒ HỌA . )==yxgyyxfx,',' ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Các phép biến đổi trong đồ họa 2 chiều 2/16• Phép biến đổi affine là phép biến đổi với ( )yxf. (8,1)(b) ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Các phép biến đổi trong đồ họa 2 chiều 3/16PPhheéùpp bbiieếánn đđoổåii ttỉỉ lleệä• Phép biến đổi tỉ

Ngày đăng: 05/09/2012, 15:51

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan