3-points seldom used … add little extra realism. 36[r]
Trang 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
2
Nguyên lý về 3D
z Ðồ 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
z 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
z 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)
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
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
5
Different views of a 3D model
Shadows as depth cues
Perspective and
Depth of Field
Exploded/cutaway scenes
6
Stereo Projections
z In OpenGL we can produce stereo views by creating two side-by-side viewports with slightly different viewing angles.
z The lookat point stays the same but the location of the eye moves.
z Human eyes are about 3 inches apart, therefore a good value for D is 1.5
Trang 2Stereo Projections
eye=(0,-1,2.5) eye=(0.5,-1,2.5)
8
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
9
3D - Modelling
3D Modelling
Parametric
Polygonal
Particles
Implicit
2 2 2
2 y z r
θ
θ
2
4
cos
sin
=
=
y
x
10
Clipping 3D
view frustrum
outside view so must be clipped
11
Viewing and Projection
viewport
3d models camera setup
12
Rasterization
Trang 3Phộ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)
14
Cỏc bước xõy dựng hỡnh chiếu
gian xỏc định gọi là view volume
z 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
z 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
tọa độ thiết bị
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
z Points on the object are projected to the viewing plane along parallel lines
z Preserves relative dimensions of the object but does not give a realistic presentation
A D C B
projectio
n plane
D
’
B
’
A
’
centre of projection
at infinity
17
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
18
Taxonomy of Projections
z Orthographic Projections – Multiview Orthographic
Trang 4z Phép chiếu trục lượng là phép chiếu mà hình chiếu thu được
z Phép chiếu Trimetric
z 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
z 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
20
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
x x ' y '
2 y 2 y
y x ' y '
f = +
2 z 2 z
21
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ỳ ý
•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
22
ϕ
2 2
2
2 = ( 'y + 'y ) = cos
f
ϕ φ
2 2
2
2= ( 'z + 'z) = sin + cos sin
f
) ( sin
2
±
ϕ
) (
sin
2 1
z
f
f
−
±
φ
23
Phép chiếu Isometric
z Là phép chiếu trục lượng
mà ở đó hệ số co cạnh
trên 3 trục là bằng nhau
z Góc quay tương ứng là
35.26 và 45
z Ðượ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
24
Trang 5
Taxonomy of Projections
z Oblique Projections
26
Parallel Projections
axonometric
orthographic
oblique
isometric
27
Taxonomy of Projections
– Combine the properties of Orthographic and
Axonometric
– Preserves the object face; and
– Gives a better sense of the 3D nature
28
29
Phép chiếu Cavalier
G 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
=
= cos
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
−
−
=
1 0 0 0
0 0 sin cos
0 0 1 0
0 0 0 1
] [
α
f T
30
– f = 0, β = 90 0 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 α = 30 0 và 45 0
Trang 6Phé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
β
32
Oblique Projections
D/2 D
D
D
Cavalier Project Cabinet Projection
33
Phép chiếu phối cảnh
Perspective Projection
z 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.
z 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
z 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
34
Vanishing points
z Each set of parallel lines (=direction) meets at a
different point: The vanishing point for this direction
z Sets of parallel lines on the same plane lead to
collinear vanishing points: the horizon for that plane
z Easy examples – corridor – higher = further away
z Good way to spot faked images
35
Điểm triệt tiêu
Vanishing point
đó được gọi là điểm triệt tiêu quy tắc - principle
vanishing point
z The number of principal vanishing points is determined
by the number of principal axes cut by the projection
plane
z If the plane only cut the z axis (most common), there is
only 1 vanishing point
z 2-points sometimes used in architecture and
engineering 3-points seldom used … add little extra
realism
36
Perspective Projections
3-point perspective
2-point perspective 1-point perspective
Trang 7Phép chiếu phối cảnh
38
Phép biến đổi phối cảnh
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
39
Perspective Projections
z Tham số:
– centre of projection (COP)
– field of view (θ, φ)
– projection direction
– up direction
40
Perspective Projections
z Projecting a 3D Point
z We use similar triangles to project the point onto the plane
in the line of the eye
– x’/x = N/-z (z in the negative direction) – y’/y = N/-z
– Once projected onto a 2D plane the z coordinate is not needed.
near plane
(x,y,z) (x’,y’)
41
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
⇒
42
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