points seldom used … add little extra realism. (c) SE/FIT/HUT 2002 30 Perspective Projections[r]
Trang 1(c) SE/FIT/HUT 2002 1
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 2
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
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)
(c) SE/FIT/HUT 2002 3
Ðặ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 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
không gian 3D vào không gian 2D
(c) SE/FIT/HUT 2002 4
Các phương pháp hiển thị 3D
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
Kính stereo - Stereoscopic displays*
Màn hình 3D - Holograms
Different views of a 3D model
Shadows as depth cues
Perspective and
Depth of Field
Exploded/cutaway scenes
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
VIEWING
Trang 2(c) SE/FIT/HUT 2002 7
3D - Modelling
3D Modelling
Parametric
Polygonal
Particles
Implicit
2 2 2
θ
θ
2
4
cos
sin
=
=
y
x
(c) SE/FIT/HUT 2002 8
Clipping 3D
view frustrum
outside view so must be clipped
(c) SE/FIT/HUT 2002 9
Viewing and Projection
viewport
3d models camera setup
(c) SE/FIT/HUT 2002 10 Rasterization
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 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)
đi qua cỏc điểm của đối tượng giao với mặt chiếu (projection
plan)
Cỏc bước xõy dựng 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
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
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ắ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ùng cắt khung nhìn tọa độ thiết
bị
Trang 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 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 0 0 0 1 0 0 0 0 1 ] [T z
= 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 ] [T y
= 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 ] [T x
(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
trên cơ sở tỉ lệ co - SF của ảnh đối tượng trên mỗi trục là
khác nhau
=
=
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 x
y x y x
y x T U
(c) SE/FIT/HUT 2002 16
Trimetric
SF- tỉ lệ co theo các trục là:
2 x 2 x
2 y 2 y
2 z 2 z
z x ' y '
Phép chiếu Dimetric
] ][
][
[
]
[ T = Ry Rx Pz
−
=
1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1
1 0 0 0
0 0
0 0
0 0 0 1
1
0
0
0
0
0
0
0
1
0
0
0
cos sin sin cos cos
sin
sin
cos
ϕ ϕ ϕ ϕ φ
φ
φ
φ
−
=
1 0 0
0
0 0 sin
cos
sin
0 0 cos
0
0 0 sin
sin
cos
]
[
ϕ
φ
φ
ϕ
ϕ
φ
φ
T
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ỳ ý
ϕ
2 2
2
f
ϕ φ
2 2
2
f
) ( sin
2
1 fz
±
ϕ
) (
sin
2 1
z
f
f
−
±
φ
Trang 4(c) SE/FIT/HUT 2002 19
Phép chiếu Isometric
ϕ
ϕ
2
1 sin
sin sin
−
=
ϕ
ϕ
2
1 2 1 sin
sin sin
−
−
=
3 1
±
ϕ
sin
0
45
0 26 35
±
==± φ ϕ
2 1 3 1 1 3 1
2
/
/ sin
sin
−
=
−
= ϕ
ϕ φ
8165 0 3 / 2
f
(c) SE/FIT/HUT 2002 20
(c) SE/FIT/HUT 2002 21
Parallel Projections
axonometric
orthographic
oblique
Phép chiếu xiên - O blique
Phép chiếu Cavalier
−
−
=
1 0
0
0
0 0
0 0
1
0
0 0
0
1
]
''
[
b
a
α sin
f b
f
=
−
−
=
1 0 0 0
0 0 sin cos
0 0 1 0
0 0 0 1
] [
α
f T
f = 0, β = 900phé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 α =
300và 450
Trang 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 1
2 2 1
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ế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
(c) SE/FIT/HUT 2002 28
Vanishing points
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
corridor
higher = further away
Good way to spot faked images
Đ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
Perspective Projections 3-point perspective
2-point perspective 1-point perspective
Trang 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 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
=
1 0 0 0 1 0 0
0 0 1 0
0 0 0 1 ] [
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 -z axis and the
view-plane located at z = -d
y
y p
d z y y d y z
y
P
P⇒ =
=
-z d
−
=
−
↔
−
=
1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1
1 1
z y x
d d
z z y x
d d z
y d z x
z y x
P P P
divide by homogenous ordinate to map back to 3D space
a similar construction for x p
⇒
Perspective Projection Details
−
↔
−
=
d z z y x
d d z
y d z x
z y x
P P P
1 1
−
=
−
1 0 0 0
0
0 1 0
0
0 0 1
0
0 0 0
1
1
z y x z
y
x
Flip z to transform to a left handed co-ordinate
system ⇒ increasing z values mean increasing
distance from the viewer.
PROJECTION
matrix perspective division
Phép chiếu phối cảnh 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 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:
=
1 0 0 0
1 0 0
0 0 1 0
0 0 0 1 ] [
r Tr
Trang 7(c) SE/FIT/HUT 2002 37
y
H G
E F x
A B z
y’
A’ E’ F’ B x
phép chiếu phối cảnh 1 tâm
=
=
1 0 0 0 0 0 0 0 0 1 0 0 0 0 1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
r r
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
rz y x r
z
y
+ +
1 1 1 ' ' '
rz
y rz
x z y x
(c) SE/FIT/HUT 2002 38
Phép chiếu phối cảnh 2 tâm
=
1 0 0 0 0 1 0 0 0 1 0 0 0 1 ]
p
1 0 0 0 0 1 0 0 0 1 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 ]
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 ]
+ + + + + +
) 1 ( ) 1 ( ) 1 ( 1
'
'
'
qy px
z qy
px
y qy
px x z
y
x
=
=
1 0 0 0 0 0 0 0 0 1 0 0 0 1
1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1
1 0 0 0
0 1 0 0
0 1 0
0 0 1
q
p q
p
(c) SE/FIT/HUT 2002 40
Phép chiếu phối cảnh 3 tâm chiếu
[ Tpqr ] = [Tp ][Tq ][Tr ]
=
=
1 0 0 0 1 0 0 0 1 0 0 0 1
1 0 0 0 1 0 0 0 0 1 0 0 0 0 1
1 0 0 0 0 1 0 0 0 1 0 0 0 0 1
1 0 0 0 0 1 0 0 0 0 1 0 0 0 1
r q p
r q
p
1 0 0 0 1 0 0 0 1 0 0 0 1
rz qy px z y x r q p z
y x
+ + + + + + + + +
) 1 (
) 1 (
) 1 (
1
'
'
'
rz qy px
z rz
qy px
y rz
qy px
x z
y
x
y'
x'
D'
G'
VP ( y = 10)
VP ( x = 10 )
VP ( z = 10 )
y'
x'
z'
A'
B'
C' D'
H'
G'
F' E'
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 0 0 0 0 1 0 0 0 1
1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 1
r q p r
q p