Tải bản đầy đủ (.pdf) (11 trang)

Biến đổi tọa độ quan sát trong đồ họa 3d

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (480.75 KB, 11 trang )

ĐỒ HỌA 3DĐỒ HỌA 3D
BIẾN ĐỔI TỌA ĐỘ QUAN SÁTBIẾN ĐỔI TỌA ĐỘ QUAN SÁT
Giảng viên : Bùi Tiến Lên
Quan sát 3DQuan sát 3D
Chuyển tọa độ của các đối tượng từ hệ tọa độ thế giới
thực sang hệ tọa độ quan sát (tọa độ camera).
Trang
Trang Trang
Trang Trang
Trang Trang
Trang 2
22
22
22
2
Moâ taû camera quan saùtMoâ taû camera quan saùt
y
up
v

Trang
Trang Trang
Trang Trang
Trang Trang
Trang 3
33
33
33
3
O
x


z
look
v

vò trí
Mô tả camera quan sátMô tả camera quan sát
đặt
góc nhìn 1
Trang
Trang Trang
Trang Trang
Trang Trang
Trang 4
44
44
44
4
toàn cảnh
đặt
camera
góc nhìn 2
Xây dựng hệ tọa độ camera quan sátXây dựng hệ tọa độ camera quan sát
n
v
v
v
n
vòđơn ectorV
VRP
độ


tọa

hệ

của

ốc
G
look
look





×
−=
y
v

n

Trang
Trang Trang
Trang Trang
Trang Trang
Trang 5
55
55

55
5
u
n
v
nv
n
v
u
up
up





×
=
×
×
=
O
x
z
u

n

VRP
Phép biến đổi về tọa độ cameraPhép biến đổi về tọa độ camera

y
v

n

Tònh tiến
Trang
Trang Trang
Trang Trang
Trang Trang
Trang 6
66
66
66
6
x
z
u

n

VRP
Phép biến đổi về tọa độ cameraPhép biến đổi về tọa độ camera
y
Quay
Trang
Trang Trang
Trang Trang
Trang Trang
Trang 7

77
77
77
7
x
z
u

v

n

VRP
Phép biến đổi về tọa độ cameraPhép biến đổi về tọa độ camera
y
Trang
Trang Trang
Trang Trang
Trang Trang
Trang 8
88
88
88
8
u

v

n


x
z
VRP
Ma trận biến đổiMa trận biến đổi
Phép biến đổi về tọa độ camera bao gồm : Phép tònh tiến
T, phép quay R.












=
















=
1
0
0
0
0nvu
0nvu
0
n
v
u
R ,
1
VRP
VRP
VRP
0100
0010
0
0
0
1
T
zzz
yyy
xxx

Trang
Trang Trang
Trang Trang
Trang Trang
Trang 9
99
99
99
9














−−−
==
















1n.VRPv.VRPu.VRP
0nvu
0nvu
0nvu
R.TM

1
0
0
0
1
VRP
VRP
VRP
zzz
yyy
xxx
ZYX

Cách chuyển đổi tọa độCách chuyển đổi tọa độ

Hệ tọa độ gốc Hệ tọa độ camera
y
v

n

Trang
Trang Trang
Trang Trang
Trang Trang
Trang 10
1010
1010
1010
10
P P.M
O
x
z
u

n

VRP
P
Caøi ñaëtCaøi ñaët
TAffine3D LookAt3D(TPoint3D vc, TPoint3D ve, TPoint3D vup)
{
TAffine3D T;
TPoint3D u, v, n;

n = Norm(ve-vc);
u = Norm(vup * n);
v = n * u;
T.M[0][0] = u.x; T.M[0][1] = v.x;
Trang
Trang Trang
Trang Trang
Trang Trang
Trang 11
1111
1111
1111
11
T.M[0][0] = u.x; T.M[0][1] = v.x;
T.M[1][0] = u.y; T.M[1][1] = v.y;
T.M[2][0] = u.z; T.M[2][1] = v.z;
T.M[3][0] = -vc^u; T.M[3][1] = -vc^v;
T.M[0][2] = n.x; T.M[0][3] = 0;
T.M[1][2] = n.y; T.M[1][3] = 0;
T.M[2][2] = n.z; T.M[2][3] = 0;
T.M[3][2] = -vc^n; T.M[3][3] = 1;
return T;
}

×