Giáo trình Đồ họa máy tính - 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.

pdf17 trang | Chuyên mục: Đồ Họa Máy Tính | Chia sẻ: dkS00TYs | Lượt xem: 2338 | Lượt tải: 4download
Tóm tắt nội dung Giáo trình Đồ họa máy tính - Chương 3: Các phép biến đổi trong đồ họa hai chiều, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trê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 
xysh và yxsh 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 3=xysh 
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à : PMQ = , 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à 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 
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 : 
( ) ( )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 
( ) ( )ααα
αα
α −=
⎟⎟
⎟
⎠
⎞
⎜⎜
⎜
⎝
⎛ −
=− RR MM
100
0cossin
0sincos
1 
x
y
(1,1) (3,1)
(3,3)(1,3)
(4,1) (6,1)
(12,3)(10,3)
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 : 
⎟⎟
⎟
⎠
⎞
⎜⎜
⎜
⎝
⎛
⎟⎟
⎟
⎠
⎞
⎜⎜
⎜
⎝
⎛
⎟⎟
⎟⎟
⎟⎟
⎠
⎞
⎜⎜
⎜⎜
⎜⎜
⎝
⎛
=
⎟⎟
⎟
⎠
⎞
⎜⎜
⎜
⎝
⎛
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
ββ
ββ
φ
φ
αα
αα
trong đó 
( )
⎪⎩
⎪⎨
⎧
=⎟⎟⎠
⎞
⎜⎜⎝
⎛=
==
−
−
01
01
72.311tan
28.58tan
φβ
φα
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 += . 
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à 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 . 
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ó 
P
O i
j
O'
u
v
đượ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 xy = 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 xy −= 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ệ, yx ss , đượ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à yx ss , . 
11. Chứng minh rằng cặp hai phép tỉ lệ là giao hoán, nghĩa là 1221 SSSS MMMM = . 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 độ ''' yOx nhận được bằng cách quay quanh gốc tọa độ một góc α rồi tịnh tiến theo vector 
tịnh tiến ( )yx trtr , hệ tọa độ xOy . Hãy cho biết công thức tọa độ của điểm P trong hệ tọa độ 
''' yOx nếu ( )yxP , là tọa độ của P trong hệ tọa độ xOy . 
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. 

File đính kèm:

  • pdfGiáo trình Đồ họa máy tính - Chương 3 Các phép biến đổi trong đồ họa hai chiều.pdf