Đồ họa máy tính - Các phép biến đổi trong đồ họa hai chiều
Dẫ n nhập
· 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 đối 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,
biến đổi tỉ lệ.
á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ép biến đổi kết hợp hai phép tịnh tiến liên tiếp ( )111 , yxT trtrM và ( )222 , yxT trtrM có tọa độ : ( ){ } ( ) ( ) ( ){ }222111222111 ,.,.,.,. yxTyxTyxTyxT trtrMtrtrMPtrtrMtrtrMPQ == · Ta có : ( ) ( ) ÷ ÷ ÷ ø ư ç ç ç è ỉ ÷ ÷ ÷ ø ư ç ç ç è ỉ = 1 010 001 . 1 010 001 ,., 2211 222111 yxyx yxTyxT trtrtrtr trtrMtrtrM ÷ ÷ ÷ ø ư ç ç ç è ỉ ++ = 1 010 001 2121 yyxx trtrtrtr hay : ( ) ( ) ( )2121222111 ,,., yyxxTyxTyxT trtrtrtrMtrtrMtrtrM ++= · Vậy kết hợp hai phép tịnh tiến là một phép tịnh tiến. Từ đó ta có kết hợp của nhiều phép tịnh tiến cũng là một phép tịnh tiến. ĐỒ 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ếát hợïp cáùc phéùp biếán đổåi tỉ lệä · 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 và ( )222 , yxS ssM là : ( ){ } ( ) ( ) ( ){ }222111222111 ,.,.,.,. yxSyxSyxSyxS ssMssMPssMssMPQ == · Ta có : ( ) ( ) ÷ ÷ ÷ ø ư ç ç ç è ỉ ÷ ÷ ÷ ø ư ç ç ç è ỉ = 100 00 00 . 100 00 00 ,., 2 2 1 1 222111 y x y x yxSyxS s s s s ssMssM ÷ ÷ ÷ ø ư ç ç ç è ỉ = 100 0.0 00. 21 21 yy xx ss ss hay : ( ) ( ) ( )2121222111 .,.,., yyxxSyxSyxS ssssMssMssM = · 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 9/16 Kếát hợïp cáùc phéùp quay · Tương tự, ta có tọa độ điểm ( )',' yxQ là điểm phát sinh sau khi kết hợp hai phép quay quanh gốc tọa độ ( )11 aRM và ( )22 aRM là : ( ){ } ( ) ( ) ( ){ }22112211 .... aaaa RRRR MMPMMPQ == · Ta có : ( ) ( ) ÷ ÷ ÷ ø ư ç ç ç è ỉ - ÷ ÷ ÷ ø ư ç ç ç è ỉ -= 100 0cossin 0sincos . 100 0cossin 0sincos . 22 22 11 11 2211 aa aa aa aa aa RR MM ( ) ( ) ( ) ( ) ÷ ÷ ÷ ø ư ç ç ç è ỉ ++- ++ = 100 0cossin 0sincos 2121 2121 aaaa aaaa hay : ( ) ( ) ( )212211 . aaaa += RRR MMM · 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 độ. ĐỒ 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 Phéùp quay cóù tââm quay làø điểåm bấát 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óca đượ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 ( )RR yx -- , để dịch chuyển tâ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 a . ¨ Tịnh tiến theo vector tịnh tiến ( )RR yx , để đưa tâm quay về lại vị trí ban đầu. · Ta có ma trận của phép biến đổi : ( ) ( ) ( ) ( )RRTRRRTRRR yxMMyxMyxM ,..,,, aa --= ÷ ÷ ÷ ø ư ç ç ç è ỉ ÷ ÷ ÷ ø ư ç ç ç è ỉ - ÷ ÷ ÷ ø ư ç ç ç è ỉ -- = 1 010 001 . 100 0cossin 0sincos . 1 010 001 RRRR yxyx aa aa ( ) ( ) ÷ ÷ ÷ ø ư ç ç ç è ỉ -+-+- -= 1cos1.sin.sincos1 0cossin 0sincos RRRR yxyx aaaa aa aa x y x y a x y I(xR,yR) x y I(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 11/16 Mộät sốá tính chấát củûa phéùp biếán đổåi affine · 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. ĐỒ 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 12/16 Phéùp đốái xứùng · Phép đối xứng trục có thể xem là phép quay quanh trục đối xứng một góc 1800. · Trục đối xứng là trục hoành : ÷ ÷ ÷ ø ư ç ç ç è ỉ -= 100 010 001 RfxM · Trục đối xứng là trục tung : ÷ ÷ ÷ ø ư ç ç ç è ỉ- = 100 010 001 RfyM Phéùp biếán dạïng · 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 : ÷ ÷ ÷ ø ư ç ç ç è ỉ = 100 01 001 xyShx shM · Biến dạng theo phương trục y sẽ làm thay đổi tung độ còn hoành độ vẫn giữ nguyên : ÷ ÷ ÷ ø ư ç ç ç è ỉ = 100 010 01 yx Shy sh M x y (1,1) (3,1) (3,3)(1,3) (4,1) (6,1) (12,3)(10,3) ĐỒ 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 Phéùp biếán đổåi ngượï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 của ma trận M. · Với giả thiết ban đầu về ma trận M là 0¹- bcad , ta có công thức tính ma trận nghịch đảo M-1 của ÷ ÷ ÷ ø ư ç ç ç è ỉ = 1 0 0 fe dc ba M là : ÷ ÷ ÷ ø ư ç ç ç è ỉ -- - - - =- 1 0 0 11 afbedecf ac bd bcad M · Ma 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 : ( ) ( )yxT yx yxT trtrM trtr trtrM --= ÷ ÷ ÷ ø ư ç ç ç è ỉ -- =- , 1 010 001 ,1 ( ) ÷÷ ø ư ç ç è ỉ = ÷ ÷ ÷ ÷ ÷ ÷ ÷ ø ư ç ç ç ç ç ç ç è ỉ = ÷ ÷ ÷ ø ư ç ç ç è ỉ =- yx S y x x y yx yxS ss M s s s s ss ssM 1,1 100 010 001 100 00 00 1,1 ( ) ( )aaa aa a -= ÷ ÷ ÷ ø ư ç ç ç è ỉ - =- RR MM 100 0cossin 0sincos 1 ĐỒ 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 14/16 Phâân rãõ phéùp biếán đổåi · Mộ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 : ÷ ÷ ÷ ø ư ç ç ç è ỉ ÷ ÷ ÷ ø ư ç ç ç è ỉ ÷÷ ÷ ÷ ÷ ÷ ø ư çç ç ç ç ç è ỉ = ÷ ÷ ÷ ø ư ç ç ç è ỉ 100 010 00 100 011 001 100 010 001 100 01 001 xyxy xy shsh sh · Phép biến dạng đơn vị còn có thể được phân rã tiếp : ÷ ÷ ÷ ø ư ç ç ç è ỉ - ÷ ÷ ÷ ÷ ø ư ç ç ç ç è ỉ ÷ ÷ ÷ ø ư ç ç ç è ỉ - = ÷ ÷ ÷ ø ư ç ç ç è ỉ 100 0cossin 0sincos 100 010 00 100 0cossin 0sincos 100 011 001 bb bb f f aa aa trong đó ( ) ï ỵ ï í ì =÷÷ ø ư çç è ỉ = == - - 01 01 72.311tan 28.58tan f b fa · Từ đó, một phép biến đổi bất kì có thể được phân rã thành các phép biến đổi cơ sở sau : ÷ ÷ ÷ ø ư ç ç ç è ỉ ÷÷ ÷ ÷ ÷ ÷ ÷ ø ư çç ç ç ç ç ç è ỉ - ÷ ÷ ÷ ÷ ø ư ç ç ç ç è ỉ - ÷ ÷ ÷ ÷ ø ư ç ç ç ç è ỉ + = ÷ ÷ ÷ ø ư ç ç ç è ỉ 1 010 001 100 0 0 100 00 00 100 01 001 1 0 0 2 fe Q a Q b Q b Q a Q bcad Q Q bdac fe dc ba trong đó 222 baQ += · Suy ra : Bất kì phép biến đổi nào cũng được kết hợp từ các phép tịnh tiến, tỉ lệ và quay. ĐỒ 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 15/16 Phéùp biếán đổåi giữõa cáùc hệä tọïa độä · Để thuận tiện cho việc mô tả đối tượng, thông thường đối tượng sẽ được mô tả trong các hệ tọa độ cục bộ gắn với chúng. Tuy nhiên để có thể hiển thị toàn bộ một ảnh bao gồm nhiều đối tượng thành phần, các mô tả này phải được chuyển về một hệ tọa độ chung duy nhất. · Việc chuyển đổi này thường được chia làm hai loại : chuyển từ các hệ tọa độ không phải là hệ tọa độ Descartes như hệ tọa độ cực, hệ tọa độ cầu, hệ tọa độ elliptic, … sang hệ tọa độ Descartes, và chuyển đổi giữa hai hệ tọa độ Descartes. Trong phần này chúng ta sẽ khảo sát phép biến đổi giữa hai hệ tọa độ Descartes với nhau. ĐỒ 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 vị lần lượt là vu, . · Lúc này một điểm ( )yxP , bất 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
File đính kèm:
- BienDoiTrong2D.pdf