Khoa CNTT – DHBK Hanoi
8682595
Bài 5
Nguyên lý về 3D và
Phép chiếu-Projection
Nguyên lý về 3D
Lê Tấn Hùng
0913030731
(c) SE/FIT/HUT 2002
Ðồ 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.
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).
1
(c) SE/FIT/HUT 2002
Ðặc điểm của kỹ thuật đồ hoạ 3D
Các phương pháp hiển thị 3D
Có các đối tượng phức tapj hơn các đối tượng trong
không gian 2D
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
Thường xuyên phải bổ xung thêm phép chiếu từ
không gian 3D vào không gian 2D
Luôn phải xác định các bề mặt hiển thị
(c) SE/FIT/HUT 2002
Perspective and
Depth of Field
Với các thiết bị hiển thị 2D:
Bao bởi các mặt phẳng hay các bề mặt
Có các thành phần trong và ngoài
2
3D viewing positions
Kỹ thuật chiếu - projection: 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ắt lát - exploded/cutaway scenes, cross-sections
Thiết bị hiển thị 3D:
Kính stereo - Stereoscopic displays*
Màn hình 3D - Holograms
3
(c) SE/FIT/HUT 2002
4
Exploded/cutaway scenes
3D GRAPHICS WORLD
PIPELINE
SCENE/OBJECT
Shadows as depth cues
Modelling coordinates:
- world coordinate system,
- object coordinate system
3D MODELLING
VIEWING
3D CLIPPING
Camera coordinates
PROJECTION
Screen/Window coordinates
RASTERIZATION
Device coordinates
Different views of a 3D model
(c) SE/FIT/HUT 2002
CuuDuongThanCong.com
2D PIXELMAP DISPLAY
5
(c) SE/FIT/HUT 2002
/>
6
1
Khoa CNTT DHBK Hanoi
8682595
3D - Modelling
Clipping 3D
x +y +z =r
2
2
2
2
view frustrum
Polygonal
3D Modelling
Implicit
x = sin 4
y = cos 2
outside view so
must be clipped
Particles
Parametric
7
(c) SE/FIT/HUT 2002
Viewing and Projection
(c) SE/FIT/HUT 2002
8
(c) SE/FIT/HUT 2002
10
Rasterization
3d models
camera setup
viewport
(c) SE/FIT/HUT 2002
9
Cỏc bc xõy dng hỡnh chiu
Phộp chiu
tọa độ thực
3D
nh ngha v phộp chiu
tọa độ theo vùng
cắt
Cắt theo view
volum
nh ngha v hỡnh chiu
nh ca i tng trờn mt phng chiu c hỡnh thnh t
phộp chiu bi cỏc ng thng gi l tia chiu (projector)
xut phỏt t mt im gi l tõm chiu (center of projection)
i qua cỏc im ca i tng giao vi mt chiu (projection
plan).
(c) SE/FIT/HUT 2002
CuuDuongThanCong.com
11
khung nhìn
Phép chiếu trên
mặt phẳng chiếu
tọa độ thiết
bị
Phép biến đổi vào
cổng nhìn của
tọa độ thiết bị
1. i tng trong khụng gian 3D vi ta thc c ct theo mt khụng gian
2. view volume c chiu lờn mt phng chiu. Din tớch choỏn bi view volume
xỏc nh gi l view volume.
trờn mt phng chiu ú s cho chỳng ta khung nhỡn.
3. l vic ỏnh x khung nhỡn vo trong mt cng nhỡn bt k cho trc trờn mn
hỡnh hin th hỡnh nh
(c) SE/FIT/HUT 2002
/>
12
2
Khoa CNTT – DHBK Hanoi
8682595
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
[T y ] =
0
0
0 0 0
0
0
0 0 0
[T ] =
0 1 0 x
0
0 0 1
0
0 0 0
1
0
1 0 0
[T z ] =
0
0 1 0
0 0 1
0
13
(c) SE/FIT/HUT 2002
Phép chiếu trục lượng (Axonometric)
0 0 0
1 0 0
0 0 0
0 0 1
(c) SE/FIT/HUT 2002
14
(c) SE/FIT/HUT 2002
16
Trimetric
Phép chiếu trục lượng
Phép chiếu Trimetric
trên cơ sở tỉ lệ co - SF của ảnh đối tượng trên mỗi trục là
khác nhau.
SF- tỉ lệ co theo các trục là:
f x = x' 2x + y' 2x
xx'
'
x
[T ] = y'
xz
0
1 0 0 1
[U ] = 0 1 0 1
0 0 1 1
y x'
y 'y
y z'
0
(c) SE/FIT/HUT 2002
0 1
0 1
0 1
0 1
f y = x' 2y + y' 2y
f z = x' 2z + y' 2z
15
Phép chiếu Dimetric
[T ] = [ Ry ][ Rx ][ Pz ]
cos φ
0
=
sin φ
0
0
0 − sin φ 0 1
1
0
0 0 cos ϕ
.
0 cos φ 0 0 − sin ϕ
0
0
0
1 0
cos φ
0
[T ] =
sin φ
0
sin φ sin ϕ
cos ϕ
− cos φ sin ϕ
0
Là phép chiếu Trimetric với 2 hệ
số tỉ lệ co bằng nhau, giá trị thứ 3
còn lại là tuỳ ý.
0 1
sin ϕ 0 0
.
cos ϕ 0 0
0
1 0
0
0 0 0
1 0 0
0 0 0
0 0 1
f z2 = (xz'2 + yz'2 ) = sin2 φ + cos2 φ sin2 ϕ
f y2 = ( x 'y2 + y 'y2 ) = cos 2 ϕ
φ = sin −1 ( ±
0 0
0 0
0 0
0 1
ϕ = sin −1 (±
fz
2 − f z2
fz
)
)
2
(c) SE/FIT/HUT 2002
CuuDuongThanCong.com
17
(c) SE/FIT/HUT 2002
/>
18
3
Khoa CNTT – DHBK Hanoi
8682595
Phép chiếu Isometric
sin 2 φ =
1 − 2 sin 2 ϕ
1 − sin 2 ϕ
sin 2 ϕ
1 − sin 2 ϕ
sin2 ϕ
1/ 3
sin2 φ =
=
= 1/ 2
1 − sin2 ϕ 1 − 1/ 3
1
sin ϕ = ±
3
sin 2 φ =
.
ϕ = ±35.260
φ = ±450
f = cos 2 ϕ = 2 / 3 = 0.8165
19
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
Parallel Projections
20
Phép chiếu xiên - Oblique
Phép chiếu Cavalier
Phép chiếu Cabinet
orthographic
oblique
axonometric
isometric
(c) SE/FIT/HUT 2002
21
(c) SE/FIT/HUT 2002
22
(c) SE/FIT/HUT 2002
24
Phép chiếu Cavalier
0
1
0
1
[T ' ' ] =
− a − b
0
0
0
0
0
0
0
0
0
1
a = f cosα
b = f sin α
1
0
[T ] =
− f cos α
0
(c) SE/FIT/HUT 2002
CuuDuongThanCong.com
0
1
− f sin α
0
0 0
0 0
0 0
0 1
23
f = 0, β = 900 phé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
/>
4
Khoa CNTT – DHBK Hanoi
8682595
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 (
1 + f
2
2
)
1
2
) = 63.435 0
1 + (1 2 ) 2
2
D/2
D
D
D
Cavalier Project
Cabinet Projection
(c) SE/FIT/HUT 2002
25
(c) SE/FIT/HUT 2002
Phép chiếu phối cảnh
Perspective Projection
Vanishing points
Phép chiếu phối cảnh
Các đoạn thẳng song song của mô hình 3D sau phép chiếu hội tụ tại 1 điểm gọi là
đ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
Each set of parallel lines (=direction) meets at a different
point: The vanishing point for this direction
Sets of parallel lines on the same plane lead to collinear
vanishing points: the horizon for that plane
Easy examples
(c) SE/FIT/HUT 2002
corridor
higher = further away
Good way to spot faked images
27
Điểm triệt tiêu
Vanishing point
26
28
(c) SE/FIT/HUT 2002
Perspective Projections
3-point perspective
đ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. 3points seldom used … add little extra realism
2-point perspective
(c) SE/FIT/HUT 2002
CuuDuongThanCong.com
29
(c) SE/FIT/HUT 2002
/>
30
5
Khoa CNTT – DHBK Hanoi
8682595
Phép biến đổi phối cảnh
Phép chiếu phối cảnh
1
0
[Tr ] =
0
0
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
31
(c) SE/FIT/HUT 2002
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
y yP
y
=
⇒ yP =
z
d
zd
Tham số:
centre of projection (COP)
field of view (θ, φ)
projection direction
up direction
a similar construction for xp
d
⇒
y
yp
Perspective Projection Details
0
0
PROJECTION
matrix
CuuDuongThanCong.com
divide by homogenous ordinate to
map back to 3D space
(c) SE/FIT/HUT 2002
0 x
0 y
0 z
0 1
34
Giả sử khi mặt phẳng được đặt tại z = 0 và tâm phép chiếu nằm trên
trục z , cách trục z một khoảng zc = -1/r.
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.
Phương trình biến đổi:
[ 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:
perspective
division
[ Tr
Flip z to transform to a left handed co-ordinate
system ⇒ increasing z values mean increasing
distance from the viewer.
(c) SE/FIT/HUT 2002
-z
0 0
1 0
0 −1
0 1d
Phép chiếu phối cảnh 1 tâm
x
x
xP z d
y y
↔ y
P =
− z
zP z d
−d
z d
1
1
0 x
0 y
0 − 1 0 z
0 0 0 1
0
1
x
x 1
xP z d
y y
↔ y = 0
P =
− z 0
zP z d
−d
z d 0
1
1
33
(c) SE/FIT/HUT 2002
x 1
y 0
=
− z 0
1 0
32
(c) SE/FIT/HUT 2002
Perspective Projections
Perspective Projections
0 0 0
1 0 0
0 1 r
0 0 1
35
] =
1
0
0
0
0
1
0
0
0
0
1
0
0
0
r
1
(c) SE/FIT/HUT 2002
/>
36
6
Khoa CNTT – DHBK Hanoi
8682595
phép chiếu phối cảnh 1 tâm
Phép chiếu phối cảnh 2 tâm
Y’
VP (y=10)
VP ≡ y = 10
y
1
0
=
0
0
0 0 0 1
1 0 0 0
0 1 r 0
0 0 1 0
1
0
[x y z 1]
0
0
0 0 0 1
1 0 0 0
=
0 0 0 0
0 0 1 0
0
1
0
0
0
0
0
0
D’
0 0 0
1 0 0
0 0 r
0 0 1
H
C’
H’
G’
A’, E’B’, F’
C
E
A’, E’B’, F’x’
F
x
A’ E’
A
F’ B
x
B
z
0
0
= [x y 0 rz+1]
r
1
[x'
y
x
y' z' 1] =
0 1
rz +1 rz +1
x
y ' z ' 1] =
( px + qy + 1)
y
( px + qy + 1)
1
0
=
0
0
z
1
( px + qy + 1)
1
0
0
0
0 0 0 1
1 0 0 0
=
0 0 0 0
0 0 1 0
0 0 p
1 0 q
0 0 0
0 0 1
1
0
=
0
0
2 tâm chiếu:
[ -1/p 0 0 1 ]
[ 0 -1/q 0 1 ]
VP (Vanishing point) tương ứng trên 2 trục x và y là điểm: [
1/p 0 0 1 ] và [ 0 1/q 0 1 ].
y
( px + qy + rz + 1)
[x
H'
G'
C'
E'
G'
C'
VP ( x = 10 )
VP ( z = 10 )
z'
A', E'
F'
(c) SE/FIT/HUT 2002
CuuDuongThanCong.com
x'
B'
B'
0
0
1
0
p
0
0
1
1
0
0
0
1
0
z 1]
0
0
y
z ( px + qy + 1)]
38
0
1
0
0
0
0
1
0
0
q
0
1
1
0
0
0
0 0 p
1 0 q
= [x
0 1 r
0 0 1
0
1
0
0
y
0 1
0 0
=
r 0
1 0
0
0
1
0
0
1
0
0
0
0
1
0
p
q
r
1
z ( px + qy + rz + 1)]
40
3 tâm chiếu:
trên trục x tại điểm [ -1/p 0 0 1 ],
y tại điểm [ 0 -1/q 0 1 ]
z tại điểm [ 0 0 -1/r 1 ].
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 ]
1
0
=
0
0
F'
A'
x'
0 0 p
1 0 q
= [x
0 1 0
0 0 1
(c) SE/FIT/HUT 2002
D'
H'
1
0
z 1]
0
0
z
1
( px + qy + rz + 1)
y'
D'
0
1
0
0
y
y'
VP ( y = 10)
y
[ Tpqr ] = [Tp ][Tq ][Tr ]
39
(c) SE/FIT/HUT 2002
x
y' z ' 1] =
( px + qy + rz + 1)
0 1
0 0
[x
Phép chiếu phối cảnh 3 tâm chiếu
0 0 p
1 0 q
0 1 0
0 0 1
p
q
0
1
0 0
1 0
(c) SE/FIT/HUT 2002
[ Tc ] = [ Tpq ][ Tz ]
[x'
1
0
[T pq ] =
0
0
37
(c) SE/FIT/HUT 2002
[x'
VP( x = 10)
VP
X=10
G
D
D’, H’C’, G’
D’ H’
C’,G’
y’
41
0 0 p 1
1 0 q 0
.
0 1 r 0
0 0 1 0
0 0 0 1
1 0 0 0
=
0 0 0 0
0 0 1 0
0 0 p
1 0 q
0 0 r
0 0 1
(c) SE/FIT/HUT 2002
/>
42
7
Khoa CNTT – DHBK Hanoi
8682595
Phân loại các phép chiếu
(c) SE/FIT/HUT 2002
CuuDuongThanCong.com
43
/>
8