Projection
Phép chiếu
1
Plane Projection
•
•
Để hiển thị các đối tượng 3D trong thiết bị hiển thị 2D.
Trong phép chiếu phẳng, mỗi điểm đối tượng – object point – được chiếu trên mặt phẳng ảnh – picture plane (view
plane),
plane), chúng ta được một điểm ảnh – picture point.
point.
u2
Picture
plane
r’ picture point
r0
u1
u
Projection line
r object point
2
Mặt phẳng chiếu
Mặt phẳng chiếu có gốc r0 và 2 vectơ đơn vị u1 và u2
Với điểm r’ trên mặt phẳng chiếu, ta có vectơ (r’ – r0
r0) được phân tích theo 2 vectơ đơn vị:
r’ – r0
r0 = x’ u1 + y’ u2
Khi đó (x’, y’) là tọa độ của r’ trên mặt phẳng chiếu.
u2
r0
r’
y’u2
x’u1
u1
3
Plane Parallel Projection
Phép chiếu song song
•
Các đường thẳng chiếu song song với nhau.
u2
r’
r0
u
u1
u
Projection line
r
4
Plane Parallel Projection
(cont)
Mỗi điểm r được chiếu song song theo phương u vào mặt phẳng chiếu, ta được điểm ảnh r’:
∃ ! z’ : r’ = r – z’u
r’ là điểm ảnh nằm trên mặt phẳng chiếu:
∃ ! x’, y’ : r’ = r0
r0 + x’u1
x’u1 + y’u2
y’u2
Do đó:
r – z’u = r0
r0 + x’u1
x’u1 + y’u2
y’u2
(1)
u2
r
z’u
r0
r’
y’u2
x’u1
u1
5
Plane Parallel Projection
Xác định z’
Xác định z’ bằng cách nhân vô hướng 2 vế của (1) cho u1
u1 x u2
u2:
(r – z’u) . (u1
(u1 x u2
u2) = (r0
(r0 + x’u1
x’u1 + y’u2
y’u2) . (u1
(u1 x u2
u2)
z’u . (u1
(u1 x u2
u2) = (r – r0
r0) . (u1
(u1 x u2
u2)
(
r − r0 ) ⋅ ( u1 × u2 )
⇒ z' =
u ⋅ ( u1 × u2 )
u2
r
z’u
r0
r’
y’u2
x’u1
u1
6
Vector Product – Tích hữu hướng
a x b là vectơ vuông góc với vectơ a và b:
Tính chất:
i
j
k
a × b = a1
a2
a3
b1
b2
b3
a × b = a b sin θ
b × a = −a × b
a × ( b + c) = a × b + a × c
Mối liên giữa tích vô hướng và hữu hướng:
( λa ) × b = a × ( λ b ) = λ ( a × b )
i × j = k , j × k = i, k × i = j
a ⋅ ( b × c) = b ⋅ ( c × a) = c ⋅ ( a × b)
= − a ⋅ ( c × b ) = −b ⋅ ( a × c ) = −c ⋅ ( b × a )
a × ( b × c) = ( a ⋅ c)b − ( a ⋅ b) c
7
Plane Parallel Projection
Xác định x’, y’
Tương tự, xác
xác định x’, y’ bằng cách nhân vô hướng 2 vế của (1) lần lượt cho u2
u2 x u và u1x u :
(r – z’u) . (u2
(u2 x u) = (r0
(r0 + x’u1
x’u1 + y’u2
y’u2) . (u2
(u2 x u)
(r – z’u) . (u1
(u1 x u) = (r0
(r0 + x’u1
x’u1 + y’u2
y’u2) . (u1
(u1 x u)
và
(
r − r0 ) ⋅ ( u2 × u )
⇒ x' =
u1 ⋅ ( u2 × u )
(
r − r0 ) ⋅ ( u1 × u )
y' =
u 2 ⋅ ( u1 × u )
u2
r
z’u
r0
r’
y’u2
x’u1
u1
8
Plane Parallel Projection
Phép chiếu vuông góc
Trong hầu hết các trường hợp, mặt phẳng chiếu được chọn là vuông góc với đường thẳng chiếu, vậy:
u = u1
u1 x u2
u2
Do đó,
(
r − r0 ) ⋅ ( u2 × u )
= ( r − r0 ) u1
x' =
(
)
u
⋅
u
×
u
1
2
(
r − r0 ) ⋅ ( u1 × u )
= ( r − r0 ) u2
y' =
u2 ⋅ ( u1 × u )
z ' = ( r − r0 ) ⋅ ( u1 × u2 ) = ( r − r ) u
0
u ⋅ ( u1 × u2 )
9
Plane Parallel Projection
Phép chiếu vuông góc - Dạng ma trận
x' = ( r − r0 ) u1
y ' = ( r − r0 ) u2
z' = ( r − r )u
0
x' u1T
y '
T
u
2
R' = =
z' uT
1 0 0
0 1
0 0
0 0
0 1 0
0
1
0
0
0 − x0 x
0 − y0 y
= ATR
1 − z0 z
0
1 1
10
Plane Perspective Projection
Phép chiếu phối cảnh
Các đường thẳng chiếu hội tụ về một điểm chung rv
rv, gọi là điểm quan sát - eyepoint.
eyepoint.
Vật thể càng xa thì càng nhỏ.
u2
r
r’
rv
r0
u1
11
Plane Perspective Projection
Xác định x’, y’, z’
Điểm ảnh r’ nằm trên mặt phẳng chiếu:
∃ ! x’, y’ : r’ = r0
r0 + x’ u1
u1 + y’ u2
u2
Điểm ảnh r’ thuộc đường thẳng chiếu nối đối tượng r và điểm quan sát rv
rv:
’
∃ ! z’ : r’ = z’ r + (1-z ) rv
rv
Do đó,
’
r0 + x’ u1
u1 + y’ u2
u2 = z’ r + (1-z ) rv
rv
r0 – rv
rv + x’ u1
u1 + y’ u2
u2 = z’ (r – rv
rv)
(2)
u2
r
r’
rv
r0
y’u2
x’u1
u1
12
Plane Perspective Projection
Xác định x’, y’, z’
Xác định x’, y’, z’ bằng cách nhân vô hướng 2 vế của (2) lần lượt cho u2 x (r-rv
(r-rv), u1 x (r-rv
(r-rv) và u1 x u2
u2:
( rv − r0 ) ⋅ [ u2 × ( r − rv ) ] = ( r − rv ) ⋅ [ u2 × ( r0 − rv ) ]
( r − rv ) ⋅ [ u1 × u2 ]
u1 ⋅ [ u2 × ( r − rv ) ]
(
rv − r0 ) ⋅ [ u1 × ( r − rv ) ] ( r − rv ) ⋅ [ u1 × ( r0 − rv ) ]
y' =
=
( r − rv ) ⋅ [ u2 × u1 ]
u2 ⋅ [ u1 × ( r − rv ) ]
(
r0 − rv ) ⋅ ( u1 × u2 )
z' =
( r − rv ) ⋅ ( u1 × u2 )
x' =
u2
r
r’
rv
r0
y’u2
x’u1
u1
13
Plane Perspective Projection
Trường hợp đặc biệt
− d ( r − r0 ) ⋅ u1
Khi đường nối điểm quan sát và gốc của mặt
x' =
phẳng chiếu vuông góc với mặt phẳng chiếu:
( r − r0 ) ⋅ u − d
− d ( r − r0 ) ⋅ u2
y' =
( r − r0 ) ⋅ u − d
rv = r0
r0 + d u với u = u1
u1 x u2
u2
−d
z' =
( r − r0 ) ⋅ u − d
u2
r
r’
rv
du
r0
y’u2
x’u1
u1
14
Plane Perspective Projection
Trường hợp đặc biệt (cont)
− d ( r − r0 ) ⋅ u1
xd
x' =
=
( r − r0 ) ⋅ u − d d − z
Khi mặt phẳng chiếu là Oxy:
•
•
•
•
r0 = (0,0,0)
u1 = (1,0,0)
u2 = (0,1,0)
u = (0,0,1)
y' =
− d ( r − r0 ) ⋅ u2
yd
=
( r − r0 ) ⋅ u − d d − z
z' =
−d
zd
=
( r − r0 ) ⋅ u − d d − z
u2
r
r’
rv
du
r0
y’u2
x’u1
u1
15