points seldom used … add little extra realism. (c) SE/FIT/HUT 2002 30 Perspective Projections[r]
(1)(c) SE/FIT/HUT 2002
Bài 5
Nguyên lý v
ề
3D và
Phép chi
ế
u-Projection
Lê Tấn Hùng 0913030731 hunglt@it-hut.edu.vn
(c) SE/FIT/HUT 2002
Nguyên lý v
ề
3D
Ðồhọa 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 thếgiới thực cách xác sinh động
Tuy nhiên thiết bịtruy xuất tạiđều 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 độsâu
3D Graphics việc chyển thếgiới tựnhiên dạng mơ hình biểu diễn thiết bịhiển thịthông qua kỹthuật tô chát (rendering)
(c) SE/FIT/HUT 2002
Ð
ặ
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
không gian 2D
Bao mặt phẳng hay bềmặt Có thành phần
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 b
ề
m
ặ
t hi
ể
n th
ị
(c) SE/FIT/HUT 2002
Các ph
ươ
ng pháp hi
ể
n th
ị
3D
V
ớ
i thi
ế
t b
ị
hi
ể
n th
ị
2D:
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
(c) SE/FIT/HUT 2002
Different views of a 3D model Shadows as depth cues Perspective and
Depth of Field
Exploded/cutaway scenes
(c) SE/FIT/HUT 2002
3D GRAPHICS PIPELINE
WORLD SCENE/OBJECT
3D MODELLING
3D CLIPPING PROJECTION RASTERIZATION
2D PIXELMAP DISPLAY Modelling coordinates:
- world coordinate system, - object coordinate system
Camera coordinates
Screen/Window coordinates
Device coordinates
(2)(c) SE/FIT/HUT 2002
3D - Modelling
3D Modelling
Parametric Polygonal
Particles Implicit
2 2
2 y z r
x + + =
θ θ
cos sin
= =
y x
(c) SE/FIT/HUT 2002
Clipping 3D
view frustrum
outside view so must be clipped
(c) SE/FIT/HUT 2002
Viewing and Projection
viewport
3d models camera setup
(c) SE/FIT/HUT 2002 10
Rasterization
(c) SE/FIT/HUT 2002 11
Phép chi
ế
u
Định nghĩa vềphép chiếu
Định nghĩa vềhình chiếu
Ảnh củađối tượng mặt phẳng chiếuđược hình thành từ phép chiếu cácđường thẳng gọi tia chiếu(projector)
xuất phát từmộtđiểm gọi tâm chiếu(center of projection)
đi qua cácđiểm củađối tượng giao với mặt chiếu(projection plan)
(c) SE/FIT/HUT 2002 12
Các b
ướ
c xây d
ự
ng hình chi
ế
u
đối tượng khơng gian3D với tọađộthựcđược cắt theo không gian xácđịnh gọi view volume
view volumeđược chiếu lên mặt phẳng chiếu Diện tích chốn view volume mặt phẳng chiếuđó sẽcho khung nhìn
việc ánh xạkhung nhìn vào cổng nhìn bất kỳcho trước hìnhđểhiển thịhìnhảnh
C¾t theo view volum
Phép chiếu trên mặt phẳng chiếu
Phép biến đổi vào cổng nhìn của tọa độ thiết bị tọa độ thực
3D tọa độ theo vùngcắt khung nhìn
(3)(c) SE/FIT/HUT 2002 13 (c) SE/FIT/HUT 2002 14
Parallel Projections
Phép chiếu song song - Parallel Projections
Phân loại phép chiếu song song dựa hướng tia chiếuDirection Of Projectionvà mặt phẳng chiếu -projection plane
Phép chiếu trực giao (Orthographic projection)
Ứng với mặt phẳng chiếu ta có ma trận chiếu tươngứng
= 0 0 0 0 0 0 ] [Tz = 0 0 0 0 0 0 ] [Ty
= 0 0 0 0 0 0 ] [Tx
(c) SE/FIT/HUT 2002 15
Phép chi
ế
u tr
ụ
c l
ượ
ng (
Axonometric)
Phép chiếu trục lượng
Phép chiếu Trimetric
cơsởtỉlệco-SF củaảnhđối tượng trục
khác
=
=
1
0
0
0
1
0
1
0
1
0
]
[
1
1
0
0
1
0
1
0
1
0
0
1
]
[
' ' ' ' ' ' z z y y x xy
x
y
x
y
x
T
U
(c) SE/FIT/HUT 2002 16
Trimetric
SF-tỉlệco theo trục là:
2 x x x
x
'
y
'
f
=
+
2 y y y
x
'
y
'
f
=
+
2 z z z
x
'
y
'
f
=
+
(c) SE/FIT/HUT 2002 17
Phép chi
ế
u Dimetric
]
][
][
[
]
[
T
=
Ry
Rx
Pz
− − = 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 cos sin sin cos cos sin sin cos ϕ ϕ ϕ ϕ φ φ φ φ − = 0 0 sin cos sin 0 cos 0 sin sin cos ] [ ϕ φ φ ϕ ϕ φ φ T
Là phép chiếu Trimetric với2 hệ sốtỉlệco nhau, giá trịthứ3
còn lại tuỳý
(c) SE/FIT/HUT 2002 18
ϕ
2
2
2
=
(
'+
')
=
cos
y y
y
x
y
f
ϕ
φ
φ
22
2
2
=
(
'+
')
=
sin
+
cos
sin
z z
z
x
y
f
)
(
sin
2
±
f
z (4)(c) SE/FIT/HUT 2002 19
Phép chi
ế
u Isometric
ϕ ϕ φ 22
2
1 sin
sin sin
− =
ϕ ϕ
φ 22
2
2
sin sin sin
− − =
3
± =
ϕ
sin
0
45 26 35
± ==± φ ϕ
2 1
3
1
2
2 /
/ / sin sin
sin =
− = − =
ϕ ϕ φ
8165 /
cos2 = =
= ϕ
f
(c) SE/FIT/HUT 2002 20
(c) SE/FIT/HUT 2002 21
Parallel Projections
axonometric orthographic
oblique
isometric (c) SE/FIT/HUT 2002 22
Phép chi
ế
u xiên - O
blique
Phép chi
ế
u Cavalier
Phép chi
ế
u Cabinet
(c) SE/FIT/HUT 2002 23
Phép chi
ế
u Cavalier
− − =
1 0
0
0
0 0 ] '' [
b a
T
α
α
sin
f
b
f
=
=
cos
a
−
−
=
1
0
0
0
0
0
sin
cos
0
0
1
0
0
0
0
1
]
[
α
α
f
f
T
(c) SE/FIT/HUT 2002 24 f = 0, β= 900phép chiếu
sẽtrởthành phép chiếu trực giao
Cịn với f = kích thước
của hình chiếu kích thước củađối tượng => cavalier
Phép chiếu Cavalier cho
(5)(c) SE/FIT/HUT 2002 25
Phép chi
ế
u Cabinet
Phép chiếu xiên với hệsốco tỉlệf = 1/2
0
2
2
435
.
63
)
)
2
1
(
1
2
1
(
cos
)
1
(
cos
=
+
=
+
=
− −
f
f
β
(c) SE/FIT/HUT 2002 26
Oblique Projections
D/2 D
D
D
Cavalier Project Cabinet Projection
(c) SE/FIT/HUT 2002 27
Phép chi
ế
u ph
ố
i c
ả
nh
Perspective Projection
Phép chiếuphối cảnh Cácđoạn thẳng song song mơ hình 3D sau phép chiếu hội tụtại điểm gọi điểm triệt tiêu - vanishing point
Phân loại phép chiếuphối cảnh dựa vào tâm chiếu -Centre Of Projection(COP) mặt phẳng chiếu projection plane
(c) SE/FIT/HUT 2002 28
Vanishing points
Each set of parallel lines (=direction) meets at a different
point: The vanishing pointfor this direction
Sets of parallel lines on the same plane lead to collinear vanishing points: thehorizonfor that plane
Easy examples
corridor
higher = further away
Good way to spot faked images
(c) SE/FIT/HUT 2002 29
Đ
i
ể
m tri
ệ
t tiêu
Vanishing point
điểm triệt tiêu quy tắc - principle vanishing point
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
(c) SE/FIT/HUT 2002 30
Perspective Projections
3-point perspective
(6)(c) SE/FIT/HUT 2002 31
Phép chi
ế
u ph
ố
i c
ả
nh
(c) SE/FIT/HUT 2002 32
Phép bi
ế
n
đổ
i ph
ố
i c
ả
nh
Phép chiếu phối ca?nh điểm trênđối tượng lên mặt phẳng 2D thuđược từ phép chiếu trực giao phép biếnđổi phối cảnh
=
1 0
1 0
0
0 0 ] [
r Tr
(c) SE/FIT/HUT 2002 33
Perspective Projections
Tham số:
centre of projection (COP)
field of view (θ, φ) projection direction up direction
(c) SE/FIT/HUT 2002 34
Perspective Projections
Consider a perspective projection with the viewpoint at the origin and a viewing direction oriented along the positive -zaxis and the
view-plane located at z = -d
y yp
d z
y y d y z y
P P⇒ = =
-z d
− =
− ↔
− =
1 0
0 0
0
0 0
1
z y x
d d
z z y x
d d z
yd z
x
z y x
P P P
divide by homogenous ordinate to map back to 3D space a similar construction for xp ⇒
(c) SE/FIT/HUT 2002 35
Perspective Projection Details
− ↔
− =
d z
z y x
dd z
yd z
x
z y x
P P P
1
− =
−
1 0 0
0 0
0
0 0
1
z y x z
y x
Flip zto transform to a left handed co-ordinate system ⇒increasing zvalues mean increasing
distance from the viewer
PROJECTION
matrix
perspective division
(c) SE/FIT/HUT 2002 36
Phép chi
ế
u ph
ố
i c
ả
nh tâm
Giảsửkhi mặt phẳngđượcđặt z = tâm phép chiếu nằm trên trục z , cách trục z khoảng zc = -1/r.
Nếuđối tượng nằm mặt phẳng z = thìđối tượng sẽcho hìnhảnh thật
Phương trình biếnđổi: [ x y z ][ 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 0
1 0
0
0 0 ] [
(7)(c) SE/FIT/HUT 2002 37
y
H G
D C
E F
x
A B
z
y’
D’ C’
H’ G’
A’ E’ F’ B x
phép chi
ế
u ph
ố
i c
ả
nh tâm
= = 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 r r
[
]
[
1]
1 0 0 0 0 0 0
1 = +
rz y x r z y
x
[
]
+ +
=
1 1 ' ' ' rz y rz x z y x
(c) SE/FIT/HUT 2002 38
Phép chi
ế
u ph
ố
i c
ả
nh tâm
= 0 0 0 0 ] [ q p
Tpq [ ] [ ( 1)]
1 0 0 0 0
1 = + +
qy px z y x q p z y x Y’ VP ≡y = 10 D’ H’
C’,G’ VP X=10 A’, E’B’, F’x’
VP (y=10)
D’, H’C’, G’ VP( x = 10)
A’, E’B’, F’
(c) SE/FIT/HUT 2002 39 [ Tc ] = [ Tpq ][ Tz ]
tâm chiếu: [ -1/p0 ] [ -1/q ]
VP(Vanishing point) tươngứng trên2 trục x y làđiểm: [ 1/p 0 ] và[ 1/q0 ]
[
]
+ + + + + + = ) ( ) ( ) ( ' ' ' qy px z qy px y qy px x z y x = = 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 q p q p(c) SE/FIT/HUT 2002 40
Phép chi
ế
u ph
ố
i c
ả
nh tâm chi
ế
u
[ Tpqr ] = [Tp ][Tq ][Tr ]
= = 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 r q p r q p
[
]
[
( 1)]
1 0 0 0
1 = + + +
rz qy px z y x r q p z y x
(c) SE/FIT/HUT 2002 41
[
]
+ + + + + + + + + = ) ( ) ( ) ( ' ' ' rz qy px z rz qy px y rz qy px x z y x y' x' D' H' C' G'A', E' F' B'
VP ( y = 10)
VP ( x = 10 ) VP ( z = 10 )
y' x' z' A' B' C' D' H' G' F' E'
(c) SE/FIT/HUT 2002 42 tâm chiếu:
trên trục x tạiđiểm [ -1/p 0 ], y tạiđiểm [ -1/q ] z tạiđiểm [ 0 -1/r ] VP sẽtươngứng với giá trị:
[ 1/p 0 ], [ 1/q 0 ] [ 0 1/r 1 ]
[ Tc ] = [ Tpqr ][ Tz ]