Biểu diễn ma trận các phép biến đổi 2D 4.. Vùng nhìn window của thế giới thực khung hiển thị viewport của màn hình máy tính 6.. Biểu diễn ma trận các phép biến đổi 3D Các phép biến đổi
Trang 1Trương Văn Quốc Nhật
1
CH 3 CÁC PHÉP BIẾN ĐỔI HÌNH HỌC
Nội dung
2
1.
2. Tọa độ thuần nhất
3. Biểu diễn ma trận các phép biến đổi 2D
4. Tổ hợp các phép biến đổi 2D
5. Vùng nhìn (window) của thế giới thực
khung hiển thị (viewport) của màn hình máy tính
6. Biểu diễn ma trận các phép biến đổi 3D
Các phép biến đổi 2D
Trang 21 Các phép biến đổi 2D
3
Tịnh tiến (translation)
Co giãn (scaling)
Quay (rotation)
Nghiêng (shearing)
Đối xứng (reflection)
Tịnh tiến (translation)
x
d x
x '
y
d y
y '
x
d
y
d
x y
d
d T
y
x P
y
x
'
' ' ,
• Xem dưới dạng vector cột:
T P
P '
Trang 3Co giãn (scaling)
5
x s
x ' x y ' sy y
x y
y
x s
s y
x
y
x
0
0 '
'
• Dưới dạng ma trận:
P S
P '
hay
8 4
2
6
12
12
x x
2
1
3
1 '
• Ví dụ:
Quay (rotation)
6
cos ' x y
x
x y
y
x y
x
sin 0
0 cos
'
'
• Dưới dạng ma trận:
P R
P '
hay
7 2
7
9
• Quay 1 góc (ví dụ: =28o)
θ φ
sin ' x y
y
Trang 4Nghiêng (shearing)
7
Nội dung (2 thuần nhất)
1. Các phép biến đổi 2D
2.
3. Biểu diễn ma trận các phép biến đổi 2D
4. Tổ hợp các phép biến đổi 2D
5. Vùng nhìn (window) của thế giới thực
khung hiển thị (viewport) của màn hình máy tính
6. Biểu diễn ma trận các phép biến đổi 3D
Tọa độ thuần nhất
Trang 52 Tọa độ thuần nhất
9
T P
P '
P S
P '
P R
P '
-Tịnh tiến:
- Co giãn:
- Quay:
Lúc thì cộng lúc thì nhân…
răng hè…!?
Homogeneous Coordinates
Không gian tọa độ thuần nhất XYW
10
x
y
w
1
x, y x , y , w , w 0
- Tọa độ thuần nhất:
- Tính duy nhất:
x , y , w và x ' , y ' , w ' cùng biểu diễn 1 điểm
x , y , w tx ' , ty ' , tw ' , t 0
- Chuẩn hóa:
, , 1 ,
,
w
y w
x w
y x
P
Mặt phẳng w=1
1
y
x y
x
Trang 6Nội dung (3 ma trận 2D)
11
1. Các phép biến đổi 2D
2. Tọa độ thuần nhất
3.
4. Tổ hợp các phép biến đổi 2D
5. Vùng nhìn (window) của thế giới thực
khung hiển thị (viewport) của màn hình máy tính
6. Biểu diễn ma trận các phép biến đổi 3D
Biểu diễn ma trận các phép biến đổi 2D
3 Biểu diễn ma trận các phép biến đổi 2D
T P
P '
P S
P '
P R
P '
-Tịnh tiến:
- Co giãn:
- Quay:
P M
Trang 7Tịnh tiến, co giãn, quay
13
y
x
d
d y
x
y
x
'
'
y
x s
s
y
x
y
x
0
0 '
'
y
x y
x
sin 0
0 cos
'
'
1 1 0 0
1 0
0 1
1 '
'
y
x d
d y
x
y x
1 1 0 0
0 0
0 0
1 '
'
y
x s
s y
x
y x
1 1 0 0
0 cos sin
0 sin cos
1 '
'
y
x y
x
- Tịnh tiến:
- Co giãn:
- Quay:
Nghiêng
14
1 0 0
0 1 0
0
1 a
SH x x
y
2
2
6
6
1 1
'
'
y
x SH
y
x
1 0 0
0 1
0 0 1
b
SH y
3 5 7 9
3
7 5 9
2 6
2 6
Trang 8Nội dung (4 tổ hợp 2D)
15
1. Các phép biến đổi 2D
2. Tọa độ thuần nhất
3. Biểu diễn ma trận các phép biến đổi 2D
4.
5. Vùng nhìn (window) của thế giới thực
khung hiển thị (viewport) của màn hình máy tính
6. Biểu diễn ma trận các phép biến đổi 3D
Tổ hợp các phép biến đổi 2D
Xoay quanh 1 điểm bất kỳ?
1
y
1
x
1 0 0
1 0
0 1
1
1
y
x
1
0
0
1
0
0
1
1
1
y
x
1 0 0
0 cos sin
0 sin cos
x1, y1
T R Tx1, y1
x1, y1 R T x1,y1
T
1 0 0
?
?
?
?
?
?
=
Trang 91
y
1
x
1
x
P1
Nội dung (5 window to viewport)
18
1. Các phép biến đổi 2D
2. Tọa độ thuần nhất
3. Biểu diễn ma trận các phép biến đổi 2D
4. Tổ hợp các phép biến đổi 2D
5.
6. Biểu diễn ma trận các phép biến đổi 3D
Vùng nhìn (window)của thế giới thực
khung hiển thị (viewport) của màn hình máy tính
Trang 10Window - Viewport
19
window
viewport
viewport 1
viewport 2
)
,
(xmin ymin
) , (xmax ymax
)
,
(umin vmin
) ,
(umax vmax
1.window (thế giới thực) 2 Tịnh tiến window về gốc
3 Co giãn window theo kích thướcviewport
4 Tịnh tiến đến tọa độ
viewport
1 1
w
w wv v
v
y
x M
y x
M wv=?
x v ,y v=?
Trang 11Nội dung (6 ma trận 3D)
21
1. Các phép biến đổi 2D
2. Tọa độ thuần nhất
3. Biểu diễn ma trận các phép biến đổi 2D
4. Tổ hợp các phép biến đổi 2D
5. Vùng nhìn (window) của thế giới thực
khung hiển thị (viewport) của màn hình máy tính
6. Biểu diễn ma trận các phép biến đổi 3D
Hệ tọa độ trái/phải
22
x
y
y
z
Hệ tọa độ phải
(right-handed coordinate system)
Hệ tọa độ trái
(left-handed coordinate system)
Trang 12
1 0 0
0
0 cos sin
0
0 sin cos
0
0 0 0
1
x
R
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
23
1 0 0 0
1 0 0
0 1 0 ,
,
z y x
z
y
x
d
d d
d
d
T
- Quay:
1 0 0 0
0 cos 0 sin
0 0 1 0
0 sin 0 cos
y
R
1 0 0 0
0 1 0 0
0 0 cos sin
0 0 sin cos
z
R
Bài tập 03
Bắt buộc (3 tuần): xây dựng công thức & lập trình
1 Tịnh tiến/quay/co giãn liên tiếp
2 Xoay/Co giãn quanh 1 điểm bất kỳ
3 Trong giai đoạn chuyển từ window (thế giới thực) sang
viewport (màn hình hiển thị) , xác định Mwv, x v ,y v
khi biết xmin , y min , x max , y max , u min , v min , u max , v max
(không lập trình câu 3 này)
Tự tìm hiểu (không nộp)
1 Công thức quay một góc quanh gốc tọa độ theo
ngược chiều kim đồng hồ