Bài giảng Computer graphics and virtual reality - Bài 5: Nguyên lý về 3D và phép chiếu - Projection - Lê Tấn Hùng

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).

pdf10 trang | Chuyên mục: Đồ Họa Máy Tính | Chia sẻ: yen2110 | Lượt xem: 242 | Lượt tải: 0download
Tóm tắt nội dung Bài giảng Computer graphics and virtual reality - Bài 5: Nguyên lý về 3D và phép chiếu - Projection - Lê Tấn Hùng, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
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
ϕ2222 cos)( '' =+= yyy yxf
ϕφφ 222222 sincossin)( '' +=+= zzz yxf
)(sin
2
1 zf±= −ϕ
)(sin
2
1
2 z
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
2
2
1 sin
sinsin −=
ϕ
ϕφ
2
2
2
1
21
sin
sinsin −
−=
3
1±=ϕsin
045
026.35
±=
±=
φ
ϕ
21
311
31
1 2
2
2 /
/
/
sin
sinsin =−=−= ϕ
ϕφ
8165.03/2cos2 === ϕf
24
. 
Khoa CNTT – DHBK Hanoi
hunglt@it-hut.edu.vn
8682595
5
25
Taxonomy of Projections
z Oblique Projections
26
Parallel Projections
axonometric
orthographic
oblique
isometric
27
Taxonomy of Projections
z Oblique Projections
– Combine the properties of Orthographic and 
Axonometric
– Preserves the object face; and
– Gives a better sense of the 3D nature.
28
Phép chiếu xiên - Oblique
z Phép chiếu Cavalier
z Phép chiếu Cabinet
29
Phép chiếu Cavalier
GPhé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 450
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
−−=
1000
00
0010
0001
]''[
ba
T
α
α
sinfb
f
=
= cos a
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
−−=
1000
00sincos
0010
0001
][ αα ffT
30
– f = 0, β = 900 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 α = 300 và 450
Khoa CNTT – DHBK Hanoi
hunglt@it-hut.edu.vn
8682595
6
31
Phép chiếu Cabinet
– Phép chiếu xiên với hệ số co tỉ lệ f = 1/2 
0
22
1
22
1
435.63)
)21(1
2
1
(cos
)
1
(cos
=
+
=
+
=
−
−
f
fβ
32
Oblique Projections
D/2
D
D
D
Cavalier ProjectCabinet 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
z 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
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
Khoa CNTT – DHBK Hanoi
hunglt@it-hut.edu.vn
8682595
7
37
Phép chiếu phối cảnh
38
Phép biến đổi phối cảnh
z 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
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
=
1000
100
0010
0001
][
r
Tr
⎥⎦
⎤⎢⎣
⎡
+++= 1111]1'''[ rz
z
rz
y
rz
xzyx
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
N z
(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
yp
dz
yy
d
y
z
y
P
P =⇒=
-z
d
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
−=⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
−↔
⎥⎥
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎢⎢
⎣
⎡
−
=
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
10100
0100
0010
0001
1
1
z
y
x
ddz
z
y
x
d
dz
y
dz
x
z
y
x
P
P
P
divide by homogenous ordinate to
map back to 3D space
a similar construction for xp⇒
42
Perspective Projection Details
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
−↔
⎥⎥
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎢⎢
⎣
⎡
−
=
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
dz
z
y
x
d
dz
y
dz
x
z
y
x
P
P
P
1
1
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
−=⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
−
10000
0100
0010
0001
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
Khoa CNTT – DHBK Hanoi
hunglt@it-hut.edu.vn
8682595
8
43
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:
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
=
1000
100
0010
0001
][
r
Tr
44
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 1 tâm
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
=
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
=
1000
000
0010
0001
1000
0000
0010
0001
1000
100
0010
0001
rr
[ ] [ ]10
1000
000
0010
0001
1 +=
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
rzyx
r
zyx [ ] ⎥⎦
⎤⎢⎣
⎡
++= 10111''' rz
y
rz
xzyx
45
Phép chiếu phối cảnh 2 tâm
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
=
1000
0100
010
001
][
q
p
Tpq [ ] [ ])1(
1000
0100
010
001
1 ++=
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
qypxzyx
q
p
zyx
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’
46
z [ Tc ] = [ Tpq ][ Tz ]
z 2 tâm chiếu:
z [ -1/p 0 0 1 ]
z [ 0 -1/q 0 1 ] 
z 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(1''' qypx
z
qypx
y
qypx
xzyx
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
=
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
=
1000
0000
010
001
1000
0000
0010
0001
1000
0100
010
001
q
p
q
p
47
Phép chiếu phối cảnh 3 tâm chiếu
z [ Tpqr ] = [Tp ][Tq ][Tr ]
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
=
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
=
1000
100
010
001
1000
100
0010
0001
1000
0100
010
0001
1000
0100
0010
001
r
q
p
r
q
p
[ ] [ ])1(
1000
100
010
001
1 +++=
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
rzqypxzyx
r
q
p
zyx
48
[ ] ⎥⎦
⎤⎢⎣
⎡
+++++++++= 1)1()1()1(1''' rzqypx
z
rzqypx
y
rzqypx
xzyx
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'
Khoa CNTT – DHBK Hanoi
hunglt@it-hut.edu.vn
8682595
9
49
z 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 ]. 
z 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 ]
z [ Tc ] = [ Tpqr ][ Tz ]
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
=
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
=
1000
000
010
001
1000
0000
0010
0001
.
1000
100
010
001
r
q
p
r
q
p
50
Đặc tính của phép chiếu phối cảnh
1. Parallel lines in 3D will 
meet at a vanishing point
2. Lines that pass behind the 
eye of the camera cause a 
catastropic “passage 
through infinity”.
3. Perspective projections 
usually produce 
geometrically realistic 
pictures.
51
Taxonomy of Projections
z Perspective
– Three Point
M.C. Escher: Ascending and Descending 
52
Classical Projections
Angel Figure 5.3
53
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
song PhÐp chiÕu phèi c¶nh
Mét ®iÓm
Ba ®iÓm
Hai ®iÓm
Trùc giao PhÐp chiÕu
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
54
Viewing in OpenGL
z OpenGL has multiple matrix stacks - transformation 
functions right-multiply the top of the stack
z Two most important stacks: GL_MODELVIEW and 
GL_PROJECTION
z Points get multiplied by the modelview matrix first, and 
then the projection matrix
z GL_MODELVIEW: Object->Camera
z GL_PROJECTION: Camera->Screen
z glViewport(0,0,w,h): Screen->Device
Khoa CNTT – DHBK Hanoi
hunglt@it-hut.edu.vn
8682595
10
55
OpenGL Example
void SetUpViewing()
{
// The viewport isn’t a matrix, it’s just state...
glViewport( 0, 0, window_width, window_height );
// Set up camera->screen transformation first
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
gluPerspective( 60, 1, 1, 1000 ); // fov, aspect, near, far
// Set up the model->camera transformation
glMatrixMode( GL_MODELVIEW );
gluLookAt( 3, 3, 2, // eye point
0, 0, 0, // look at point
0, 0, 1 ); // up vector
glRotatef( theta, 0, 0, 1 ); // rotate the model
glScalef( zoom, zoom, zoom ); // scale the model
}
56
Stereo Projections
z Faking depth in a 2D image
z Based on natural stereoscopic eye-brain system.
z Objects are not viewed with just one eye, but two 
eyes.
z Each eye looks at the object from a slightly 
different location.
57
Stereo Projections

File đính kèm:

  • pdfbai_giang_computer_graphics_and_virtual_reality_bai_5_nguyen.pdf