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 0z
− 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 0z
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
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:
bai_giang_do_hoa_hien_thuc_ao_bai_5_nguyen_ly_ve_3d_va_phep.pdf

