GIÁO TRÌNH ĐỒ HỌA MÁY TÍNH_VIEWING TRANSFORMATIONS - Pdf 19

ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Viewing transformation 1/10
V
VV
V
V
VV
V
I
II
I
I
II
I
E
EE
E
E
EE
E
W
WW
W
W
WW
W
I
II
I
I
II

A
N
NN
N
N
NN
N
S
SS
S
S
SS
S
F
FF
F
F
FF
F
O
OO
O
O
OO
O
R
RR
R
R
RR

O
N
NN
N
N
NN
N
S
SS
S
S
SS
S
D
D
a
a
ã
ã
n
n
n
n
h
h
a
a
ä
ä
p

i
e
e
å
å
n
n
t
t
h
h
ò
ò
C
C
a
a
m
m
e
e
r
r
a
a
• Các tham số của Camera
♦ Vò trí mắt nhìn (x, y, z)
♦ Hướng nhìn (towards vector, up vector)
♦ Vùng quan sát
ĐỒ HỌA MÁY TÍNH

m
a
a
t
t
i
i
o
o
n
n
• Trong cảnh trên, gốc tọa độ của world space đặt ngay
dưới đáy ghế, trục z hướng lên đi qua tâm của bình trà.
Để thuận tiện, trục x và y được chọn song song với các
bức tường (chú ý các viên gạch trên nền nhà). Với hệ
tọa độ này, ghế và bình trà rất dễ dàng biểu diễn.
• Bước tiếp theo, ta cần mô tả ảnh của mô hình ta đang
mong muốn diễn tả. Công việc này sẽ dễ dàng hơn
nhiều nếu gốc tọa độ trùng với vò trí quan sát (vò trí của
mắt hay camera). (Xem hình bên dưới)
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Viewing transformation 4/10
• Ta có thể đạt được điều này nhờ vào các phép biến đổi
tònh tiến và quay (rigid body transformations). Trước
tiên, ta cần thực hiện phép quay để cho 2 trục tọa độ
(world và camera) cùng phương.
• Sau đó, ta thực hiện phép tònh tiến để đưa gốc tọa độ
của world space về trùng với gốc tọa độ của eye space.
• Tại sao ta lại quay trước rồi mới tònh tiến ? Ta có
thể thực hiện theo một cách khác không ?

r
a
a
n
n
s
s
f
f
o
o
r
r
m
m
a
a
t
t
i
i
o
o
n
n
• Trước tiên, ta xác đònh vò trí đặt camera (hoặc vò trí
quan sát) trong không gian thực. Ta gọi nó là vò trí mắt
(eye point). Sau đó, ta xác đònh một vò trí trong cảnh
(scene) mà ta muốn nó sẽ xuất hiện ở trung tâm của cửa
sổ nhìn. Ta gọi điểm này là điểm nhìn (look-at point).

ê
ê
ë
é
=
ú
ú
ú
ù
ê
ê
ê
ë
é
z
y
x
z
y
x
z
y
x
eye
eye
eye
lookat
lookat
lookat
l

H
H
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Viewing transformation 7/10
• Sau phép biến đổi V, r
o
(vector r đã được chuẩn hóa) sẽ
biến thành vector [1, 0, 0].
[]
Vr01
0
H
=0
trong đó
2
z
2
y
2
x
0
rrr
r
r
++
=
H
• Cuối cùng, ta có thể xác đònh vector cơ sở thứ 3, vector u
vuông góc với 2 vector r và l:
lru

r
100
010
001
0
0
0
ú
ú
ú
ù
ê
ê
ê
ë
é

=
ú
ú
ú
ù
ê
ê
ê
ë
é
H
H
H

z
0
z
0
z
0
y
0
y
0
y
0
x
0
x
0
x
000rotate
lur
lur
lur
lurV
• Tiếp theo, ta tính phần tònh tiến của viewing
transformation. Để làm được điều này, trưóc tiên ta cần
nhớ rằng phép quay chúng ta vừa xác đònh có tâm quay
là gốc tọa độ, trong khi ta lại muốn phép quay xảy ra ở
điểm quan sát (eye point). Ta có thể thực hiện phép
quay với tâm quay đúng bằng cách trừ vào tọa độ của
điểm đang xét trong không gian thực tọa độ của điểm
quan sát. Ta có phương trình ([x’,y’,z’] là điểm ảnh tương

ê
ë
é

ú
ú
ú
ù
ê
ê
ê
ë
é
=
zzz
yyy
xxx
zyx
zzz
yyy
xxx
l-ur
l-ur
l-ur
eyeeyeeye
l-ur
l-ur
l-ur
zyx'zy'x'
• Cuối cùng, ta có thể chuyển phép biến đổi sang dạng


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status