c SE/FIT/HUT 2002 1Bà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
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
Một cỏch tổng quỏt, phộp chiếu là phộp chuyển đổi những điểm
của đối tượng trong hệ thống tọa độ n chiều thành những
điểm trong hệ thống tọa độ cú số chiều nhỏ hơn n
Đị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
Phép chiếu song song
Parallel Projections
Phép chiếu song song - Parallel Projections là phép chiếu mà ở đó các tia chiếu song song với nhau hay xuất phát từ điểm vô cùng
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) là phép chiếu song song và tia chiếu vuông góc với mặt phẳng chiếu thường dùng mặt phẳng z=0
Ứ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 là phép chiếu mà hình chiếu thu được
Phép chiếu Trimetric
Là phép chiếu hình thành từ việc quay tự do đối tượng trên một trục hay
tất cả các trục của hệ tọa độ và chiếu đối tượng đó bằng phép chiếu song
song lên mặt phẳng chiếu (thường là mặt phẳng z = 0) vuông góc với tia
chiếu
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
[ U ] :là ma trận vector đơn vị của
các trục x, y, z bất biến
[ T ] : là ma trận chiếu tổng hợp
tương ứng
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
] ][
][
[
]
⎥
⎥
⎦
⎤
⎢
⎢
⎣
⎡
⎥
⎥
⎦
⎤
⎢
⎢
⎣
⎡
−
⎥
⎥
⎦
⎤
⎢
⎢
⎣
=
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ỳ ý
•Quay đối tượng quanh trục y theo một gócφ,
•Quay quanh x theo một gócψ
•Chiếu trên mặt phẳng z = 0 với tâm
chiếu tại điểm vô hạn
ϕ
2 2
2
f
ϕ φ
2 2
2
f
) ( sin
2
±
ϕ
) (
sin
2 1
z
f
f
−
±
φ
Trang 4(c) SE/FIT/HUT 2002 19
Phép chiếu Isometric
Là phép chiếu trục lượng
mà ở đó hệ số co cạnh trên
3 trục là bằng nhau
Góc quay tương ứng là
35.26 và 45
Ðược ứng dụng nhiều trong
việc xây dựng các góc quan
sát chuẩn cho đối tượng
trong các hệ soạn thảo đồ
họa
ϕ
ϕ
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
` Phép chiếu cavalier là phép chiếu xiên được tạo thành khi các tia
chiếu làm thành với mặt phẳng chiếu một góc 45 0
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
−
−
=
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 là phép chiếu mà các tia chiếu không song song với
nhau mà xuất phát từ 1 điểm gọi là tâm chiếu.Phép chiếu phối cảnh tạo ra
hiệu ứng về luật xa gần tạo cảm giác về độ sâu của đối tượng trong thế giới
thật mà phép chiếu song song không lột tả được.
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
corridor
higher = further away
Good way to spot faked images
Điểm triệt tiêu
Vanishing point
Nếu điểm triệt tiêu nằm trên trục tọa độ thì điểm đó
được gọi là đ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
⎥⎦
⎤
⎢⎣
⎡
+ + +
1 1 1 ] 1 ' ' ' [
rz
z rz
y rz
x z y x
Perspective Projections
Tham số:
centre of projection (COP)
field of view (θ, φ)
projection direction
up direction
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
x
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
Phép chiếu hình học phẳng
Phép chiếu song
Một điểm
Ba điểm Hai điểm
Xiên
Cavalier
Cabinet
Phép chiếu khác
Chiếu
đứng
Chiếu
cạnh
Axonometric
Trimetric
Dimetric
Isometric Chiếu
bằng