Bài giảng Đồ họa hiện thực ảo - Bài 5: Nguyên lý 3D và phép chiếu - Projection cung cấp cho người học các kiến thức: Nguyên lý về 3D, đặc điểm của kỹ thuật đồ họa 3D, phép chiếu song song, phép biến đổi bối cảnh,... Mời các bạn cùng tham khảo nội dung chi tiết.
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
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 đ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
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ác phương pháp hiển thị 3D
Với các 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
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
Clipping 3D
view frustrum
outside view so must be clipped
Viewing and Projection
viewport
3d models camera setup
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
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
Trimetric
SF- tỉ lệ co theo các trục là:
2 x 2 x
x x ' y '
2 y 2 y
y x ' y '
2 z 2 z
f = +
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
2 = ( 'y + 'y ) = cos
f
ϕ φ
2 2
2
f
) ( sin
2
1 fz
±
ϕ
) (
sin
2 1
2 z
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
Parallel Projections
axonometric
orthographic
oblique
Phép chiếu xiên - O blique
Phép chiếu Cavalier
Phép chiếu Cabinet
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
β
Oblique Projections
D/2 D
D
D
Cavalier Project Cabinet Projection
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
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
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
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
Perspective Projections
Tham số:
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
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’
[ 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
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
Trang 8(c) SE/FIT/HUT 2002 43
Phân loại các phép chiếu