Upload
nguyendattdh
View
52
Download
0
Embed Size (px)
Citation preview
4/18/2011
1
Trươ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
4/18/2011
2
1. 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)
4
xdxx '
ydyy '
xd
yd
x
y
y
x
d
dT
y
xP
y
xP ,
'
'',
• Xem dưới dạng vector cột:
TPP '
4/18/2011
3
Co giãn (scaling)
5
xsx x ' ysy y '
x
y
y
x
s
s
y
x
y
x
0
0
'
'
• Dưới dạng ma trận:
PSP 'hay
84
2
6
12
12
xx2
1' yy
3
1'
• Ví dụ:
Quay (rotation)
6
sincos' yxx
x
y
y
x
y
x
sin0
0cos
'
'
• Dưới dạng ma trận:
PRP 'hay
7
2
7
9
• Quay 1 góc (ví dụ: =28o)
θφ
cossin' yxy
4/18/2011
4
Nghiêng (shearing)
7
Nội dung (2. thuần nhất)
8
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
4/18/2011
5
2. Tọa độ thuần nhất
9
TPP '
PSP '
PRP '
- 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
yx, 0,,, wwyx
- Tọa độ thuần nhất:
- Tính duy nhất:
wyx ,, ',',' wyxvà
cùng biểu diễn 1 điểm
0,',',',, ttwtytxwyx
- Chuẩn hóa:
1,,,,
w
y
w
xwyx
P
Mặt phẳng w=1
1
y
x
y
x
4/18/2011
6
Nộ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
12
TPP '
PSP '
PRP '
- Tịnh tiến:
- Co giãn:
- Quay:
PMP '
4/18/2011
7
Tị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
sin0
0cos
'
'
1100
10
01
1
'
'
y
x
d
d
y
x
y
x
1100
00
00
1
'
'
y
x
s
s
y
x
y
x
1100
0cossin
0sincos
1
'
'
y
x
y
x
- Tịnh tiến:
- Co giãn:
- Quay:
Nghiêng
14
100
010
01 a
SH x
x
y
2
2
6
6
11
'
'
y
x
SHy
x
100
01
001
bSH y
3 75 9
3
7
5
9
2
6
2 6
4/18/2011
8
Nộ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
16
Xoay quanh 1 điểm bất kỳ?
1y
1x
P1P1θ
100
10
01
1
1
y
x
100
10
01
1
1
y
x
100
0cossin
0sincos
11, yxT 11, yxT R
1111 ,, yxTRyxT
100
???
???
=
= =
4/18/2011
9
17
Co giãn quanh 1 điểm bất kỳ?
1y
1x
P1 1y
1x
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
4/18/2011
10
Window - Viewport
19
Tọa độ thế giới thực Tọa độ màn hình
window
viewport
viewport 1
viewport 2
20
),( minmin yx
),( maxmax yx
),( minmin vu
),( maxmax vu
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ướcviewport4. Tịnh tiến đến tọa độ
viewport
windowviewportwindowviewportwv TSTM 2
11
w
w
wvv
v
y
x
My
x
Mwv=?
xv,yv=?
4/18/2011
11
Nộ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
z x
y
z
Hệ tọa độ phải(right-handed coordinate system)
Hệ tọa độ trái(left-handed coordinate system)
4/18/2011
12
1000
0cossin0
0sincos0
0001
xR
1000
000
000
000
,,z
y
x
zyxs
s
s
sssS
23
1000
100
010
001
,,z
y
x
zyxd
d
d
dddT
- Tịnh tiến: - Co giãn:
- Quay:
1000
0cos0sin
0010
0sin0cos
yR
1000
0100
00cossin
00sincos
zR
Bài tập 03
24
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, xv,yv
khi biết xmin, ymin, xmax, ymax, umin, vmin, umax, vmax. (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ồ