BỘ THÔNG TIN VÀ TRUYỀN THÔNGHỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG BÁO CÁO BÀI TẬP LỚN MÔN KỸ THUẬT ĐỒ HỌA ĐỀ TÀI: CHƯƠNG 3 – CÁC PHÉP BIẾN ĐỔI ĐỒ HỌA Nhóm thực hiện: nhóm 6 1 Nguyễn T
Trang 1BỘ THÔNG TIN VÀ TRUYỀN THÔNG
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
BÁO CÁO BÀI TẬP LỚN MÔN KỸ THUẬT ĐỒ HỌA
ĐỀ TÀI: CHƯƠNG 3 – CÁC PHÉP BIẾN ĐỔI ĐỒ HỌA
Nhóm thực hiện: nhóm 6
1 Nguyễn Trọng Kiên B18DCCN296
3 Nguyễn Trọng Hiếu B18DCCN219
7 Phùng Ngọc Tuấn Anh B18DCCN035
Giảng viên: cô Nguyễn Thị Thanh Tâm
Trang 2Các phép biến đổi đồ hoạ Khái niệm.
- Bản chất của phép biến đổi hình học là thay đổi về toạ độ của các đối tượng, từ đó
làm đối tượng thay đổi về kích thước, hướng và hình dạng
- Có 2 quan điểm về biến đổi hình học:
Biến đổi đối tượng: thay đổi toạ độ các điểm mô tả đối tượng theo một quy tắc nào đó
Biến đổi hệ toạ độ: tạo ra một hệ toạ độ mới và các điểm mô tả đối tượng sẽ được chuyển về hệ toạ độ mới
Các phép biến đổi hình học cơ sở.
- Một phép biến đổi điểm là một ánh xạ T:
P ( x , y )→ Q(x ' , y '
)
- Hay T là hàm số T (x , y ) theo hai biến (x , y ):
{x '=f (x , y )
y '=g(x , y )
- Phép biến đổi affine là phép biến đổi với f (x , y ) và g(x , y) là các hàm tuyến tính Phép biến đổi này có dạng:
y '=bx+ dy +f, a , b , c , d , e , f ∈ R , ad−bc ≠0
I – Phép biến đổi hình học cơ sở trong không gian hai chiều
Phép biến đổi vị trí
- Giả sử ta có điểm P=(x , y ) trong mặt phẳng với (x , y ) và vector vị trí của P, kí hiệu là [P ] Gọi T là ma trận biến đổi sẽ có dạng:
T =(a b c d)
- Ta có điểm P’ là điểm được biến đổi từ P.
- Thực thi phép biến đổi đúng trên 1 điểm ảnh sẽ đúng với toàn bộ đối tượng.
[X]∗[T]=[x y]∗[a b c d]=[( ax+ cy )(bx +dy )]=[x ' y '
]
Hay ta có: {x '=ax+ cy
y '=bx+ dy
Xét ma trận biến đổi T:
1 Phép bất biến:
Trang 3 Khi đó: a=d=1 và b=c=0 và ma trận cho phép bất biến là:
T =(1 00 1)
[X]∗[T]=[x y]∗[1 00 1]=[x y]=[x ' y ']
Vậy x '=x và y= y ' hay P ' ≡ P chứng tỏ bất biến qua phép đổi
2 Phép tỉ lệ
Nếu d=1 và b=c=0 thì ma trận biến đổi là:
T s=[a 00 1]→{x '=ax
y '
=y[X]∗[T s]=[x y]∗[a 0 0 d]=[ax y]=[x ' y ']
KL: P ' dịch chuyển theo trục x với tỷ lệ a xác định
Nếu b=c=0 thì ma trận biến đổi là:
T s=[a 0 0 d][X]∗[T s]=[x y]∗[a 0 0 d]=[ax dy]=[x ' y ']
Hay tổng quát hơn, gọi Sx , Sy lần lượt là tỷ lệ theo trục x và trục y, thì ma trận tỷ lệ sẽ là:
T s=[Sx0 Sy0 ]
Trường hợp đặc biệt:
3 Phép quay:
Quy ước: Phép quay có α >0 là phép quay ngược chiều kim đồng hồ
Trang 4 Ta có:
P[x y]=[r cos β r sin β]
P '[x ' y ']=¿
→ P[x ' y ']=[r (cos α cos β−sin α sin β) r (cosα sin β +sin α cos β)]
¿[( xcosα− ysinα )( xsinα + ycosα )]
Vậy: {x '
Ta có: [X ']=[X]∗[T q]=[(xcosα− ysinα )( xsinα + ycosα )]
Vậy T tổng quát khi quay đối tượng quanh gốc toạ độ 1 góc α bất kì là:
[T q]=[−cosα sinα cosα sinα]
4 Phép biến dạng
Khi a=d=1 thì toạ độ của P ' phụ thuộc vào thay đổi của b và c
Xét c=0, ta có phép biến dạng theo trục Oy
[X]∗[T sh]=[x y]∗[1 b0 1]=[x bx + y]=[x' y '
]
Có P ' không thay đổi giá trị toạ độ x, còn y ' thay đổi phụ thuộc vào
cả b và x
Xét b=0, ta có phép biến dạng theo trục Ox
[X]∗[T sh]=[x y]∗[1 0c 1]=[x +cy y]=[x ' y ']
Trang 5Hệ toạ độ đồng nhất.
- Toạ độ đồng 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ệ
(x h , y h , h) không đồng thời bằng 0 và liên hệ với các toạ độ (x , y ) của điểm đó bởi công thức:
y h h
- Nếu một điểm có toạ độ đồng nhất là (x , y , z) thí nó cũng có toạ độ đồng nhất là
(hx , hy ,hz ) trong đó h là số thực khác 0 bất kì
- Mỗi điểm P(x , y ) sẽ được biểu diễn đưới dạng toạ độ đồng nhất là (x , y , 1)
Phép biến đổi với toạ độ đồng nhất.
Ta có ma trận biến đổi đồng nhất: [T]=[a b 0 c b 0
1 Phép tịnh tiến
Với a=d=1 và b=c=0
[T tt]=[1 0 00 1 0
→[x ' y '1]=[x y 1][1 0 00 1 0
Chú ý : trong mặt phẳng toạ độ, mọi điểm kể cả gốc toạ độ đều có thể biến đổi bằng phép tịnh tiến
2 Phép tỷ lệ
Tương tự với ma trận tỷ lệ, ta có ma trận tỷ lệ trong hệ toạ độ đồng nhất là:
[T s]=[Sx0 Sy 00 0
→[x ' y '1]=[x y 1][Sx0 Sy 00 0
Chú ý : Phép biến đổi tổng hợp của 2 phép tỷ lệ Sx 1 , Sx 2 và Sy 1 , Sy 2 bằng phép biến đổi duy nhất có tỷ lệ là tích 2 phép biến đổi trên Sx 1∗Sx 2,
Sy 1∗Sy 2
Trang 63 Phép quay
Tương tự với ma trận biến đổi, ta có ma trận trong hệ toạ độ đồng nhất là:
[T q]=[−cosα sinα cosα 0 sinα 0
→[x ' y '1]=[x y 1][−sinα cosα 0cosα sinα 0
II – Phép biến đổi hình học cơ sở trong không gian ba chiều
- Các phép biến đổi tịnh tiến, tỷ lệ và quay sử dụng trong không gian 2D đều có thể
mở rộng trong không gian 3D
1 Biểu diễn điểm trong không gian 3 chiều
y h
z
h1]
Viết gọn hơn: [x y z1]
Ma trận biến đổi tổng quát trong không gian 3D với toạ độ đồng nhất (4x4)
[T]=[ a d b e c f 00
2 Phép tịnh tiến
Mở rộng từ phép biến đổi tịnh tiến từ không gian 2D ta có:
[T tt]=¿
→[x ' y ' z '1]=[x y z 1].[T tt]=[x+ dx y +dy z+ dz 1]
3 Phép tỉ lệ
Tương tự trong 2D, ta có phép tỉ lệ trong 3D là:
Trang 7[T s]=[Sx0 Sy0 00 00
Trong đó Sx , Sy , Sz là các hệ số tỉ lệ trên các trục toạ độ
→[x ' y ' z '1]=[x y z 1].[T s]=[x Sx y Sy z Sz 1]
4 Phép biến dạng
Ta có tất cả các phần tử nằm trên đường chéo chính bằng 1
Các phần tử chiếu và tịnh tiến bằng 0
[T sh]=[d 1 f 0 1 b c 0
g h 1 0
Trường hợp T sh ,Ox → b=c=f =h=0
Trường hợp T sh ,Oy → c=d =f =g=0
Trường hợp T sh ,Oz →b=d=g=h=0
5 Phép đối xứng
Đối xứng qua trục Ox
Đối xứng qua mặt Oxy
0 0 −1 0
Đối xứng qua gốc O
6 Phép quay
Phép quay quanh trục toạ độ:
Quay quanh trục Oz :
y '
z '=z
Trang 8 Quay quanh trục Ox :
z '
0 −sin α cosα 0
Quay quanh trục Oy :
¿
Phép quay quanh trục song song với trục toạ độ:
Trang 9 Đầu tiên chuyển dịch đối tượng cho đến khi toạ độ địa phương của đối tượng trùng với trục toạ độ mà trục địa phương song song
Quay đối tượng xung quanh trục toạ độ
Dịch chuyển đối tượng ngược lại phép dịch chuyển ban đầu
Ví dụ: Quay song song trục Ox
Công thức quay quanh trục song song với trục Ox là :
T tt¿¿
→Ma trận biến đổi:
−x − y −z 1][10 cosα0 sin α 00 0
0 −sin α cos α 0
0 0 1 0
Phép quay đối tượng quanh trục 1 trục bất kì:
1 Xét bài toán: Tìm ma trận biến đổi để đưa một trục bất kì có hướng:
Giải
Ta thực hiện các bước:
Quay V quanh trục Oy 1 góc −α sao cho nằm trên mặt phẳng Oyz được V1
Quay V1 quanh trục Ox một góc β sao cho trùng với trục Oz được V2
Bước 1: Tính α
Chiếu V trên mặt phẳng Oxz được V ' Ta có:
Trang 10sin α= a
√a2+c2
√a2+c2
[T−αy]=[ cosα0 0 −sin (−α) 01 0 0
[ √a2c
√a2+c2 0
−a
√a2
√a2+c2 0
→ Vector: V1¿
Bước 2: Tính β
√a2+b2+c2
cos β= √a2
+c2
√a2+b2
+c2
0 −sinβ cosβ 0
√a2
+b2
+c2
−b
√a2
+b2
+c2 0
√a2+b2+c2
√a2+c2
√a2+b2+c2 0
Trang 11→ Vậy [T v]=[T−αy] [T βy]
→[T−1v ]=([T−αy].[T βy])−1=[T−βy][T ay]
2 Cho trục quay L (vector V =ax+by+cz) và một điểm P nằm trên trục L Hãy tìm ma trận biến đổi quay đối tượng xung quanh trục L một góc φ
Giải:
Ta thực hiện các bước sau:
Tịnh tiến P về gốc toạ độ
Chuyển trục L về trùng với trục Oz
Quay đối tượng xung quanh trục Oz một góc φ
Chuyển trục L về vị trí sau bước 1
Tịnh tiến P về vị trí ban đầu
→ Vậy ta có: T th=Ttt¿ ¿
Với:
( √a2c+c2 0
a
√a2+c2 0
−a
√a2+c2 0
c
√a2+c2 0
√a2+b2+c2
b
√a2
+b2+c2 0
√a2+b2+c2
√a2+c2
√a2+b2+c2 0
T v−1=
+c2
√a2
+b2
+c2
−b
√a2
+b2
+c2 0
√a2
+b2
+c2
√a2+c2
√a2
+b2
+c2 0
−a
√a2+c2 0 0
a
√a2+c2
c
√a2+c2 1 0