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

  -  

Tài liệu Đồ họa máy tính - Các phép biến đổi trong đồ họa hai chiều: Đồ HỌA MÁY TÍNHc é c f i r ĩ ( i f ĩ rư ế iT ó r í fí r r ĩ r ĩ g n a \ ịC ì8 í i a r a í ĩ r ẩ r rr r• Bản chất của phép biến đổi hình học là thay đổi các mô tả về tọa độ của đôi tượng, từ đó làm đốì tượng thay đổ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,1 • 4 / ? » 1 2 1 Ạbiẽn đối tỉ ỉệ.C ác p h é p hiển, đ ổ i h ình , b.ọc cơ s ẻ• Một phép biến đổi điểm là một ánh xạ T :T : R 2 ->R2 P{x,y)\-^Q{x",ỳ)• Hay T là hàm số T(x,y) theo hai biến fey ):ịx"= f {x ,y )\y"= g(x,y)Dương Anh Đức, Lê Đình Duy Các phép biến dổi trong đồ họa 2 chiều 1/16Đồ HỌA MÁY TÍNH• Phép biến đổi affine là phép biến đổi với f{x>y) và ể{x>y) là các hàm tuyến t...




Bạn đang xem: Các phép biến đổi trong đồ họa 2 chiều

*
*



Xem thêm: Tranh Cãi Nảy Lửa Bxh Mỹ Nhân Đẹp Nhất Xứ Hàn: Song Hye Kyo, Son Ye Jin Lẹt Đẹt Ở Vị Trí Thấp, Ngôi Vương Lại Thuộc Về Một Cô Gái Sinh Năm 1999

Bạn đang xem nội dung tài liệu Đồ họa máy tính - Các phép biến đổi trong đồ họa hai chiều, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên


Xem thêm: Get Tro Choi Nau An - Game Nấu Ăn, Trò Chơi Nấu Ăn Hay Nhất

Đồ HỌA MÁY TÍNHc é c f i r ĩ ( i f ĩ rư ế iT ó r í fí r r ĩ r ĩ g n a \ ịC ì8 í i a r a í ĩ r ẩ r rr r• Bản chất của phép biến đổi hình học là thay đổi các mô tả về tọa độ của đôi tượng, từ đó làm đốì tượng thay đổ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,1 • 4 / ? » 1 2 1 Ạbiẽn đối tỉ ỉệ.C ác p h é p hiển, đ ổ i h ình , b.ọc cơ s ẻ• Một phép biến đổi điểm là một ánh xạ T :T : R 2 ->R2 P{x,y)\-^Q{x",ỳ)• Hay T là hàm số T(x,y) theo hai biến fey ):ịx"= f {x ,y )\y"= g(x,y)Dương Anh Đức, Lê Đình Duy Các phép biến dổi trong đồ họa 2 chiều 1/16Đồ HỌA MÁY TÍNH• Phép biến đổi affine là phép biến đổi với f{x>y) và ể{x>y) là các hàm tuyến tính. Phép biến đổi này có dạng :{ X = a x + cy + e; , a , b , c , d , e , f e R , a d - b c ± 0y = bx + dy + f• 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”J r ilß p w.Jjjj. t i .ế ĩl• 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 trx và try lần lượt là độ dời theo trục hoành và trục tung thì tọa độ của điểm mới Q(x",y") sau khi tịnh tiến điểm p{x>y) sẽ là :x "= x + trx y " = y + try ,Ì K > t r y ) được gọi là vector tịnh tiến hay vector độ dời.Dương Anh Đức, Lê Đình Duy Các phép biến dổi trong đồ họa 2 chiều 2/16Đồ HỌA MÁY TÍNH• Phép biến đổi tỉ lệ làm thay đổi kích thước đôi tượng. Để co hay giãn tọa độ của một điểm p(x,y)theo trục hoành và trục tung lần lượt là s x V ầ sy , ta nhân s x và s y lần lượt cho các tọa độ của p. ^ • • •/y’ — Q y ỏ ^y " = s .y , s x và s y được gọi là các hệ sô" tỉ lệ.• Khi các giá trị s x , s y 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ớn hơn 1, phép biến đổi sẽ phóng lớn đối tượng.• Khi s x , sy bằng nhau, ta gọi đó là phép đồng dạng (uniíbrm scaling), phép đồng dạng là phép biến đổi bả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ỏ đôi tượ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ẽ được dịch chuyển xa gốc tọa độ hơn.Dương Anh Đức, Lê Đình Duy Các phép biến dổi trong đồ họa 2 chiều 3/16Đồ HỌA MÁY TÍNH\Jh.é>j quay• 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 p(x >y) quanh gốc tọa độ một góc oc :Ịx"= cos(XJt - sin a.y Ịy = sina.x + cosa/yDương Anh Đức, Lê Đình Duy Các phép biến dổi trong đồ họa 2 chiều 4/16Đồ HỌA MÁY TÍNHJlậ tọa độ th.uể.n. nh.ấí;ỈT %• 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ệ (xhtyhth) không đồng thời bằng 0 và liên hệ với các tọa độ (*>:y) của điểm đó bởi công thức :• Nếu một điểm có tọa độ thuần nhất là z) thì nó cũng có tọa độ thuần nhất là {h.x,h.y,h.z) trong đó h là sô" thực khác 0 bất kì.• Mỗi điểm í >(*,;y) sẽ được biểu diễn dưới dạng tọa độ thuần nhất là (x> y X ) .Dương Anh Đức, Lê Đình Duy Các phép biến dổi trong đồ họa 2 chiều 5/16Đồ HỌA MÁY TÍNH.biểu" ỏ.iỄĩÂ. Tú.8. t r ậ n củs. cế.c p h .ép b iế n , d ổ iPhép tịnh tiến(*" y l) = (x 3/ 1 )./ 1 0 0 A 0 1 0Érx 1V y Jhay Q = T Ì K > try ) với M t(tr*>try)-1 0 0 0 1 0trx try 1Phép biến đổi tỉ lệ(*" y 1 ) = (* y 1 ).sx 0 00 0 0 0 1hay Q - P ‘M s ỉ.ết b.ợp các phép tinh. tiến.• Nếu ta thực hiện phép tịnh tiến lên p{x,y) đượ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 Q(x" ì y"). Như vậy, Q là ảnh của phép biến đổi kết hợp hai phép tịnh tiến liên tiếp M TÍsyi) và M S2(sx2,sy2) là :Q = \ P . M S1 (s3;1, S j )\.M S2 (sx2 , s 2 ) = P .{ M S1 (sx1 , s J ).M S2 , s 2 )}• Ta có :M S1 (S*1 > Syi )-MS2 {s x2 , sy 2 ) —"s*l 0 0" s x2 0 0"0 syi 0 0 S y 2 00 0 1 0 0 1V /VSjc1 -sx2 0 0"— 0 syl -sy2 00V 0 1hay : Msi (sxl > syl )-Ms2(sxVậ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ệ.Dương Anh Đức, Lê Đình Duy Các phép biến dổi trong đồ họa 2 chiều 8/16Đồ HỌA MÁY TÍNHKết b.ợp các pb.ép ợưs.ỵ• Tương tự, ta có tọa độ điểm Q(*",y) là điểm phát sinh sau khi kết hợp hai phép quay quanh gốc tọa độM Riia i) và R 2(p^ 2) là :Q = { P . M m ( a 1 ) } . M R 2 ( a 2 ) = P . { M R1 ( a ị ) . M r 2 ( a 2 ) }• Ta có :^RI 1 R2 2 ) —f COSOC! s i n a ! (T ( c o sa 2 s in a 2 0 "- sina-L c o s a 1 0 - s in a 2 c o s a 2 00V0 1V0 0 1/^ c o s ^ + o t g ) sin (a1 + a 2) 0 A - s in ( a 1 + a 2) c o s ^ + a g ) 00 0hay : -^iỉi(a i)~^iỉ2 (a 2 ) — +ct2 )• Vậy kết hợp hai phép quay quanh gốc tọa độ là một phép quay quanh gốc tọa độ. Từ đó dễ dàng suy ra kết hợp của nhiều phép quay quanh gốc tọa độ cũng là một phép quay quanh gốc tọa độ.Dương Anh Đức, Lê Đình Duy Các phép biến dổi trong đồ họa 2 chiều 9/16Đồ HỌA MÁY TÍNHJr"b.éjJ ạus.y có tế .m q.iJS.y I.S. đ iể m t ó t Id• Giả sử tâm quay có tọa độ i famyR) , ta có thể xem phép quay quanh tâm I một góc a đượ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 để dịch chuyểntâm quay về gốc tọa độ (đưa về trường hợp quay quanh gốc tọa độ).♦ Quay quanh gốc tọa độ một góc cc .♦ Tịnh tiến theo vector tịnh tiến để đưa tâm quayvề lại vị trí ban đầu.y " i v ủỊ/ \KxR,yR)- - - - - ► ----- - - - - - - ►(a) (b)• Ta có ma trận của phép biến đổi :Mr (^sJiỉ)a ) — Mt (— xR,—yR ).M ỊỊ (cc ).MT(xR,yR )f 1 0 0" cosa sin a 0"( 1 0 0"= 0 1 0 - s in a cosa 0 0 1 0- X r — y R 1/ V 0 0 1 yx R yR 1/r cosa sinoc cP- s in a cosa 0( l - c o s a ) x Ä + s in a .y Ä - sinocjcÄ + (l - cosa)yÄ 1Dương Anh Đức, Lê Đình Duy Các phép biến dổi trong đồ họa 2 chiều 10/16Đồ HỌA MÁY TÍNHMột 130 t ính chất cửa pb.ếp biến. dổi. affm.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 A và B.♦ Để 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 hình 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.Dương Anh Đức, Lê Đình Duy Các phép biến dổi trong đồ họa 2 chiều 11/16Đồ HỌA MÁY TÍNH}J h é > j ố . ổ i Z U Ĩ J . Í IPhép đôi xứng trục có thể xem là phép quay quanh trục đối xứng một góc 180°.M =Trục đôi xứng là trục hoành : Rfx00 - 1 00 0 1 ,V yTrục đối xứng là trục tung : ^ Rfy0 0 A 0 1 0 0 0 1.Irĩiếp biến, đạn.g• Phép biến dạng là phép biến đổi làm thay đổi, méo mó hình dạng của các đôi tượng.• Biến dạng theo phương trục X sẽ làm thay đổi hoành độ còn tung độ vẫn giữ nguyên : Mshx• Biến dạng theo phương trục y sẽ làm thay đổi tung"1 shyx 0độ còn hoành độ vẫn giữ nguyên : Mshy 0 1 00 0 1" 1 0 0"M Shx - S K 1 00V 0 1/Dương Anh Đức, Lê Đình Duy Các phép biến dổi trong đồ họa 2 chiều 12/16Đồ HỌA MÁY TÍNHJr*b.ép biến, d ổ i n g ư ợ cJ . o rPhé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à : Q - P M . 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 của ma trận M.Với giả th iết ban đầu về ma trận M là ad - b c ^ 0 , ta có công thức tính ma trận nghịch đảo M"1 củaf a b 0) ( d - b 0^- c a 0M = = ______ - ______là : ad - bcc f - de b e - a f 1Ma trận của các phép biến đổi ngược của các phép biến đổi cơ sở tịnh tiến, tỉ lệ, quay :100 0- K - try01= M T{-trx, - t r )M-S1{sx, sy ) = —.9 s1 y( 1— 0 0Co e o o «* / \1 1 10 0 = 0 — 0 = M S ĩsr s v0 0 1 y y )V > 0 0 1Vcosa - sina 0 sina cosa 0 0 0 1Dương Anh Đức, Lê Đình Duy Các phép biến dổi trong đồ họa 2 chiều 13/16Đồ HỌA MÁY TÍNHPb.ế.n. rẽ. p b . é p bj.6Jj. 0 .0 iMột phép biến dạng theo phương trục X có thể được phân rã thành tích của một phép biến đổi tỉ lệ và một phép biến dạng đơn vị, và với một phép biến đổi tỉ lệ khác theo công thức sau :( 1 \1 0 0 " s h xy0 0 "1 0 °ì Co s- ỉi 0 ° ìs h xy 1 0 — 0 1 0 1 1 0 0 1 00 0 1 0 0 1 0 0 1 0 0 1A /Phép biến dạng đơn vị còn có thể được phân rã tiếp :f 1 0 0" ^cosoc - s in a1 1 0 — sin a cosa0V0 1 0V 0(ị) 0 00 - 0y) bất kì trong hệ tọa độ (I)sẽ được biến đổi thành điểm Qia>b) trong hệ tọa độ(II). Vấn đề đặt ra ở đây là mối liên hệ giữa với x ,y ,M như th ế nào.• Người ta chứng minh được rằng Q - P M 1Dương Anh Đức, Lê Đình Duy Các phép biến dổi trong đồ họa 2 chiều 16/16