Tải bản đầy đủ (.ppt) (15 trang)

Bài giảng đồ họa máy tính phép chiếu (projection)

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 (121.4 KB, 15 trang )

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)



(
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



×