Affine (bảo tồn các đường thẳng song song) – Co dãn không đồng nhất (Non-uniform. scales), shears or skews.[r]
Trang 1Đồ họa máy tính
Các phép biến đổi
Trang 2Một số khái niệm cơ bản
• Một số đối tượng hình học cơ bản
– Đại lượng vô hướng s – Vec-tơ v
– Điểm p’ = p + s * v
• Các phép biến đổi
– Các loại biến đổi: quay, tịnh tiến, co dãn.
– Biểu diễn ma trận – Thứ tự
• Mô hình hóa hình học
– Mô hình hóa phân cấp
Trang 3- Tạo ra các đối tượng với các tọa độ tự nhiên/ tiện lợi
- Nhiều phiên bản khác nhau của cùng một mẫu hình
- Các mối nối/khung xương – tạo hoạt ảnh robot
l Tầm nhìn
– Cửa sổ và thiết bị độc lập với nhau
– Camera ảo: Các phép chiếu song song và chiếu phối cảnh (perspective)
Trang 4Các loại phép biến đổi
Liên tục (Bảo tồn lân cận)
Một – một, có nghịch đảo
Phân chia theo các tính chất bất biến và tính chất
đối xứng Isometry (bảo tồn khoảng cách) – Phản xạ (Reflections) – đảo hai bên trái và phải
– Quay + Tịnh tiến Similarity (bảo tồn góc) – Co dãn đồng nhất (Uniform scale) Affine (bảo tồn các đường thẳng song song) – Co dãn không đồng nhất (Non-uniform scales), shears or skews
Trang 5Tịnh tiến 2D
ú û
ù ê ë
é
= ú
û
ù ê ë
ù ê ë
y
x P
y
x P
Trang 6Co dãn 2D theo gốc tọa độ
ú û
ù ê
ë
é
=
đó Do
Trang 7Phép kéo
l Kéo theo chiều x
l Kéo theo chiều y
Trang 8Phép kéo
Trang 9Quay 2D quanh tâm
Trang 10Quay 2D quanh tâm
y
f
f
sin
cos
.
r y
r
x
=
=
Trang 11Quay 2D quanh tâm
f
sin
cos
.
r y
q f
f q
q f
q f
f
q
cos
sin sin
cos
) sin(
.
sin sin cos
cos
) cos(
.
r r
r y
r r
r
x
+
= +
=
¢
-= +
=
¢
Trang 12Quay 2D quanh tâm
f
f
sin
cos
.
r y
q f
f q
q f
q f
f
q
cos
sin sin
cos
) sin(
.
sin sin cos
cos
) cos(
.
r r
r y
r r
r
x
+
= +
=
¢
-= +
q
q
cos sin
.
sin cos
.
y x
y
y x
Trang 13Quay 2D quanh tâm
q q
q
q
cos sin
.
sin cos
.
y x
y
y x
ú û
ù ê ë
é ú û
ù ê
ë
-= ú û
ù ê
x
cos
sin
sin
cos
q q
q q
P R P
cos sin
sin
cos
q q
q q
Trang 14Nhiều phép biến đổi cùng lúc
l Chúng ta muốn các phép biến đổi thể hiện bằng phép nhân để
có thể ghép với nhau được Þ thể hiện điểm bằng tọa độ đồng nhất
Trang 15Tọa độ đồng nhất
l Thêm một thành phần tọa độ nữa, W, cho một điểm.
– P(x,y,W).
l Hai tọa độ đồng nhất cùng thể hiện một điểm nếu
chúng là tích của nhau với một hằng số
– (2,5,3) và (4,10,6) thể hiện một điểm.
l Phải có ít nhất một thành phần khác không Þ (0,0,0) không xác định.
l Nếu W¹ 0 , chia các tọa độ còn lại cho nó để có tọa
độ Đề-Cát (x/W,y/W,1).
l Nếu W=0, điểm đó coi như ở vô cùng.
Trang 16Tọa độ đồng nhất (…)
l Nếu ta thể hiện (x,y,W) trong không gian 3 chiều, tất cả các tọa
độ đồng nhất thể hiện một điểm 2D tạo thành một đường thẳng
đi qua gốc tọa độ.
l Nếu ta đồng nhất hóa một điểm, ta thu được điểm có dạng
(x,y,1)– Các điểm đồng nhất tạo thành mặt phẳng W=1.
P W
W=1 plane
Trang 17Các phép biến đổi với tọa độ
đồng nhất
l Ma trận cho phép tịnh tiến 2D.
ú ú
ú û
ù ê ê
ê ë
é ú ú
ú û
ù ê
ê
ê ë
é
= ú ú
ú û
ù ê ê
ê ë
0
1 0
0 1
1
y
x d
d y
x
y x
1 1
y
d x
x
Trang 18( )
, (
) ,
(
: đó Do
) ,
( )
, (
) ,
(
) ,
(
) ,
(
21
21
22
11
21
21
22
11
22
11
y y
x x
y x
y x
y y
x x
y x
y x
y x
y x
d d
d d
T d
d T d
d T
d d
d d
T P d
d T d
d T P P
d d
T P P
d d
T P P
+ +
=
×
+ +
Trang 19Kết hợp các phép biến đổi ( …)
ú ú
ú û
ù ê
ê
ê ë
é
+
+
= ú ú
ú û
ù ê
ê
ê ë
é ú ú
ú û
ù ê
0
1 0
0 1
1 0
0
1 0
0
1 1 0
0
1 0
0 1
: là ) ,
( )
, (
2 1
2 1
2
2 1
1
2 2
1 1
y y
x x
y
x y
x
y x
y x
d d
d
d d
d d
d
d d
T d
d T
Trang 20Tính chất của các phép tịnh tiến
) ,
( )
, ( T 4.
) ,
( )
, ( )
, ( )
, ( 3.
) ,
( )
, ( )
, ( 2.
) 0 , 0 ( 1.
1
-y x
y x
y x
y x y
x y
x
y y
x x
y x y
x
s s
T s
s
s s
T t
t T t
t T s
s T
t s
t s
T t
t T s
s T
I T
-
=
×
=
Trang 21Dạng đồng nhất của phép co dãn
ú û
ù ê
s s
s
S
0
0 )
, (
Ma trận phép co dãn :
ú ú
ú û
ù ê
ê
ê ë
é
=
1 0
0
0 0
0
0 )
,
x y
s s
s S
Trong tọa độ đồng nhất :
Trang 22Kết hợp các phép co dãn
ú ú
ú û
ù ê
ê
ê ë
é
×
×
= ú ú
ú û
ù ê
ê
ê ë
é ú ú
ú û
ù ê
0
0 s
s 0
0 0
s s
1 0
0
0 s
0
0 0
s 1 0
0
0 s
0
0 0
s
: ) ,
( )
, (
y2 y1
x2 x1
y2
x2
y1 x1
2 2
1
s S
Trang 23Dạng đồng nhất của phép quay
ú ú
ú û
ù ê ê
ê ë
é ú ú
ú û
ù ê
ê
ê ë
-= ú ú
ú û
ù ê ê
ê ë
0
0 cos
sin
0 sin
cos 1
y
x y
x
q q
q q
).
( )
(
1
q q
q
-
Trang 24-Dạng đồng nhất của phép quay ( …)
ú ú
ú û
ù ê
ê
ê ë
é -
= ú
ú
ú û
ù ê
ê
ê ë
-=
1 0
0
0 cos
sin
0 sin
cos )
(
, 1 0
0
0 cos
sin
0 sin
cos )
q
q q
q q
ú û
ù ê
ê
ê ë
é -
= ú ú
ú û
ù ê
ê
ê ë
é
-
-
-=
-1 0
0
0 cos
sin
0 sin
cos
1 0
0
0 cos
sin
0 sin
cos )
q
q q
q
q
q q
R
Trang 25Các tính chất khác của phép quay
) ( )
( )
( )
( và
) (
) ( )
(
) 0 (
q f
f q
f q
f q
R R
R R
R R
R
I R
Trang 26Kết hợp các loại phép biến đổi
l Quay và tịnh tiến
– Góc và khoảng cách được giữ nguyên
l Quay, tịnh tiến và co dãn
– Góc và khoảng cách không được giữ nguyên
– Đường thẳng song song vẫn song song
– Gọi là các phép biến đổi Affine
Trang 27Biến đổi 3D
l Sử dụng tọa độ đồng nhất, giống như trong 2D
l Các ma trận biến đổi có kích thước 4x4
l Sử dụng hệ tọa độ thuận ( z hướng ra ngoài)
y
x
Trang 28Tịnh tiến 3D.
ú ú ú ú û
ù ê
ê ê ê ë
é
=
1 0
0 0
1 0
0
0 1
0
0 0
1 )
, ,
(
z y
x
z y
x
d d
d d
d d
T
Giống như trong 2D:
Trang 29Co giãn 3D.
ú ú ú ú û
ù ê
ê ê ê ë
é
=
1 0
0 0
0 0
0
0 0
0
0 0
0 )
, ,
(
z y
x
z y
x
s s
s s
s s
S
Giống như trong 2D:
Trang 30Quay 3D
l Cần xác định trục quay.
l Quay quanh trục z tương tự như 2D
ú ú ú ú û
ù ê
ê ê ê ë
-=
1 0
0 0
0 1
0 0
0 0
cos sin
0 0
sin cos
)
q q
q
z
R
Trang 31Quay 3D
l Quay quanh trục x và y:
ú ú ú ú
û
ù
ê ê ê ê
ë
é
-= ú
ú ú ú
û
ù
ê ê ê ê
0 0
0 cos
0 sin
0 0
1 0
0 sin
0 cos
) ( , 1 0
0 0
0 cos
sin 0
0 sin
cos 0
0 0
0 1
)
(
q q
q q
q q
Trang 32Quay quanh một trục bất kỳ?
l Tuy nhiên, chúng ta đã biết cách quay quanh trục chính.
l Biến thành phép quay quanh trục chính.
l Cần tịnh tiến một trục quay a bất kỳ để đi qua gốc tọa độ, quay nó để trùng với một trục
chính, thực hiện phép quay cần thực hiện, và quay và tịnh tiến lại vị trí ban đầu.
Trang 33Phép kéo 3D
Trang 34Phép kéo 3D
Trang 35Tổng kết
l Phép tịnh tiến, quay và co dãn 2D, 3D
l Tọa độ đồng nhất
l Kết hợp các phép biến đổi
Trang 36Thảo luận cho buổi sau
03 sinh viên
Phép chiếu