Tải bản đầy đủ (.pdf) (8 trang)

Bài giảng Đồ họa hiện thực ảo: Bài 5 - Lê Tấn Hùng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.18 MB, 8 trang )

Khoa CNTT – DHBK Hanoi

8682595

Bài 5
Nguyên lý về 3D và
Phép chiếu-Projection

Nguyên lý về 3D
„

„
Lê Tấn Hùng
0913030731


(c) SE/FIT/HUT 2002

„

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


1

(c) SE/FIT/HUT 2002

Ðặ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
không gian 2D

„

„
„

„
„
„
„

„
„

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) SE/FIT/HUT 2002


Perspective and
Depth of Field

Với các thiết bị hiển thị 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

„
„
„

„

2

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

3

(c) SE/FIT/HUT 2002

4

Exploded/cutaway scenes

3D GRAPHICS WORLD
PIPELINE
SCENE/OBJECT

Shadows as depth cues

Modelling coordinates:
- world coordinate system,
- object coordinate system

3D MODELLING

VIEWING

3D CLIPPING
Camera coordinates
PROJECTION
Screen/Window coordinates
RASTERIZATION
Device coordinates


Different views of a 3D model
(c) SE/FIT/HUT 2002

CuuDuongThanCong.com

2D PIXELMAP DISPLAY
5

(c) SE/FIT/HUT 2002

/>
6

1


Khoa CNTT DHBK Hanoi

8682595

3D - Modelling

Clipping 3D
x +y +z =r
2

2

2


2

view frustrum

Polygonal

3D Modelling

Implicit

x = sin 4
y = cos 2

outside view so
must be clipped

Particles

Parametric

7

(c) SE/FIT/HUT 2002

Viewing and Projection

(c) SE/FIT/HUT 2002

8


(c) SE/FIT/HUT 2002

10

Rasterization

3d models
camera setup
viewport

(c) SE/FIT/HUT 2002

9

Cỏc bc xõy dng hỡnh chiu

Phộp chiu

tọa độ thực
3D

nh ngha v phộp chiu

tọa độ theo vùng
cắt

Cắt theo view
volum


nh ngha v hỡnh chiu
nh ca i tng trờn mt phng chiu c hỡnh thnh t
phộp chiu bi cỏc ng thng gi l tia chiu (projector)
xut phỏt t mt im gi l tõm chiu (center of projection)
i qua cỏc im ca i tng giao vi mt chiu (projection
plan).
(c) SE/FIT/HUT 2002

CuuDuongThanCong.com

11

khung nhìn

Phép chiếu trên
mặt phẳng chiếu

tọa độ thiết
bị

Phép biến đổi vào
cổng nhìn của
tọa độ thiết bị



1. i tng trong khụng gian 3D vi ta thc c ct theo mt khụng gian




2. view volume c chiu lờn mt phng chiu. Din tớch choỏn bi view volume

xỏc nh gi l view volume.
trờn mt phng chiu ú s cho chỳng ta khung nhỡn.


3. l vic ỏnh x khung nhỡn vo trong mt cng nhỡn bt k cho trc trờn mn
hỡnh hin th hỡnh nh
(c) SE/FIT/HUT 2002

/>
12

2


Khoa CNTT – DHBK Hanoi

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
[T y ] = 
0

0

0 0 0
0
0
0 0 0
[T ] = 
0 1 0 x
0


0 0 1
0

0 0 0
1
0

1 0 0
[T z ] = 
0
0 1 0


0 0 1
0

13

(c) SE/FIT/HUT 2002

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

0 0 0
1 0 0
0 0 0

0 0 1

(c) SE/FIT/HUT 2002

14

(c) SE/FIT/HUT 2002

16

Trimetric


„

Phép chiếu trục lượng

„

Phép chiếu Trimetric

„

trên cơ sở tỉ lệ co - SF của ảnh đối tượng trên mỗi trục là
khác nhau.

SF- tỉ lệ co theo các trục là:

f x = x' 2x + y' 2x
 xx'
 '
x
[T ] =  y'
 xz

 0

1 0 0 1
[U ] = 0 1 0 1
0 0 1 1

y x'

y 'y
y z'
0

(c) SE/FIT/HUT 2002

0 1

0 1
0 1

0 1

f y = x' 2y + y' 2y

f z = x' 2z + y' 2z

15

Phép chiếu Dimetric
[T ] = [ Ry ][ Rx ][ Pz ]
cos φ

0
=
 sin φ

 0

0

0 − sin φ 0 1
 
1
0
0 0 cos ϕ
.
0 cos φ 0 0 − sin ϕ
 
0
0
0
1 0

cos φ
 0
[T ] = 
 sin φ

 0

sin φ sin ϕ
cos ϕ
− cos φ sin ϕ
0

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ỳ ý.
0 1
 

sin ϕ 0 0
.
cos ϕ 0 0
 
0
1 0
0

0 0 0

1 0 0
0 0 0

0 0 1

f z2 = (xz'2 + yz'2 ) = sin2 φ + cos2 φ sin2 ϕ
f y2 = ( x 'y2 + y 'y2 ) = cos 2 ϕ
φ = sin −1 ( ±

0 0
0 0
0 0

0 1

ϕ = sin −1 (±

fz
2 − f z2


fz

)

)

2
(c) SE/FIT/HUT 2002

CuuDuongThanCong.com

17

(c) SE/FIT/HUT 2002

/>
18

3


Khoa CNTT – DHBK Hanoi

8682595

Phép chiếu Isometric
sin 2 φ =

1 − 2 sin 2 ϕ
1 − sin 2 ϕ


sin 2 ϕ
1 − sin 2 ϕ
sin2 ϕ
1/ 3
sin2 φ =
=
= 1/ 2
1 − sin2 ϕ 1 − 1/ 3
1
sin ϕ = ±
3
sin 2 φ =

.

ϕ = ±35.260
φ = ±450
f = cos 2 ϕ = 2 / 3 = 0.8165
19

(c) SE/FIT/HUT 2002

(c) SE/FIT/HUT 2002

Parallel Projections

20

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

(c) SE/FIT/HUT 2002

24

Phép chiếu Cavalier
„

0
 1

 0
1
[T ' ' ] = 
− a − b

0
 0

0
0
0
0

0
0

0

1

a = f cosα
b = f sin α
1


0
[T ] = 
− f cos α

0


(c) SE/FIT/HUT 2002

CuuDuongThanCong.com

„

0
1
− f sin α
0

0 0
0 0
0 0

0 1
23

„

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

/>
4


Khoa CNTT – DHBK Hanoi

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 (
= cos −1 (

1 + f
2

2

)


1

2
) = 63.435 0
1 + (1 2 ) 2
2

D/2

D

D
D
Cavalier Project

Cabinet Projection
(c) SE/FIT/HUT 2002

25

(c) SE/FIT/HUT 2002

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

Vanishing points

„

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


„

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

„

„

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
„
„

„

(c) SE/FIT/HUT 2002

corridor

higher = further away

Good way to spot faked images

27

Điểm triệt tiêu
Vanishing point
„

26

28

(c) SE/FIT/HUT 2002

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. 3points seldom used … add little extra realism
2-point perspective
(c) SE/FIT/HUT 2002

CuuDuongThanCong.com

29

(c) SE/FIT/HUT 2002

/>
30

5


Khoa CNTT – DHBK Hanoi

8682595

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

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

1
0
[Tr ] = 
0

0


„

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

31

(c) SE/FIT/HUT 2002

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
y
=
⇒ yP =
z
d
zd

Tham số:
„
„
„
„


centre of projection (COP)
field of view (θ, φ)
projection direction
up direction

a similar construction for xp

d



y
yp

Perspective Projection Details

0
0

PROJECTION
matrix

CuuDuongThanCong.com

divide by homogenous ordinate to
map back to 3D space
(c) SE/FIT/HUT 2002

0  x 
0  y 

 
0  z 
 
0  1 

34

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:

perspective
division

[ Tr

Flip z to transform to a left handed co-ordinate
system ⇒ increasing z values mean increasing
distance from the viewer.
(c) SE/FIT/HUT 2002

-z

0 0
1 0
0 −1

0 1d

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

 x 
 x 
 xP   z d 


y   y 
↔ y 
 P = 
− z
 zP   z d 


  −d 
z d 
1 

 1 

0  x 
0  y 
 
0 − 1 0  z 
 
0 0 0  1 
0
1


 x 
 x  1
 xP   z d 
  
y   y 
 ↔  y  = 0
 P = 
 − z  0
 zP   z d 
  
  −d 
 z d  0
1 

1



33

(c) SE/FIT/HUT 2002

 x  1
 y  0
 =
 − z  0
  
 1  0


32

(c) SE/FIT/HUT 2002

Perspective Projections

Perspective Projections
„

0 0 0
1 0 0
0 1 r

0 0 1

35



] = 




1
0
0
0

0

1
0
0

0
0
1
0

0 
0 
r 

1 

(c) SE/FIT/HUT 2002

/>
36

6


Khoa CNTT – DHBK Hanoi

8682595

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

Phép chiếu phối cảnh 2 tâm


Y’

VP (y=10)

VP ≡ y = 10

y

1
0
=
0

0

0 0 0 1
1 0 0 0
 
0 1 r 0
 
0 0 1 0

1
0
[x y z 1] 
0

0


0 0 0 1
1 0 0 0
 =
0 0 0 0
 
0 0 1 0

0
1
0
0

0
0
0
0

D’

0 0 0
1 0 0

0 0 r

0 0 1

H

C’


H’

G’

A’, E’B’, F’

C
E

A’, E’B’, F’x’

F

x

A’ E’
A

F’ B

x

B

z

0
0
 = [x y 0 rz+1]
r


1

[x'

y
 x

y' z' 1] = 
0 1
 rz +1 rz +1



x
y ' z ' 1] = 
 ( px + qy + 1)

y
( px + qy + 1)

1
0
=
0

0


z

1
( px + qy + 1) 

1
0

0

0

0 0 0  1
1 0 0 0
=
0 0 0  0
 
0 0 1  0

0 0 p
1 0 q 
0 0 0

0 0 1

1
0
=
0

0


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

„
„
„
„

y
( px + qy + rz + 1)

[x

„
H'

G'

C'
E'

G'

„

C'


„

VP ( x = 10 )
VP ( z = 10 )
z'
A', E'

F'

(c) SE/FIT/HUT 2002

CuuDuongThanCong.com

x'
B'

B'

0
0
1
0

p
0 
0

1

1

0

0

0

1
0
z 1] 
0

0

y

z ( px + qy + 1)]

38

0
1
0
0

0
0
1
0

0

q 
0

1

1
0

0

0

0 0 p
1 0 q 
= [x
0 1 r

0 0 1

0
1
0
0

y

0  1
0   0
=
r  0

 
1  0

0
0
1
0

0
1
0
0

0
0
1
0

p
q 
r

1

z ( px + qy + rz + 1)]

40

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

F'

A'

x'

0 0 p
1 0 q 
= [x
0 1 0

0 0 1

(c) SE/FIT/HUT 2002

D'

H'


1
0
z 1] 
0

0


z
1
( px + qy + rz + 1) 

y'

D'

0
1
0
0

y

y'
VP ( y = 10)

y

[ Tpqr ] = [Tp ][Tq ][Tr ]


39

(c) SE/FIT/HUT 2002


x
y' z ' 1] = 
 ( px + qy + rz + 1)

0 1
0 0

[x

Phép chiếu phối cảnh 3 tâm chiếu
„

0 0 p
1 0 q 
0 1 0

0 0 1

p
q 
0

1


0 0
1 0

(c) SE/FIT/HUT 2002

[ Tc ] = [ Tpq ][ Tz ]

„

[x'

1
0
[T pq ] = 
0

0

37

(c) SE/FIT/HUT 2002

[x'

VP( x = 10)

VP
X=10

G


D

D’, H’C’, G’

D’ H’
C’,G’

y’

41

0 0 p 1
1 0 q  0
.
0 1 r  0

0 0 1  0

0 0 0 1
1 0 0 0
=
0 0 0 0
 
0 0 1 0

0 0 p
1 0 q 
0 0 r


0 0 1

(c) SE/FIT/HUT 2002

/>
42

7


Khoa CNTT – DHBK Hanoi

8682595

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

(c) SE/FIT/HUT 2002

CuuDuongThanCong.com

43

/>
8



×