Bài giảng Công nghệ đồ họa và hiện thực ảo - Bài 7: Phép chiếu - Trịnh Thành Trung

• Ðồ 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ô trát – render để gây ảo giác về độ sâu

• 3D Graphics là việc chuyể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ô trát (rendering).

 

pdf 51 trang yennguyen 5700
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Công nghệ đồ họa và hiện thực ảo - Bài 7: Phép chiếu - Trịnh Thành Trung", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Công nghệ đồ họa và hiện thực ảo - Bài 7: Phép chiếu - Trịnh Thành Trung

Bài giảng Công nghệ đồ họa và hiện thực ảo - Bài 7: Phép chiếu - Trịnh Thành Trung
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
Trịnh Thành Trung 
trungtt@soict.hust.edu.vn 
Bài 7 
PHÉP CHIẾU 
1 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
NỘI DUNG 
• Nguyên lý không gian 3 
chiều 
• Tổng quan về phép chiếu 
• Các phép chiếu song song 
• Các phép chiếu phối cảnh 
2 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
NGUYÊN LÝ 3D 
1 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
4 
• Ðồ 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ô trát – render để gây ảo giác về độ sâu 
• 3D Graphics là việc chuyể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ô trát (rendering). 
Nguyên lý về 3D 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
5 
• Có các đối tượng phức tạp 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 điểm của kỹ thuật đồ hoạ 3D 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
6 
• 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ô trá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 
Các phương pháp hiển thị 3D 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
7 
Các phương pháp hiển thị 3D 
Shadows as depth cues 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
8 
• Faking depth in a 2D image 
• Based on natural stereoscopic eye-brain 
system. 
• Objects are not viewed with just one eye, but 
two eyes. 
• Each eye looks at the object from a slightly 
different location. 
Stereo Projections 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
STEREO PROJECTIONS 
9 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
STEREO PROJECTIONS 
10 
eye=(0,-
1,2.5) 
eye=(0.5,-
1,2.5) 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
Mô hình hóa 
11 
3D Modelling 
Parametric 
Polygonal 
Particles 
Implicit 
2222 rzyx 


2
4
cos
sin
y
x
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
XÉN TỈA 3D 
12 
view frustrum 
outside view so 
must be clipped 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
HIỂN THỊ VÀ PHÉP CHIẾU 
13 
viewport 
3D 
models 
camera setup 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
RỜI RẠC HÓA 
14 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
TỔNG QUAN VỀ PHÉP CHIẾU 
2 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
16 
• Đị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). 
Phép chiếu 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
17 
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ác bước xây dựng hình chiếu 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 18 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
PHÉP CHIẾU SONG SONG 
3 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
20 
• 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 song song 
A 
D 
C 
B 
projection 
plane 
D’ 
C’ 
B’ 
A’ 
centre of 
projection at 
infinity 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
21 
• 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 
Phép chiếu trực giao 
1000
0000
0010
0001
][ zT
1000
0100
0000
0001
][ yT
1000
0100
0010
0000
][ xT
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
22 
• Orthographic Projections 
– Multiview Orthographic 
Taxonomy of Projections 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
23 
• 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. 
Phép chiếu trục lượng 
1000
10
10
10
][
1100
1010
1001
][
''
''
''
zz
yy
xx
yx
yx
yx
TU
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
24 
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
xx 'y'xf 
2
y
2
yy 'y'xf 
2
z
2
zz 'y'xf 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
25 
• 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ỳ ý. 
Phép chiếu dimetric 
]][][[][ PzRxRyT 
1000
0000
0010
0001
1000
00
00
0001
1000
00
0010
00
.
cossin
sincos
.
cossin
sincos


1000
00sincossin
00cos0
00sinsincos
][
 
 
T
•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 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
26 
 2222 cos)( '' yyy yxf
  222222 sincossin)( '' zzz yxf
)(sin
2
1 zf 
)(sin
2
1
2 z
z
f
f
 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
27 
• 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 
Phép chiếu Isometric 
8165.03/2cos2 f

2
2
2
1 sin
sin
sin

2
2
2
1
21
sin
sin
sin
3
1
 sin
o
o
45
26.35

21
311
31
1 2
2
2 /
/
/
sin
sin
sin 

©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
PHÉP CHIẾU ISOMETRIC 
28 
. 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
PHÉP CHIẾU XIÊN 
29 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
30 
Phép chiếu xiên 
axonometric 
orthographic 
oblique 
isometric 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
31 
• Phép chiếu Cavalier 
• Phép chiếu Cabinet 
Phép chiếu xiên 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
32 
• Oblique Projections 
– Combine the properties of Orthographic and 
Axonometric 
– Preserves the object face; and 
– Gives a better sense of the 3D nature. 
Taxonomy of Projections 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
33 
• 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 45o 
Phép chiếu Cavalier 
1000
00
0010
0001
]''[
ba
T
sinfb
f
 cos a
1000
00sincos
0010
0001
][
 ff
T
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
34 
• 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 
Phép chiếu Calavier 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
35 
– Phép chiếu xiên với hệ số co tỉ lệ f = 1/2 
Phép chiếu Cabinet 
0
22
1
22
1
435.63)
)21(1
2
1
(cos
)
1
(cos
f
f

©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
Phép chiếu xiên 
36 
D/
2 
D 
D 
Cavalier Project 
Cabinet Projection 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
PHÉP CHIẾU PHỐI CẢNH 
4 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
38 
• 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 
Phép chiếu phối cảnh 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
Điểm triệt tiêu 
39 
3 điểm triệt tiêu 
2 điểm triệt tiêu 
1 điểm triệt tiêu 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
40 
Phép chiếu phối cảnh 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
41 
• Phép chiếu phối cả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 
Phép biến đổi phối cảnh 
1000
100
0010
0001
][
r
Tr
 1
111
]1'''[
rz
z
rz
y
rz
x
zyx
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
• Tham số: 
– centre of projection (COP) 
– field of view (, ) 
– projection direction 
– up direction 
Phép chiếu phối cảnh 
42 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
43 
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: 
Phép chiếu phối cảnh 1 tâm 
1000
100
0010
0001
][
r
Tr
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
44 
Phép chiếu phối cảnh 1 tâm 
 y 
H G 
 D C 
 E 
 F x 
 A B 
z 
 y’ 
D’ C’ 
H’ G’ 
A’ E’ F’ B x 
1000
000
0010
0001
1000
0000
0010
0001
1000
100
0010
0001
rr
   10
1000
000
0010
0001
1 
rzyx
r
zyx   
 10
11
1'''
rz
y
rz
x
zyx
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
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’ 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
46 
• [ 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(
1'''
qypx
z
qypx
y
qypx
x
zyx
1000
0000
010
001
1000
0000
0010
0001
1000
0100
010
001
q
p
q
p
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
47 
[ Tpqr ] = [Tp ][Tq ][Tr ] 
Phép chiếu phối cảnh 3 tâm chiếu 
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
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
48 
  
 1
)1()1()1(
1'''
rzqypx
z
rzqypx
y
rzqypx
x
zyx
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'
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
49 
• 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 ] 
1000
000
010
001
1000
0000
0010
0001
.
1000
100
010
001
r
q
p
r
q
p
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
So sánh 
50 
©
 C
o
p
yrigh
t Sh
o
w
eet.co
m
- 
VÍ DỤ OPENGL 
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 
} 
51 

File đính kèm:

  • pdfbai_giang_cong_nghe_do_hoa_va_hien_thuc_ao_bai_7_phep_chieu.pdf