Bài giảng Đồ họa máy tính: Phép cắt 2D (Clipping) và phép chiếu
Cần tính ra ma trận biến đổi cho các phép chiếu phối cảnh và chiếu song song. Phải là ma trận 4x4.
Bạn đang xem nội dung tài liệu Bài giảng Đồ họa máy tính: Phép cắt 2D (Clipping) và phép chiếu, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
10/22/2007Bùi Thế Duy - Bộ môn KHMT
1
Đồ họa máy tính
Phép cắt 2D (Clipping) và phép chiếu
10/22/2007Bùi Thế Duy - Bộ môn KHMT
2
Nền tảng toán học
z Cần tính ra ma trận biến đổi cho các phép
chiếu phối cảnh và chiếu song song.
z Phải là ma trận 4x4.
10/22/2007Bùi Thế Duy - Bộ môn KHMT
3
Chiếu phối cảnh – trường hợp
đơn giản nhất
Tâm chiếu là gốc tọa độ
Mặt phẳng chiếu tại z=d.
Mặt phẳng chiếu
x
y
Pp(xp,yp,d)
P(x,y,z)
zd
10/22/2007Bùi Thế Duy - Bộ môn KHMT
4
Chiếu phối cảnh – trường hợp
đơn giản nhất
d
x
y
z
P(x,y,z)
Pp(xp,yp,d)
z
P(x,y,z)
d
z
P(x,y,z)
d
y
x
xp
yp
dz
y
z
ydy
dz
x
z
xdx
z
y
d
y
z
x
d
x
pp
pp
/
;
/
;
=⋅==⋅=
==
10/22/2007Bùi Thế Duy - Bộ môn KHMT
5
Chiếu phối cảnh
[ ] [ ]TTTpp dzzyxdzydzxddyx =⎥⎦⎤⎢⎣⎡= 1..1
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
=
01/d00
0100
0010
0001
perM
10/22/2007Bùi Thế Duy - Bộ môn KHMT
6
Chiếu phối cảnh
[ ]
[ ] [ ]TT
perp
T
p
dzzyxWZYX
z
y
x
PMP
WZYXP
/
101/d00
0100
0010
0001
==
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
⋅
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
=⋅=
=
10/22/2007Bùi Thế Duy - Bộ môn KHMT
7
Chiếu phối cảnh
[ ]
⎟⎠
⎞⎜⎝
⎛=⎟⎠
⎞⎜⎝
⎛
=
d
dz
y
dz
x
W
Z
W
Y
W
X
dzzyxP Tp
,
/
,
/
,,
/
Vấn đề với công thức này :
Tâm chiếu cố định tại gốc tọa
độ.
10/22/2007Bùi Thế Duy - Bộ môn KHMT
8
Tìm điểm “biến mất” (vanishing
points)
z Nhắc lại: Một điểm
“biến mất” của một trục
là điểm mà trục tọa độ
cắt mặt phẳng chiếu →
điểm tại vô cùng.
( )dP
P
P
M
zvp
yvp
xvp
per
00
01/d00
0100
0010
0001
=
∞=
∞=
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
=
[ ]Tvpxp 0001=
10/22/2007Bùi Thế Duy - Bộ môn KHMT
9
Công thức khác
z
P(x,y,z)
d
x
xp
z
P(x,y,z)
d
y
yp
Mặt phẳng chiếu tại z = 0
Gốc tọa độ tại
z = -d
1)/(
;
1)/(
;
+=+
⋅=+=+
⋅=
+=+=
dz
y
dz
ydy
dz
x
dz
xdx
dz
y
d
y
dz
x
d
x
pp
pp
10/22/2007Bùi Thế Duy - Bộ môn KHMT
10
Công thức khác.
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
=′
11/d00
0000
0010
0001
perM
z
P(x,y,z)
d
x
xp
z
P(x,y,z)
d
y
yp
Mặt phẳng chiếu tại z = 0,
Tâm chiếu tại
z = -d
Cho phép d→∞
10/22/2007Bùi Thế Duy - Bộ môn KHMT
11
Chiếu Stereo
• Chiếu stereo là hai phép chiếu phối cảnh :
vật thể
Mắt trái
Mắt phải
z
x
r
r
l
l
màn hình chiếu
Max effect at 50cm
E
E
10/22/2007Bùi Thế Duy - Bộ môn KHMT
12
Example
10/22/2007Bùi Thế Duy - Bộ môn KHMT
13
Chiếu trực giao
Chiếu trực giao lên mặt phẳng z = 0.
xp = x , yp = y , z = 0.
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
=
1000
0000
0010
0001
orthM
10/22/2007Bùi Thế Duy - Bộ môn KHMT
14
Clipping 3D
z Với chiếu trực giao, khối nhìn là một hình
hộp.
z Với chiếu phối cảnh, khối nhìn là một hình
chóp cụt (frustrum).
Trái
Phải
Mặt phẳng cắt xa
Mặt phẳng cắt gần
Cần tính giao điểm với 6 mặt phẳng
10/22/2007Bùi Thế Duy - Bộ môn KHMT
15
Tăng tốc phép chiếu
z Luôn đặt camera tại gốc tọa độ !
– OpenGL , Renderman.
z Dễ hơn nhiều để cắt (clipping) các đường kẻ theo
các khối lập phương
– Định nghĩa các khối nhìn chuẩn
– Định nghĩa một phép chuyển từ khối nhìn
sang khối nhìn chuẩn
– Thực hiện các phép cắt (clipping), rồi chuyển
lại khối nhìn ban đầu.
10/22/2007Bùi Thế Duy - Bộ môn KHMT
16
Clipping 3D
z Sử dụng thuật toán Cohen-Sutherland
– Mã 6-bit.
– Chấp nhận đơn giản khi cả mã của cả hai đầu
mút là 0.
– Thực hiện phép AND logic, loại bỏ nếu khác
0.
– Tìm phần giao với một mặt phẳng của khối
nhìn và thêm hai đoạn thẳng mới vào để xử lý
lại.
10/22/2007Bùi Thế Duy - Bộ môn KHMT
17
Clipping đa giác 3D
z Mở rộng thuật toán Sutherland-Hodgman
cho 3 chiều.
z Cắt 6 lần thay vì 4 lần
10/22/2007Bùi Thế Duy - Bộ môn KHMT
18
Tổng kết
z Nền tảng toán học của phép chiếu
z Clipping 3D