Do Hoa Hien Thuc Ao Le Tan Hung l5 Nguyen Ly Ve 3d Va Phep Chieu (Cuuduongthancong - Com)

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

Khoa CNTT – DHBK Hanoi

hunglt@it-hut.edu.vn
8682595

Bài 5
Nguyên lý về 3D và Nguyên lý về 3D
Phép chiếu-Projection „ Ðồ 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
Lê Tấn Hùng vậy việc biểu diễn được thực thi thông qua phép tô chát –
0913030731 render để gây ảo giác illusion về độ sâu
hunglt@it-hut.edu.vn
„ 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) SE/FIT/HUT 2002 1 (c) SE/FIT/HUT 2002 2

Ðặc điểm của kỹ thuật đồ hoạ 3D Các phương pháp hiển thị 3D
Có các đối tượng phức tapj hơn các đối tượng trong „ Với các thiết bị hiển thị 2D:
không gian 2D „ 3D viewing positions
„ Bao bởi các mặt phẳng hay các bề mặt „ Kỹ thuật chiếu - projection: orthographic/perspective
„ Có các thành phần trong và ngoài „ Kỹ thuật đánh dấu độ sâu - depth cueing
„ Các phép biến đổi hình học phức tạp „ Nét khuất - visible line/surface identification
„ Các phép biến đổi hệ toạ độ phức tạp hơn „ Tô chát bề mặt-surface rendering
„ Cắt lát - exploded/cutaway scenes, cross-sections
„ 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 „ Thiết bị hiển thị 3D:
„ Kính stereo - Stereoscopic displays*
„ Luôn phải xác định các bề mặt hiển thị
„ Màn hình 3D - Holograms

(c) SE/FIT/HUT 2002 3 (c) SE/FIT/HUT 2002 4

Perspective and Exploded/cutaway scenes


Depth of Field

3D GRAPHICS WORLD
PIPELINE
SCENE/OBJECT
Shadows as depth cues
Modelling coordinates:
- world coordinate system, 3D MODELLING
- object coordinate system

VIEWING

3D CLIPPING

Camera coordinates
PROJECTION

Screen/Window coordinates
RASTERIZATION

Device coordinates
Different views of a 3D model 2D PIXELMAP DISPLAY

(c) SE/FIT/HUT 2002 5 (c) SE/FIT/HUT 2002 6

1
Khoa CNTT – DHBK Hanoi
hunglt@it-hut.edu.vn
8682595

3D - Modelling Clipping 3D
x +y +z =r
2 2 2 2

view frustrum

Polygonal Implicit
3D Modelling

x = sin 4θ
y = cos 2θ

outside view so
Particles must be clipped
Parametric
(c) SE/FIT/HUT 2002 7 (c) SE/FIT/HUT 2002 8

Viewing and Projection Rasterization

3d models
camera setup
viewport

(c) SE/FIT/HUT 2002 9 (c) SE/FIT/HUT 2002 10

Phép chiếu Các bước xây dựng hình chiếu


täa ®é thùc täa ®é theo vïng täa ®é thiÕt
3D khung nh×n
c¾t bÞ
Định nghĩa về phép chiếu

PhÐp biÕn ®æi vµo


C¾t theo view PhÐp chiÕu trªn
cæng nh×n cña
volum mÆt ph¼ng chiÕu
täa ®é thiÕt bÞ

Định nghĩa về 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
Ảnh của đối tượng trên mặt phẳng chiếu được hình thành từ xác định gọi là view volume.
phép chiếu bởi các đường thẳng gọi là tia chiếu (projector) „ 2. view volume được chiếu lên mặt phẳng chiếu. Diện tích choán bởi view volume
xuất phát từ một điểm gọi là tâm chiếu (center of projection) trên mặt phẳng chiếu đó sẽ cho chúng ta khung nhìn.
đi qua các điểm của đối tượng giao với mặt chiếu (projection „ 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
plan). hình để hiển thị hình ảnh

(c) SE/FIT/HUT 2002 11 (c) SE/FIT/HUT 2002 12

2
Khoa CNTT – DHBK Hanoi
hunglt@it-hut.edu.vn
8682595

Phép chiếu song song


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 1 0 0 0
0 0 0 0 0
0 1 0 0 1 0 0
[T y ] =  [T ] =  [T z ] = 
0 0 1 0 x 0 0 1 0 0 0 0 0
     
0 0 0 1
0 0 0 1 0 0 0 1
(c) SE/FIT/HUT 2002 13 (c) SE/FIT/HUT 2002 14

Phép chiếu trục lượng (Axonometric) Trimetric


„ Phép chiếu trục lượng SF- tỉ lệ co theo các trục là:

„ Phép chiếu Trimetric


f x = x' 2x + y' 2x
„ trên cơ sở tỉ lệ co - SF của ảnh đối tượng trên mỗi trục là
khác nhau. f y = x' 2y + y' 2y
 xx' y x' 0 1
1 0 0 1  '  f z = x' 2z + y' 2z
x y 'y 0 1
[U ] = 0 1 0 1 [T ] =  y'
 xz y z' 0 1
0 0 1 1  
 0 0 0 1
(c) SE/FIT/HUT 2002 15 (c) SE/FIT/HUT 2002 16

Phép chiếu Dimetric


Là phép chiếu Trimetric với 2 hệ
số tỉ lệ co bằng nhau, giá trị thứ 3
[T ] = [ Ry ][ Rx ][ Pz ] còn lại là tuỳ ý.
cos φ

0 − sin φ 0 1
 
0 0 0 1
 
0 0 0

f z2 = (xz'2 + yz'2 ) = sin2 φ + cos2 φ sin2 ϕ
0 1 0 0 0 cos ϕ sin ϕ 0 0 1 0 0
= . .
 sin φ

 0
0 cos φ 0 0 − sin ϕ
0 0
 
1 0 0
cos ϕ 0 0
0
 
1 0
0 0 0

0 0 1
f y2 = ( x 'y2 + y 'y2 ) = cos 2 ϕ
fz
cos φ sin φ sin ϕ 0 0 φ = sin −1 ( ± )
 0
[T ] = 
cos ϕ 0 0 2 − f z2
 sin φ − cos φ sin ϕ 0 0
  fz
 0 0 0 1 ϕ = sin −1 (± )
2
(c) SE/FIT/HUT 2002 17 (c) SE/FIT/HUT 2002 18

3
Khoa CNTT – DHBK Hanoi
hunglt@it-hut.edu.vn
8682595

Phép chiếu Isometric


1 − 2 sin 2 ϕ
sin 2 φ =
1 − sin 2 ϕ
sin 2 ϕ
sin 2 φ =
1 − sin 2 ϕ .

sin2 ϕ 1/ 3
sin2 φ = = = 1/ 2
1 − sin2 ϕ 1 − 1/ 3
1
sin ϕ = ±
3
ϕ = ±35.260
φ = ±450
f = cos 2 ϕ = 2 / 3 = 0.8165
(c) SE/FIT/HUT 2002 19 (c) SE/FIT/HUT 2002 20

Parallel Projections Phép chiếu xiên - Oblique


„ Phép chiếu Cavalier
„ Phép chiếu Cabinet
orthographic
oblique

axonometric isometric
(c) SE/FIT/HUT 2002 21 (c) SE/FIT/HUT 2002 22

Phép chiếu Cavalier


„ f = 0, β = 900 phép chiếu
sẽ trở thành phép chiếu
trực giao.
a = f cosα „ Còn với f = 1 kích thước
 1 0 0 0
 0 của hình chiếu bằng kích
1 0 0 b = f sin α thước của đối tượng =>
[T ' ' ] =  
− a − b 0 0 cavalier
   1 0 0 0
 0 0 0 1  Phép chiếu Cavalier cho
0 0
„
0 1 phép giá trị của α biến
[T ] = 
− f cos α − f sin α 0 0 đổi một cách tự do α =
  300 và 450
 0 0 0 1
(c) SE/FIT/HUT 2002 23 (c) SE/FIT/HUT 2002 24

4
Khoa CNTT – DHBK Hanoi
hunglt@it-hut.edu.vn
8682595

Phép chiếu Cabinet Oblique Projections


„ Phép chiếu xiên với hệ số co tỉ lệ f = 1/2

f
β = cos −1 ( )
1 + f
2 2

1
= cos −1 ( 2 ) = 63.435 0
1 + (1 2 ) 2
2
D/2 D
D
Cabinet Projection D
Cavalier Project
(c) SE/FIT/HUT 2002 25 (c) SE/FIT/HUT 2002 26

Phép chiếu phối cảnh


Perspective Projection Vanishing points
„ Phép chiếu phối cảnh
„ Each set of parallel lines (=direction) meets at a different
point: The vanishing point for this direction
„ 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 „ Sets of parallel lines on the same plane lead to collinear
vanishing points: the horizon for that plane
„ 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 „ Easy examples
„ corridor
„ higher = further away
„ Good way to spot faked images

(c) SE/FIT/HUT 2002 27 (c) SE/FIT/HUT 2002 28

Điểm triệt tiêu


Vanishing point Perspective Projections
3-point perspective

„ điểm triệt tiêu quy tắc - principle vanishing point

1-point perspective

„ 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
2-point perspective

(c) SE/FIT/HUT 2002 29 (c) SE/FIT/HUT 2002 30

5
Khoa CNTT – DHBK Hanoi
hunglt@it-hut.edu.vn
8682595

Phép chiếu phối cảnh Phép biến đổi phối cảnh


1 0 0 0
0 1 0 0
[Tr ] = 
0 0 1 r
 
0 0 0 1

„ 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

(c) SE/FIT/HUT 2002 31 (c) SE/FIT/HUT 2002 32

Perspective Projections Perspective Projections


Consider a perspective projection with the viewpoint at the origin
„ Tham số: and a viewing direction oriented along the positive -z axis and the
view-plane located at z = -d
„ centre of projection (COP)
y yP y
„ field of view (θ, φ) = ⇒ yP =
z d zd
„ projection direction
a similar construction for xp
„ up direction d ⇒
y  x 
 xP   z d   x  1 0 0 0  x 
y   y     0  y 
yp  P =   ↔  y  = 0 1 0
 
-z  zP   z d   − z  0 0 −1 0  z 
  −d      
1    z d  0 0 1d 0  1 
 1 

divide by homogenous ordinate to


map back to 3D space
(c) SE/FIT/HUT 2002 33 (c) SE/FIT/HUT 2002 34

Perspective Projection Details 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
 x  trục z , cách trục z một khoảng zc = -1/r.
 xP   z d   x 
y   y    Nếu đối tượng cũng nằm trên mặt phẳng z = 0 thì đối tượng sẽ cho
 P =  ↔ y  hình ảnh thật.
 zP   z d  − z
  −d    Phương trình biến đổi:
1   z d  [ x y z 1 ][ Tr ] = [ x y z rz+1 ]
 x  1 0 0 0  x   1 
 y  0 ma trận biến đổi một điểm phối cảnh [ Tr ] có dạng:
1 0 0  y 
 =  
 − z  0 0 − 1 0  z   1 0 0 0 
     PROJECTION perspective
 1  0 0 0 0  1  matrix division  0 1 0 0 
[ Tr ] = 
Flip z to transform to a left handed co-ordinate  0 0 1 r 
system ⇒ increasing z values mean increasing  
 0 0 0 1 
distance from the viewer.

(c) SE/FIT/HUT 2002 35 (c) SE/FIT/HUT 2002 36

6
Khoa CNTT – DHBK Hanoi
hunglt@it-hut.edu.vn
8682595

phép chiếu phối cảnh 1 tâm Y’


Phép chiếu phối cảnh 2 tâm VP (y=10)
VP ≡ y = 10

D’, H’C’, G’
y y’ D’ H’
C’,G’ VP( x = 10)

D’ C’
1 0 0 0 1 0 0 0 1 0 0 0 H G
VP
X=10
0 1 0 0 0 1 0 0 0 1 0 0 D C
H’ G’ A’, E’B’, F’

=    =  E F
A’, E’B’, F’x’

0 0 1 r 0 0 0 0 0 0 0 r x
      A’ E’ F’ B x
0 0 0 1 0 0 0 1 0 0 0 1
z
A B

1 0 0 0
0 1 0 0  x y  1 0 0 p
[x y z 1]   = [x y 0 rz+1] [x' y' z' 1] =  0 1 0 1 0 0 p
0 0 0 r  rz +1 rz +1  1 0 q  0 1 0 q 
  [T pq ] =  [x y z 1]  = [x y z ( px + qy + 1)]
0 0 0 1 0 0 1 0 0 0 1 0
 
  0 0 0 1
0 0 0 1
(c) SE/FIT/HUT 2002 37 (c) SE/FIT/HUT 2002 38

 x y z 
[x' y ' z ' 1] = 
 ( px + qy + 1) ( px + qy + 1)
1
( px + qy + 1)  Phép chiếu phối cảnh 3 tâm chiếu
„ [ Tpqr ] = [Tp ][Tq ][Tr ]
„ [ Tc ] = [ Tpq ][ Tz ]
1 0 0 p 1 0 0 0  1 0 0 p 1 0 0 p 1 0 0 0 1 0 0 0  1 0 0 p
0 0 0  0 q  0 0   0 q 
1 0 q  0 1 0 0 0 1 0 q  =
1 0  1 0  1 0
=
1 0
=  = 0 0 1 0 0 0 1 0 0 0 1 r  0 0 1 r
0 0 1 0 0 0 0 0  0 0 0 0        
      0 0 0 1 0 0 0 1 0 0 0 1  0 0 0 1
0 0 0 1 0 0 0 1  0 0 0 1
„ 2 tâm chiếu: 1 0 0 p
„ [ -1/p 0 0 1 ] 0 1 0 q 
[ 0 -1/q 0 1 ]
[x y z 1]  = [x y z ( px + qy + rz + 1)]
„ 0 0 1 r
„ VP (Vanishing point) tương ứng trên 2 trục x và y là điểm: [  
0 0 0 1
1/p 0 0 1 ] và [ 0 1/q 0 1 ].
(c) SE/FIT/HUT 2002 39 (c) SE/FIT/HUT 2002 40

 x y z 
[x' y' z ' 1] =  1
 ( px + qy + rz + 1) ( px + qy + rz + 1) ( px + qy + rz + 1) 

y'
„ 3 tâm chiếu:
VP ( y = 10) y'
„ trên trục x tại điểm [ -1/p 0 0 1 ],
H'
„ y tại điểm [ 0 -1/q 0 1 ]
D'
D' „ z tại điểm [ 0 0 -1/r 1 ].
H' C' G'
„ VP sẽ tương ứng với các giá trị :
G' E' C' „ [ 1/p 0 0 1 ], [ 0 1/q 0 1 ] [ 0 0 1/r 1 ]

VP ( x = 10 )
„ [ Tc ] = [ Tpqr ][ Tz ]
VP ( z = 10 ) F' 1 0 0 p 1 0 0 0 1 0 0 p
A' 0
x' 1 0 q  0 1 0 0 0 1 0 q 
z' x' = . =
0 0 1 r  0 0 0 0 0 0 0 r
A', E' F' B' B'     
0 0 0 1  0 0 0 1 0 0 0 1
(c) SE/FIT/HUT 2002 41 (c) SE/FIT/HUT 2002 42

7
Khoa CNTT – DHBK Hanoi
hunglt@it-hut.edu.vn
8682595

Phân loại các phép chiếu

(c) SE/FIT/HUT 2002 43

You might also like