Bài giảng Đồ họa hiện thực ảo - Bài 5: Nguyên lý về 3D và Phép chiếu - Projection - Lê Tấn Hùng

Bài 5  
Nguyên lý về 3D  
„ Ðồ họa 3 chiều - 3D computer graphics bao gồm việc bổ  
xung kích thước về chiều sâu của đối tượng, cho phép ta biểu  
diễn chúng trong thế giới thực một cách chính xác và sinh  
động hơn.  
Nguyên lý về 3D và  
Phép chiếu-Projection  
„ Tuy nhiên các thiết bị truy xuất hiện tại đều là 2 chiều, Do  
vậy việc biểu diễn được thực thi thông qua phép tô chát –  
render để gây ảo giác illusion về độ sâu  
„ 3D Graphics là việc chyển thế giới tự nhiên dưới dạng các mô  
hình biểu diễn trên các thiết bị hiển thị thông qua kỹ thuật tô  
chát (rendering).  
Lê Tấn Hùng  
0913030731  
(c) SE/FIT/HUT 2002  
1
(c) SE/FIT/HUT 2002  
2
4
6
Ðặc điểm của kỹ thuật đồ hoạ 3D  
Có các đối tượng phức tapj hơn các đối tượng trong  
Các phương pháp hiển thị 3D  
„ Với các thiết bị hiển thị 2D:  
không gian 2D  
„ Bao bởi các mặt ph
„ Có các thành phần trong và ngoài  
orthographic/perspective  
„ Kỹ thuật đánh dấu độ sâu - depth cueing  
„ Nét khuất - visible line/surface identification  
„ Tô chát bề mặt-surface rendering  
„ Các phép biến đổi hình học phức tạp  
„ Các phép biến đổi hệ toạ độ phức tạp hơn  
„ Cắt lát - exploded/cutaway scenes, cross-sections  
„ Thường xuyên phải bổ xung thêm phép chiếu từ  
„ Thiết bị hiển thị 3D:  
không gian 3D vào không gian 2D  
„ Kính stereo - Stereoscopic displays*  
„ Màn hình 3D - Holograms  
„ Luôn phải xác định các bề mặt hiển thị  
(c) SE/FIT/HUT 2002  
3
(c) SE/FIT/HUT 2002  
Exploded/cutaway scenes  
Perspective and  
Depth of Field  
3D GRAPHICS PIPELINE  
RLD SCENE/OBJECT  
Shadows as
Modelling coordinates:  
- world coordinate system,  
- object coordinate system  
3D MODELLING  
VIEWING  
3D CLIPPING  
PROJECTION  
Camera coordinates  
Screen/Window coordinates  
Device coordinates  
RASTERIZATION  
Different views of a 3D model  
2D PIXELMAP DISPLAY  
(c) SE/FIT/HUT 2002  
5
(c) SE/FIT/HUT 2002  
3D - Modelling  
Clipping 3D  
x2 + y2 + z2 = r2  
view frustrum  
Polygonal  
Implicit  
3D Modelling  
x = sin4θ  
y = cos2θ  
outside view so  
must be clipped  
Particles  
Parametric  
(c) SE/FIT/HUT 2002  
7
(c) SE/FIT/HUT 2002  
8
10  
12  
Viewing and Projection  
Rasterization  
3d models  
camera setup  
viewport  
(c) SE/FIT/HUT 2002  
9
(c) SE/FIT/HUT 2002  
Các bước xây dựng hình chiếu  
Phép chiếu  
täa ®é thiÕt  
bÞ  
khung nh×n  
Định nghĩa về phép chiếu  
PhÐp biÕn ®æi vµo  
cæng nh×n cña  
täa ®é thiÕt bÞ  
C¾t theo view  
volum  
PhÐp chiÕu trªn  
mÆt ph¼ng chiÕu  
Định nghĩa về hình chiếu  
„
„
„
1. đối tượng trong không gian 3D với tọa độ thực được cắt theo một không gian  
xác định gọi là view volume.  
Ảnh của đối tượng trên mặt phẳng chiếu được hình thành từ  
phép chiếu bởi các đường thẳng gọi là tia chiếu (projector)  
xuất phát từ một điểm gọi là tâm chiếu (center of projection)  
2. view volume được chiếu lên mặt phẳng chiếu. Diện tích choán bởi view volume  
trên mặt phẳng chiếu đó sẽ cho chúng ta khung nhìn.  
đi qua các điểm của đối tượng giao với mặt chiếu (projection  
plan).  
3. là việc ánh xạ khung nhìn vào trong một cổng nhìn bất kỳ cho trước trên màn  
hình để hiển thị hình ảnh  
(c) SE/FIT/HUT 2002  
11  
(c) SE/FIT/HUT 2002  
Phép chiếu song song  
Parallel Projections  
ƒ
ƒ
ƒ
ƒ
Phép chiếu song song - Parallel Projections  
Phân loại phép chiếu song song dựa trên hướng của tia  
chiếu Direction Of Projection và mặt phẳng chiếu -  
projection plane  
Phép chiếu trực giao (Orthographic projection)  
Ứng với mỗi mặt phẳng chiếu ta có 1 ma trận chiếu  
tương ứng  
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
[Ty ] =  
[Tz ] =  
[Tx ] =  
0
0
0
0
1
1
0
0
(c) SE/FIT/HUT 2002  
13  
(c) SE/FIT/HUT 2002  
14  
16  
18  
Phép chiếu trục lượng (Axonometric)  
Trimetric  
„ Phép chiếu trục lượng  
SF- tỉ lệ co theo các trục là:  
„ Phép chiếu Trimetric  
fx = x'x +y'x  
fy = x'2y +y'2y  
fz = x'2z +y'2z  
„
trên cơ sở tỉ lệ co - SF của ảnh đối tượng trên mỗi trục là  
khác nhau.  
'
xx yx' 0 1  
1
0
1
0
0 1  
x'y y'y 0 1  
[U] = 0  
0 1  
[T] =  
'
xz yz' 0 1  
0
1 1  
0
0
0 1  
(c) SE/FIT/HUT 2002  
15  
(c) SE/FIT/HUT 2002  
Phép chiếu Dimetric  
Là phép chiếu Trimetric với 2 hệ  
[T ] = [Ry][Rx][Pz]  
2
2
2
2
fz =(xz'2+ yz'2) =sin φ +cos φsin ϕ  
cosφ 0 − sinφ 0  
1
0
0
0
1 0 0 0  
   
.
0
1
0
0
0
cosϕ sinϕ 0 0 1 0 0  
− sinϕ cosϕ 0 0 0 0 0  
=
.
   
2
2
f y = (x'y2 + y'y2) = cos ϕ  
sinφ 0 cosφ 0  
0
0
0
0
1
0
0
0
1
0 0 0 1  
f z  
φ = sin −1(±  
)
cosφ sinφ sinϕ  
0
0
0
0
0
0
0
1
2
2− f z  
0
cosϕ  
[T] =  
sinφ − cosφ sinϕ  
fz  
ϕ = sin−1 (±  
)
0
0
2
(c) SE/FIT/HUT 2002  
17  
(c) SE/FIT/HUT 2002  
Phép chiếu Isometric  
2
1− 2sin ϕ  
2
sin φ =  
2
1− sin ϕ  
2
sin ϕ  
2
sin φ =  
2
.
1− sin ϕ  
2
sin ϕ  
1/3  
1−1/3  
2
sin φ =  
=
=1/2  
2
1−sin ϕ  
1
sinϕ = ±  
3
0
ϕ = ±35.26  
φ = ±450  
f = cos2 ϕ = 2/3 = 0.8165  
(c) SE/FIT/HUT 2002  
19  
(c) SE/FIT/HUT 2002  
20  
22  
24  
Parallel Projections  
Phép chiếu xiên - Oblique  
„ Phép chiếu Cavalier  
orthographic  
oblique  
isometric 21  
axonometric  
(c) SE/FIT/HUT 2002  
(c) SE/FIT/HUT 2002  
Phép chiếu Cavalier  
„ f = 0, β = 90phép chiếu  
sẽ trở thành phép chiếu  
trực giao.  
„ Còn với f = 1 kích thước  
của hình chiếu bằng kích  
thước của đối tượng =>  
cavalier  
„ Phép chiếu Cavalier cho  
phép giá trị của α biến  
đổi một cách tự do α =  
300 và 450  
a = f cosα  
b = f sinα  
1
0
0
1
0
0
0
0
0
0
0
1
[T''] =  
− a − b  
0
1
0
0
1
0
0
0
0
0
0
0
1
0
[T] =  
− f cosα − f sinα  
0
0
(c) SE/FIT/HUT 2002  
23  
(c) SE/FIT/HUT 2002  
Phép chiếu Cabinet  
Oblique Projections  
„ Phép chiếu xiên với hệ số co tỉ lệ f = 1/2  
f
β = cos−1  
= cos−1  
(
)
2
12 + f  
1
(
) = 63.4350  
2
12 + (1 2)2  
D/2  
D
D
Cabinet Projection  
Cavalier Project  
(c) SE/FIT/HUT 2002  
25  
27  
29  
(c) SE/FIT/HUT 2002  
26  
28  
30  
Phép chiếu phối cảnh  
Perspective Projection  
Phép chiếu phối cảnh  
Vanishing points  
„ Each set of parallel lines (=direction) meets at a different  
point: The vanishing point for this direction  
plane lead to collinear  
vanishing points: the horizon for that plane  
„
„
„
Các đoạn thẳng song song của mô h
điểm triệt tiêu - vanishing point  
Phân loại phép chiếu phối cảnh dựa vào tâm chiếu - Centre Of Projection (COP) và  
mặt phẳng chiếu projection plane  
„ Easy examples  
„
corridor  
„
higher = further away  
„ Good way to spot faked images  
(c) SE/FIT/HUT 2002  
(c) SE/FIT/HUT 2002  
Điểm triệt tiêu  
Vanishing poi
Perspective Projections  
„ điểm triệt tiêu quy tắc - principle vanishing point  
1-point perspective  
„ The number of principal vanishing points is determined by  
the number of principal axes cut by the projection plane.  
„ If the plane only cut the z axis (most common), there is only  
1 vanishing point.  
„ 2-points sometimes used in architecture and engineering. 3-  
points seldom used … add little extra realism  
2-point perspective  
(c) SE/FIT/HUT 2002  
(c) SE/FIT/HUT 2002  
Phép biến đổi phối cảnh  
Phép chiếu phối cảnh  
1
0
0
0
0
1
0
0
0
0
1
0
0
0
r
[Tr] =  
1
„
Phép chiếu phối ca?nh của các  
điểm trên đối tượng lên trên  
mặt phẳng 2D thu được từ  
phép chiếu trực giao và phép  
biến đổi phối cảnh  
(c) SE/FIT/HUT 2002  
31  
33  
35  
(c) SE/FIT/HUT 2002  
32  
Perspective Projections  
Perspective Projections  
Consider a perspective projection with the viewpoint at the origin  
and a viewing direction oriented along the positive -z axis and the  
view-plane located at z = -d  
„ Tham số:  
„
„
„
„
centre of projection (COP)  
field of view (θ, φ)  
projection direction  
up direction  
yP  
d
y
z d  
=
⇒ yP =  
imilar construction for xp  
d
⇒
y
x
x
y
x
y
1
0
0
1
0
0
0
0
0
0
x
y
P   
  
  
  
z d  
y
P   
yp  
=
↔
=
-z  
z d   
zP   
1
 − z  0  
z d  
−1 0z  
  
  
− d  
0
1 d  
0
1
1
divide by homogenous ordinate to  
map back to 3D space  
(c) SE/FIT/HUT 2002  
(c) SE/FIT/HUT 2002  
34  
Perspective Projection Details  
Phép chiu phối cnh 1 tâm  
Giả sử khi mặt phẳng được đặt tại z = 0 và tâm phép chiếu nằm trên  
x
trục z , cách trục z một khoảng zc = -1/r.  
x
y
x
y
P   
z d  
Nếu đối tượng cũng nằm trên mặt phẳng z = 0 thì đối tượng sẽ cho  
hình ảnh thật.  
y
P   
=
↔
z d   
zP   
1
 − z   
z d  
Phương trình biến đổi:  
− d  
[ x y z 1 ][ Tr ] = [ x y z rz+1 ]  
ma trận biến đổi một điểm phối cảnh [ Tr ] có dạng:  
1
x
y
1
0
0
1
0
0
0
0
0
0
x
y
  
  
  
=
− z 0  
1
−1 0z  
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
r
PROJECTION  
perspective  
division  
   
0
0 1  
   
matrix  
[ Tr  
] =  
Flip z to transform to a left handed co-ordinate  
system ⇒ increasing z values mean increasing  
distance from the viewer.  
1
(c) SE/FIT/HUT 2002  
(c) SE/FIT/HUT 2002  
36  
Y’  
phép chiếu phối cảnh 1 tâm  
VP (y=10)  
Phép chiếu phối cảnh 2 tâm  
VP ≡ y = 10  
D’, H’C’, G’  
VP( x = 10)  
D’ H’  
C’,G’  
y
y’  
D’  
C’  
G’  
VP  
1
0
1
0
0
0
1
0 1  
0
0
0
0
0
0
1
0
0
0
0
0
0
   
H
G
C
X=10  
H’  
A’, E’B’, F’  
   
0
0
0
0 1  
0
D
A’, E’B’, F’x’  
   
=
r  
=
E
F
0 0 1 r 0  
0
0
0 0  
0
0
x
A’ E’  
F’  
B
x
   
0
0
0 1  
0
1
0
1
A
B
   
z
1 0 0 0  
0 1 0 0  
1
0
0
0
0
1
0
0
0
0
1
0
p
q
0
1
x
y
1
0
0
0
0
1
0
0
0
0
1
0
p
q
0
1
[
x
y
z 1  
]
=
[
x
y
0 rz+1  
]
[
x' y' z'  
1
]
=
0 1  
0 0 0  
r
rz+1 rz+1  
[Tpq ] =  
[
x
y
z
1
]
=
[
x
y
z (px + qy +1)]  
0 0 0 1  
(c) SE/FIT/HUT 2002  
37  
(c) SE/FIT/HUT 2002  
38  
40  
42  
x
y
z
[
x' y' z'  
1
]
=
1
(px + qy +1) (px + qy +1) (px + qy +1)  
Phép chiếu phối cảnh 3 tâm chiếu  
„ [ Tpqr ] = [Tp ][Tq ][Tr ]  
„
[ Tc ] = [ Tpq ][ Tz ]  
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
r
1
0
0
0
0
1
0
0
0
0
1
0
p
q
r
1
0
0
0
0
1
0
0
0
0
1
0
p
q
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
=
=
=
1
1
„ 2 tâm chiếu:  
„ [ -1/p 0 0 1 ]  
„ [ 0 -1/q 0 1 ]  
1
0
0
0
0
0
p
q
r
1
0
0
0
1
0
[x  
y
z
1]  
=
[
x
y
z ( px + qy + rz +1)]  
„ VP (Vanishing point) tương ứng trên 2 trục x và y là điểm: [  
1
1/p 0 0 1 ] và [ 0 1/q 0 1 ].  
(c) SE/FIT/HUT 2002  
39  
(c) SE/FIT/HUT 2002  
x
y
z
[
x' y' z'  
1]  
=
1
(px + qy + rz +1) (px + qy + rz +1) (px + qy + rz +1)  
y'  
„ 3 tâm chiếu:  
y'  
VP ( y = 10)  
„ trên trục x tại điểm [ -1/p 0 0 1 ],  
„ y tại điểm [ 0 -1/q 0 1 ]  
H'  
C'  
D'  
H'  
D'  
„ z tại điểm [ 0 0 -1/r 1 ].  
G'  
C'  
„ VP sẽ tương ứng với các giá trị :  
„ [ 1/p 0 0 1 ], [ 0 1/q 0 1 ] [ 0 0 1/r 1 ]  
„ [ Tc ] = [ Tpqr ][ Tz ]  
E'  
G'  
VP ( x = 10 )  
x'  
1
0
1
0
0
0
0
1
0
p
q
r
1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
p
q
r
   
VP ( z = 10 )  
F'  
A'  
   
0
0
0
0
0
0
0
0
0
   
=
.
=
z'  
x'  
   
   
   
A', E'  
F'  
B'  
B'  
1
1
(c) SE/FIT/HUT 2002  
41  
(c) SE/FIT/HUT 2002  
Phân loại các phép chiếu  
(c) SE/FIT/HUT 2002  
43  
pdf 8 trang yennguyen 20360 Free
Bạn đang xem tài liệu "Bài giảng Đồ họa hiện thực ảo - Bài 5: Nguyên lý về 3D và Phép chiếu - Projection - Lê Tấn Hùng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_do_hoa_hien_thuc_ao_bai_5_nguyen_ly_ve_3d_va_phep.pdf