Giáo trình Đồ họa máy tính - Chương 3, Phần 2: Các phép biến đổi trong đồ họa hai chiều

CHƯƠNG 3  
CÁC PHÉP BIẾN ĐỔI TRONG ĐỒ HỌA HAI CHIỀU  
Một trong những ưu điểm quan trọng của đồ họa là cho phép dễ dàng thao tác lên các đối  
tượng đã được tạo ra. Một nhà quản lí có nhu cầu thu nhỏ các biểu đồ trong một báo cáo,  
một kiến trúc sư muốn nhìn tòa nhà ở những góc nhìn khác nhau, một nhà thiết kế muốn  
quan sát và chỉnh sửa các mẫu đối tượng trong quá trình thiết kế, … Tất cả các thao tác  
này có thể được hỗ trợ một cách dễ dàng nhờ vào các phép biến đổi hình học. Các phép  
biến đổi hình học sẽ làm thay đổi mô tả về tọa độ của các đối tượng, từ đó làm cho đối  
tượng bị thay đổi về hướng, kích thước và hình dạng. Các phép biến đổi hình học cơ sở  
bao gồm : tịnh tiến (translation), quay (rotation) và biến đổi tỉ lệ (scaling). Ngoài ra một  
số phép biến đổi khác cũng thường được áp dụng đó là phép đối xứng (reflection) và biến  
dạng (shearing).  
Có hai quan điểm về phép biến đổi hình học đó là : biến đổi đối tượng (object  
transformation) và biến đổi hệ tọa độ (coordinate transformation). Biến đổi đối tượng là  
thay đổi tọa độ của các điểm mô tả nó theo một quy tắc nào đó, còn biến đổi hệ tọa độ là  
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. Hai cách này có những mối liên hệ chặt chẽ với nhau và mỗi cách đều có những lợi  
thế riêng. Chúng ta sẽ bàn về phép biến đổi đối tượng trước.  
1. CÁC PHÉP BIẾN ĐỔI HÌNH HỌC CƠ SỞ  
Một phép biến đổi hai chiều sẽ biến đổi điểm P trong mặt phẳng thành điểm có tọa độ  
mới Q theo một quy luật nào đó. Về mặt bản chất, một phép biến đổi điểm là một ánh xạ  
T được định nghĩa :  
T : R2 R2  
P
x, y  
Q  
x', y'  
Nói cách khác, T là hàm số T  
x, y  
theo hai biến  
x, y :  
x'f  
y'g  
x, y  
x, y  
Phép biến đổi affine là phép biến đổi với f  
có dạng :  
x, y  
và  
g
x, y là các hàm tuyến tính. Phép biến đổi này  
x'ax cy e  
y'bx dy f  
, a,b, c, d,e, f R, ad bc 0 .  
Ta chỉ khảo sát các phép biến đổi affine nên từ nay về sau ta dùng cụm từ "phép biến đổi"  
thay cho "phép biến đổi affine".  
1.1. Phép tịnh tiến  
Để tịnh tiến một điểm P  
x, y từ vị trí này sang vị trí khác trong mặt phẳng, ta cộng thêm các giá trị  
mô tả độ dời vào các tọa độ của P. 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' sẽ là :  
x'x tr  
y'y try  
x
,
trx , try  
còn được gọi là vector tịnh tiến hay vector độ dời.  
Chúng ta có thể dịch chuyển toàn bộ một đối tượng bằng cách áp dụng quy tắc trên cho  
mọi điểm thuộc đối tượng. Để tịnh tiến một đoạn thẳng, đơn giản chỉ cần tịnh tiến hai  
điểm đầu và cuối của nó rồi sau đó vẽ lại đoạn thẳng nối hai điểm mới. Với đa giác, ta  
tịnh tiến các đỉnh của nó sau đó vẽ lại đa giác với các đỉnh mới. Một cách tương tự, để  
tịnh tiến các đối tượng như đường tròn, ellipse, ta tịnh tiến tâm của chúng tới vị trí mới  
rồi vẽ lại.  
Hình 3.1 – Phép tịnh tiến một điểm (a) và đối tượng với vector tịnh tiến (-4,2) (b)  
1.2. Phép biến đổi tỉ lệ  
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  
theo trục hoành và trục tung lần lượt là x và y , ta nhân sx và sy lần lượt cho các tọa độ của P.  
x, y  
s
s
x's .x  
y'sy .y  
x
,
sx và sy được gọi là các hệ số tỉ lệ.  
Khi các giá trị sx  
lớn hơn 1, phép biến đổi sẽ phóng lớn đối tượng. Khi sx  
,
sy 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  
sy bằng nhau, ta gọi đó là phép đồng dạng  
,
(uniform 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ệ. Phép biến đổi tỉ lệ mô tả như  
trên còn gọi là phép biến đổi tỉ lệ quanh gốc tọa độ vì có tâm tỉ lệ là gốc tọa độ. 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.  
Hình 3.2 – Phép biến đổi tỉ lệ với sx 2.5 và sy 0.5  
1.3. Phép 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 :  
x'cos.x sin.y  
y'sin.x cos.y  
y
x
Hình 3.3 – Phép quay một đối tượng quanh gốc tọa độ một góc 600  
1.4. Biểu diễn ma trận của phép biến đổi  
Trong nhiều ứng dụng đồ họa, người dùng thường xuyên có nhu cầu thực hiện nhiều  
phép biến đổi hình học khác nhau trên một đối tượng để tạo ra các hiệu quả như mong  
muốn. Ví dụ trong các ứng dụng thiết kế, chúng ta cần phải thực hiện nhiều phép tịnh  
tiến, quay, tỉ lệ để có thể khớp từng phần của đối tượng vào đúng vị trí của chúng, hay  
sau khi thực hiện các phép biến đổi nhưng không được ưng ý, người dùng muốn trở lại  
hiện trạng trước khi biến đổi (undo), … Do đó cần phải có một cách nào đó để có thể xử  
lí dãy các phép biến đổi trên được nhanh chóng và hiệu quả.  
Nếu ta biểu diễn tọa độ của điểm P  
x, y  
và Q  
x', y'  
dưới dạng các vector dòng lần lượt là  
x
y
và  
x' y'  
thì các phép biến đổi tịnh tiến, tỉ lệ, quay có thể được biểu diễn dưới dạng ma trận như sau :  
Phép tịnh tiến  
x' y'  
x
y
trx try  
hay Q P T với T   
Phép biến đổi tỉ lệ  
trx try  
s
0
0
sy  
x
x' y'  
x
y
s
0
0
sy  
x
hay Q P.S với S   
Phép quay quanh gốc tọa độ  
cossin  
sincos  
x' y'  
x
y
cossin  
sincos  
hay Q P.R với R   
Với cách biểu diễn này, chúng ta sẽ gặp khó khăn khi muốn kết hợp các phép biến đổi lại với nhau vì  
biểu diễn của phép tịnh tiến khác với dạng của các phép biến đổi tỉ lệ và quay. Chính vì vậy mà cần phải có  
một cách nào đó để biểu diễn ba phép biến đổi này về một dạng duy nhất để có thể dễ dàng xử lí sau này.  
1.4.1. Hệ tọa độ thuần nhất (hormogeneous coordinates)  
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ệ  
xh , yh , h không  
đồng thời bằng 0 và liên hệ với các tọa độ  
x, y  
của điểm đó bởi công thức :  
xh  
h
yh  
h
x   
,
y   
Nếu một điểm có tọa độ thuần nhất là  
x, y, 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ì. Tọa độ thuần nhất của một điểm trong không gian ba chiều hay có số  
chiều lớn hơn cũng được xác định một cách tương tự.  
Về mặt toán học, việc đưa tọa độ thuần nhất vào là do sự cần thiết phải bổ sung cho mặt  
phẳng Euclid các điểm xa vô tận  
x, y,0 (điểm phi chính) có tọa độ thứ ba bằng 0, điều  
này dẫn đến khái niệm mặt phẳng xạ ảnh trong hình học xạ ảnh. Trong hệ tọa độ thuần  
nhất, các điểm xa vô tận không đóng một vai trò gì đặc biệt so với các điểm khác của mặt  
phẳng. Với các phép biến đổi hình học đang khảo sát, nếu một điểm được biểu diễn dưới  
dạng tọa độ thuần nhất, cả ba phép biến đổi trên đều được biểu diễn dưới dạng tích các  
ma trận. Điều này giúp cho việc khảo sát các tính chất và sự kết hợp của các phép biến  
đổi này được thuận tiện do mỗi phép biến đổi được đại diện bởi một ma trận duy nhất.  
Bộ ba các tọa độ thường biểu diễn các điểm trong không gian ba chiều, nhưng ở đây ta sử  
dụng chúng để biểu diễn các điểm trong không gian hai chiều. Mối liên hệ ở đây là : nếu  
chúng ta xét tất cả các bộ ba tọa độ thuần nhất biểu diễn cho cùng một điểm, nghĩa là bộ  
ba số có dạng  
không gian ba chiều. Để đơn giản hóa chúng ta có thể chọn h 1, lúc này mỗi điểm  
sẽ được biểu diễn dưới dạng tọa độ thuần nhất là  
h.x, h.y, h.  
, với h 0 , chúng ta sẽ nhận được một đường thẳng trong  
P
x, y  
x, y,1 .  
1.4.2. Biểu diễn các phép biến đổi dưới dạng tọa độ thuần nhất  
Phép tịnh tiến  
1
0
1
0
0
1
x' y' 1  
x
y 1  
. 0  
trx try  
1
0
0
1
0
0
1
hay Q P.MT  
trx , try  
với MT  
trx , try   
trx try  
Phép biến đổi tỉ lệ  
s
0
0
0
1
x
x' y' 1  
x
y 1  
. 0 sy  
0
0
s
0
0
0
sy  
0
0
0
1
x
hay Q P.MS  
sx , sy  
với MS  
sx , sy  
Phép quay quanh gốc tọa độ  
cossin  
0
0
1
x' y' 1  
x
y 1  
. sincos  
0
0
cossin  
  sincos  
0
0
1
hay Q P.MR  
với MR  
0
0
2. KẾT HỢP CÁC PHÉP BIẾN ĐỔI  
Quá trình áp dụng các phép biến đổi liên tiếp để tạo nên một phép biến đổi tổng thể được  
gọi là sự kết hợp các phép biến đổi (composing transformation).  
2.1. Kết hợp các phép tịnh 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  
MT1  
trx1 , try1  
P.MT1  
Ta có :  
và MT2 trx2 , try2  
có tọa độ :  
Q  
trx1 , try1
.MT2 trx2 , try2  
P.  
MT1  
trx1 , try1  
.MT2  
trx2 , try2
  
   
1
0
0
1
0
1
0
0
1
0
0
1
   
MT1  
trx1 , try1  
.MT2  
trx2 , try2  
0 .  
   
   
   
trx1 try1  
1
trx2 try2  
1
0
0
1
0
0
1
trx1 trx2 try1 try2  
hay : MT1  
trx1 , try1 .MT2  
trx2 , try2  
MT  
trx1 trx2 , try1 try2  
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.  
2.2. Kết hợp các phép tỉ lệ  
Tương tự như phép tịnh tiến, ta có tọa độ điểm Q  
x', y' là điểm có được sau khi kết hợp hai phép tỉ  
lệ MS1 sx1 , sy1 và MS2 sx2 , sy2 là :  
Q P.MS1 sx1 , sy1
.MS2  
sx2 , sy2  
P. MS1  
sx1 , sy1  
.MS2  
sx2 , sy2
  
Ta có :  
s
0
0
0
0
s
0
0
0
1
   
x1  
x2  
   
MS1  
sx1 , sy1  
.MS2  
sx2 , sy2  
sy1 0 . 0 sy2  
0
   
   
1
0
0
   
s .s  
0
0
0
1
x1 x2  
0
0
sy1 .sy2  
0
hay : MS1  
sx1 , sy1  
.MS2  
sx2 , sy2  
MS  
sx1 .sx2 , sy1 .sy2  
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ệ.  
2.3. Kết hợp các phép quay  
Tương tự, ta có tọa độ điểm Q  
x', y' là điểm phát sinh sau khi kết hợp hai phép quay quanh gốc tọa  
độ MR1 1 và MR2 2 là :  
Q P.MR1 1 .MR2 2  
P. MR1  
1  
.MR2  
2   
Ta có :  
cos1 sin1  
0
cos2 sin2  
0
0
1
   
   
MR1  
1  
.MR2  
2  
  sin  
cos1 0 . sin  
cos2  
   
1
2
   
0
0
1
0
0
   
cos  
  sin  
1 2  
sin  
cos  
1 2  
0
0
1
1 2  
1 2  
0
0
hay : MR1  
1  
.MR2  
2  
MR  
1 2  
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 độ.  
2.4. Phép quay có tâm quay là điểm bất kì  
Giả sử tâm quay có tọa độ I  
từ các phép biến đổi cơ sở sau:  
xR , yR , ta có thể xem phép quay quanh tâm I một gócđược kết hợp  
•
Tịnh tiến theo vector tịnh tiến  
về trường hợp quay quanh gốc tọa độ).  
Quay quanh gốc tọa độ một góc  
Tịnh tiến theo vector tịnh tiến xR , yR để đưa tâm quay về lại vị trí ban đầu.  
xR ,yR để dịch chuyển tâm quay về gốc tọa độ (đưa  
•
•
.  
Hình 3.4 – Phép quay quanh tâm là điểm bất kì. Đối tượng trước khi biến đổi(a), Sau khi tịnh tiến về gốc tọa độ(b), Sau khi quay góc  
(c), Sau khi tịnh tiến về tâm quay ban đầu(d).  
Ta có ma trận của phép biến đổi :  
MR  
xR , yR ,  
MT  
xR ,yR  
.MR  
.MT  
xR , yR  
1
0
0
1
0
cossin  
0
1
0
1
0
0
1
   
   
   
   
0 . sincos0 . 0  
1
   
   
   
   
xR yR  
cos  
sin  
1 cosxR sin.yR sin.xR  
0
0
1
xR yR  
   
   
sin  
cos  
1 cosyR  
0
0
1
3. MỘT SỐ TÍNH CHẤT CỦA PHÉP BIẾN ĐỔI AFFINE  
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.  
Thật vậy, ta có phương trình tham số của đường thẳng qua hai điểm A, B là : P  
t
1 t A tB .  
Q
t
các điểm nhận được sau phép biến đổi M.  
P .M 1 t A tB M 1 t  
Nếu gọi A’, B’ lần lượt là ảnh của A, B qua phép biến đổi M, ta sẽ có A'AM, B'BM . Lúc này  
1 t A'tB'. Đây chính là dạng của phương trình tham số đoạn thẳng qua A’, B’.  
Q t  
t
  
AM tBM  
Q t  
Từ kết quả trên, để biến đổi một đoạn thẳng đi qua hai điểm A và B, ta chỉ cần áp dụng  
phép biến đổi cho hai điểm A, B rồi vẽ lại đoạn thẳng qua hai điểm mới.  
Tính song song của các đường thẳng được bảo toàn  
Ảnh của hai đường thẳng song song là hai đường song song.  
Chúng ta có thể viết lại phương trình tham số của đường thẳng dưới dạng tia xuất phát từ A ứng với  
t=0 và theo phương B A như sau : A t . Lúc này ta biểu diễn hai đường thẳng song song dưới  
dạng tia : L1  
t
A1 t và L2  
t A2 t có cùng phương t nhưng xuất phát từ hai điểm khác  
nhau. Lúc này áp dụng phép biến đổi lên hai đường thẳng song song này, dễ dàng nhận ra ảnh của chúng sẽ  
có phương M nên chúng song song.  
Một hệ quả quan trọng của tính chất này đó là ảnh của các hình bình hành sau phép biến  
đổi là các hình bình hành.  
Tính tỉ lệ về khoảng cách được bảo toàn  
Giả sử C là điểm chia đoạn AB theo tỉ số t. Nếu A’, B’, C’ lần lượt là ảnh A, B, C qua  
phép biến đổi thì C’ cũng sẽ chia A’B’ theo tỉ số t.  
Trong trường hợp đặc biệt, nếu C là trung điểm của AB thì C’ cũng là trung điểm của  
A’B’, từ đó ta có thể suy ra một số tính chất sau :  
•
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 cứ 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.  
Mặt khác, một tam giác bất kì là ảnh của tam giác đều qua phép biến đổi affine, nên giao  
điểm của các đường trung tuyến của nó cũng sẽ chia chúng theo tỉ lệ 1:2.  
4. MỘT SỐ PHÉP BIẾN ĐỔI KHÁC  
4.1. 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. Nếu trục  
đối xứng là trục hoành hay trục tung, chúng ta có biểu diễn của phép đối xứng qua trục  
hoành, trục tung lần lượt là :  
1
0
0
0
1
MRfx 0 1  
0
0
1  
0
0
0
1
0
0
0
1
MRfy  
4.2. 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. Hai  
dạng phép biến dạng thường gặp đó là biến dạng theo phương trục x và biến dạng theo  
phương trục y bằng cách thay đổi tọa độ  
x, y  
của điểm ban đầu theo cách sau :  
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  
1
0
1
0
0
0
1
MShx sh  
xy  
0
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  
1
shyx  
1
0
0
0
1
MShy 0  
0
shxy và shyx lần lượt được gọi là các hệ số biến dạng.  
Hình 3.5 – Phép biến dạng theo phương trục x với hệ số biến dạng shxy 3  
4.3. Phép biến đổi ngược  
Chúng ta thường dùng phép biến đổi ngược để có thể undo một phép biến đổi đã thực  
hiện.  
Ta có Q là ảnh của P qua phép biến đổi T có ma trận biến đổi M là : Q PM , từ đó 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à ad bc 0 , ta có công thức tính ma trận nghịch đảo M-1 của  
a
b
d
f
0
0
1
M c  
là :  
e
d
c  
b  
a
0
0
1
1
M 1  
ad bc  
cf de be af  
Như vậy ta có 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 lần lượt như sau :  
0
1
0
0
1
MT1  
MS1  
MR1  
trx , try  
0 MT trx ,try  
1
trx try  
1
0
0
s
x
s
0
0
0
0
y
1
sx sy  
1
sy  
0
1
1
sx , sy  
sx 0   
0
0 M  
,
S   
sx sy  
0
1
0
1
cossin  
sincos0 MR   
0
0
0
1
4.4. Phân rã phép biến đổi  
Một phép biến đổi bất kì có thể được phân rã thành tích các phép biến đổi cơ sở như tịnh  
tiến, quay, tỉ lệ.  
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 :  
1
0
0
1
0
1
0
0
0   
1
1
1
0
0
1
0
0
0
1
sh  
0
0
0
1
0
0
0
1
  
  
sh  
xy  
xy  
sh  
0
0
1
0
0
1
  
xy  
  
  
0
  
Phép biến dạng đơn vị còn có thể được phân rã tiếp :  
0
0
1
1
0
0
1
0
0
cossin  
0
0
1
cos sin   
sin cos   
0
0
1
1
0 sincos  
1
0
0
0
0
0
0
0
0
1
1  
58.280  
tan  
1
trong đó  
1   
0
tan  
31.72  
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 :  
a
Q
b
Q
0
b
Q
a
Q
0
0
Q
0
0
0
0
1
1
0
1
0
0
a
c
e
b
d
f
0
1
0
e
0
1
f
0
0
1
ac bd  
ad bc  
0   
0
1
Q2  
0
Q
0
1
0
0
1
trong đó Q2 a2 b2  
.
Với cách lập luận trên ta nhận thấy : bất kì phép biến đổi nào cũng được kết hợp từ các  
phép biến dạng, tỉ lệ, quay, và tịnh tiến. Tuy nhiên, theo kết quả ở bước trước, phép biến  
dạng là sự kết hợp của các phép quay, tỉ lệ, nên từ đó 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.  
5. 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ình 3.6 – Phép biến đổi giữa hai hệ tọa độ  
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à i, j . 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à u,v. Lúc này một điểm P  
đổi thành điểm trong hệ tọa độ (II). Vấn đề đặt ra ở đây là mối liên hệ giữa a,b  
với x, y, M như thế nào.  
Người ta chứng minh được rằng Q PM 1  
x, y bất kì trong hệ tọa độ (I) sẽ được biến  
Q
a,b  
.
Hình 3.7 – Tọa độ của một điểm qua phép biến đổi hệ tọa độ  
TÓM TẮT  
Các phép biến đổi hình học cho phép dễ dàng thao tác lên các đối tượng đã được tạo ra. Chúng làm thay đổi mô tả về tọa độ  
của các đối tượng, từ đó đối tượng sẽ được thay đổi về hướng, kích thước và hình dạng. Các phép biến đổi hình học cơ sở bao gồm  
tịnh tiến, quay và biến đổi tỉ lệ. Ngoài ra một số phép biến đổi khác cũng thường được áp dụng đó là phép đối xứng và biến dạng.  
Có hai quan điểm về phép biến đổi hình học đó là : biến đổi đối tượng và biến đổi hệ tọa độ. Biến đổi đối tượng thay đổi tọa  
độ của các điểm mô tả nó theo một quy tắc nào đó, còn biến đổi hệ tọa độ sẽ 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 đều được biểu diễn dưới dạng ma trận thuần nhất 3x3 để tiện cho việc thực hiện các thao tác kết  
hợp giữa chúng. Trong hệ tọa độ thuần nhất, tọa độ của một điểm được mô tả bởi một vector dòng bao gồm ba giá trị, hai giá trị đầu  
tương ứng với tọa độ Descartes của điểm đó, và giá trị thứ ba là 1. Với cách biểu diễn này, ma trận của phép biến đổi có được từ sự  
kết hợp của các phép biến đổi cơ sở sẽ bằng tích của các ma trận của các phép biến đổi thành phần.  
Các phép biến đổi không làm thay đổi kết cấu về tính cân xứng của đối tượng như tịnh tiến, quay được gọi là các phép biến đổi  
bảo toàn kết cấu đối tượng, thuật ngữ tiếng Anh gọi là rigid-body transformation.  
Việc chuyển đổi giữa hai hệ tọa độ Descartes với nhau thường gặp trong công đoạn chuyển các mô tả tọa độ của các đối tượng  
thành phần trong các hệ tọa độ cục bộ về các vị trí tương ứng trong một hệ tọa độ chung. Giữa hai hệ tọa độ Descartes với nhau, người  
ta thường sử dụng các phép biến đổi bảo toàn kết cấu như là tịnh tiến, quay.  
BÀI TẬP  
1. Cho biết ma trận các phép biến đổi dùng để biến đổi một hình tròn thành hình ellipse và ngược lại.  
2. Cho biết ma trận các phép biến đổi dùng để biến đổi một hình vuông thành hình chữ nhật, hình bình  
hành và ngược lại.  
3. Xây dựng và cài đặt cấu trúc dữ liệu và các hàm dùng để thực hiện một phép biến đổi affine bất kì.  
4. Cho biết ma trận của phép tỉ lệ với tâm tỉ lệ là điểm bất kì.  
5. Cho biết ma trận của phép lấy đối xứng qua đường thẳng y=mx+b bất kì.  
6. Cho biết ma trận của phép lấy đối xứng qua tâm là điểm bất kì.  
7. Cho biết ma trận của phép biến dạng theo phương của đường thẳng y=mx+b.  
8. Chứng minh rằng ma trận của phép lấy đối xứng qua đường thẳng y x tương đương với kết hợp của  
phép lấy đối xứng qua trục hoành và phép quay quanh gốc tọa độ một góc 900.  
9. Chứng minh rằng ma trận của phép lấy đối xứng qua đường thẳng y  x tương đương với kết hợp  
của phép lấy đối xứng qua trục tung và phép quay quanh gốc tọa độ một góc 900.  
10. Trong phép biến đổi tỉ lệ, sx , sy được gọi là các hệ số tỉ lệ theo phương của trục hoành và phương của  
trục tung. Hãy cho biết công thức của phép biến đổi tỉ lệ theo phương của các trục nghiêng so với trục  
hoành (các trục này trực giao với nhau) một góc  
với các hệ số tỉ lệ theo các phương trên là sx , sy .  
11. Chứng minh rằng cặp hai phép tỉ lệ là giao hoán, nghĩa là  
MS1 MS2 MS2 MS1 . Tương tự cho cặp  
hai phép quay.  
12. Chứng minh rằng phép đồng dạng và phép quay tạo thành một cặp thao tác có tính giao hoán, nhưng  
phép biến đổi tỉ lệ thường và phép quay thì không vậy.  
13. Trình bày ma trận của phép biến dạng dưới dạng tích ma trận của các phép quay và các phép tỉ lệ.  
14. Trình bày ma trận của phép quay dưới dạng tích ma trận của các phép biến dạng và tỉ lệ.  
15. Chứng minh rằng phép quay quanh gốc tọa độ có thể được phân tích thành ba phép biến dạng. Đây là  
cách để quay một ảnh nhanh vì phép biến dạng thường được thực hiện bằng cách di chuyển toàn bộ các  
khối điểm ảnh (block pixels).  
16. Chứng minh một phép biến đổi affine bất kì có thể được phân tích thành tích của các phép tịnh tiến, tỉ  
lệ và quay.  
17. Chứng minh công thức tính tọa độ của một điểm khi thực hiện phép biến đổi giữa các hệ tọa độ  
18. Hệ tọa độ x'O' y' nhận được bằng cách quay quanh gốc tọa độ một góc  
tịnh tiến trx , try hệ tọa độ xOy . Hãy cho biết công thức tọa độ của điểm P trong hệ tọa độ x'O' y'  
nếu P x, y là tọa độ của P trong hệ tọa độ xOy .  
rồi tịnh tiến theo vector  
19. Viết chương trình minh họa các bước kết hợp các phép biến đổi cơ sở để tạo thành phép quay một  
điểm quanh tâm bất kì. Thực hiện tương tự cho phép tỉ lệ có tâm tỉ lệ là điểm bất kì.  
20. Viết chương trình cho phép người dùng sử dụng các phép biến đổi đã học thao tác lên một đối tượng  
cho trước.  
doc 12 trang Thùy Anh 15340 Free
Bạn đang xem tài liệu "Giáo trình Đồ họa máy tính - Chương 3, Phần 2: Các phép biến đổi trong đồ họa hai chiều", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • docgiao_trinh_do_hoa_may_tinh_chuong_3_phan_2_cac_phep_bien_doi.doc
  • htmChuong3.htm