Xem mẫu
- 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
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
CuuDuongThanCong.com https://fb.com/tailieudientucntt
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
CuuDuongThanCong.com https://fb.com/tailieudientucntt
8
nguon tai.lieu . vn