3-points seldom used … add little extra realism. 36[r]
(1)1
Bài 5
Nguyên lý về3D và
phép chiếu-Projection
Lê Tấn Hùng 0913030731 hunglt@it-hut.edu.vn
2
Nguyên lý về3D
z Ðồhọa 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 thếgiới thực cách xác sinhđộng
z Tuy nhiên thiết bịtruy xuất tạiđều chiều, Do 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 độsâu
z 3D Graphics việc chyển thếgiới tựnhiên dạng mơ hình biểu diễn thiết bịhiển thịthông qua kỹthuật tô chát (rendering)
3
Ðặcđiểm của kỹthuậtđồhoạ3D
Có cácđối tượng phức tapj hơn cácđối tượng trong không gian 2D
– Bao mặt phẳng hay bềmặt
– Có thành phần ngồi
zCác phép biếnđổi hình học phức tạp zCác phép biếnđổi hệtoạ độphức tạp hơn zThường xuyên phải bổxung thêm phép chiếu từ
không gian 3D vào không gian 2D zLuôn phải xácđịnh bềmặt hiển thị
4
Các phương pháp hiển thị3D
zVới 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ô chát bềmặt-surface rendering
– Cắt lát - exploded/cutaway scenes, cross-sections
zThiết bịhiển thị3D:
– Kính stereo - Stereoscopic displays*
– Màn hình 3D - Holograms
5
Different views of a 3D model Shadows as depth cues Perspective and
Depth of Field
Exploded/cutaway scenes
6
Stereo Projections z In OpenGL we can produce
stereo views by creating two side-by-side viewports with slightly different viewing angles
z The lookat point stays the same but the location of the eye moves
(2)7
Stereo Projections
eye=(0,-1,2.5) eye=(0.5,-1,2.5)
8
3D GRAPHICS PIPELINE
WORLD SCENE/OBJECT
3D MODELLING
3D CLIPPING
PROJECTION
RASTERIZATION
2D PIXELMAP DISPLAY Modelling coordinates:
- world coordinate system, - object coordinate system
Camera coordinates Screen/Window coordinates Device coordinates
VIEWING
9
3D - Modelling
3D Modelling
Parametric Polygonal
Particles Implicit
2 2
2 y z r
x + + =
θ θ
cos sin
= = y x
10
Clipping 3D
view frustrum
outside view so must be clipped
11
Viewing and Projection
viewport
3d models camera setup
12
(3)13
Phép chiếu
Định nghĩa vềphép chiếu
Một cách tổng quát, phép chiếu phép chuyểnđổi
điểm đối tượng hệthống tọa độn chiều thành nhữngđiểm 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 mặt phẳng chiếuđược hình thành từ
phép chiếu cácđường thẳng gọi tia chiếu(projector)
xuất phát từmộtđiểm gọi tâm chiếu(center of projection) qua cácđiểm củađối tượng giao với mặt chiếu(projection plan)
14
Các bước xây dựng hình chiếu
z đối tượng không gian3D với tọađộthựcđược cắt theo không gian xácđịnh gọi làview volume
z view volumeđược chiếu lên mặt phẳng chiếu Diện tích chốn view volume mặt phẳng chiếuđósẽcho khung nhìn
z làviệcánh xạkhung nhìn vào cổng nhìn bất kỳcho trước hìnhđểhiển thịhìnhảnh
C¾t theo view volum
Phép chiếu trên mặt phẳng chiếu
Phộp bin đổi vμo cổng nhìn của tọa độ thiết bị tọa độ thực
3D
tọa độ theo vùng
cắt khung nhìn
ta thit b
15 16
Phép chiếu song song
Parallel Projections
Phép chiếu song song - Parallel Projections phép chiếu màở tia chiếu song song với hay xuất phát từ điểm vô
Phân loại phép chiếu song song dựa hướng tia chiếuDirection Of Projection
và mặt phẳng chiếu -projection plane
z Points on the object are projected to the viewing plane along parallel lines z Preserves relative dimensions of the
object but does not give a realistic presentation
A D
C B
projectio n plane D
’ C
’ B ’ A ’
centre of projection at infinity
17
Phép chiếu trực giao (Orthographic projection) phép chiếu song song tia chiếu vng góc với mặt phẳng chiếu thường dùng mặt phẳng z=0
Ứng với mặt phẳng chiếu ta có ma trận chiếu tương ứng
⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡ =
1 0
0 0
0
0 0
] [Tz ⎥
⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡ =
1 0
0 0
0 0
0 0
] [Ty
⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ =
1 0
0 0
0
0 0 ] [Tx
18
Taxonomy of Projections
z Orthographic Projections
(4)19
Phép chiếu trục lượng (Axonometric)
z Phép chiếu trục lượng phép chiếu mà hình chiếu thuđược z Phép chiếu Trimetric
z Là phép chiếu hình thành từviệc quay tựdođối tượng trục hay tất cảcác trục hệtọađộvà chiếuđối tượngđó phép chiếu song song lên mặt phẳng chiếu(thường mặt phẳng z= 0) vng góc với tia chiếu
z cơsởtỉlệco-SF củaảnhđối tượng trục khác
⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 1 0 0 0 1 0 1 0 1 0 ] [ 1 1 0 0 1 0 1 0 1 0 0 1 ] [ ' ' ' ' ' ' z z y y x x y x y x y x T U 20 Trimetric
[ U] :là ma trận vectorđơn vị trục x, y, z bất biến [ T] : ma trận chiếu tổng hợp tươngứng
SF-tỉlệco theo trục là:
2 x x
x x' y'
f = +
2 y y
y x' y'
f = +
2 z z
z x' y'
f = +
21
Phép chiếu Dimetric
] ][ ][ [ ]
[T = Ry Rx Pz
⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 cos sin sin cos cos sin sin cos ϕ ϕ ϕ ϕ φ φ φ φ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = 0 0 sin cos sin 0 cos 0 sin sin cos ] [ ϕ φ φ ϕ ϕ φ φ T
Là phép chiếu Trimetric với2 hệ sốtỉlệco nhau, giá trịthứ3 cịn lại tuỳý
•Quayđối tượng quanh trục y theo gócφ,
•Quay quanh x theo gócψ
•Chiếu mặt phẳng z= với tâm chiếu tạiđiểm vô hạn
22
ϕ 2
2
2 =( ' + ' )=cos
y y
y x y
f
ϕ φ
φ 2
2
2
2=( ' + ' )=sin +cos sin
z z
z x y
f
) ( sin
2 ± fz
= − ϕ ) ( sin 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ục
z Góc quay tươngứng
35.26 45
z Ðượcứng dụng nhiều việc xây dựng
góc quan sát chuẩn cho
đối tượng hệ
soạn thảođồhọa
ϕ ϕ
φ 22
2 sin sin sin − = ϕ ϕ
φ 22
2 sin sin sin − − = ± = ϕ sin 45 26 35 ± ==± φ ϕ 1 1 2 / / / sin sin sin = − = − = ϕ ϕ φ 8165 /
cos2 = =
= ϕ
f
(5)25
Taxonomy of Projections
z Oblique Projections
26
Parallel Projections
axonometric orthographic
oblique
isometric
27
Taxonomy of Projections zOblique 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
zPhép chiếu Cavalier zPhép chiếu Cabinet
29
Phép chiếu Cavalier
GPhép chiếu cavalier phép chiếu xiênđược tạo thành tia chiếu làm thành với mặt phẳng chiếu góc 450
⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢
⎢ ⎢ ⎢ ⎣ ⎡
− − =
1 0
0
0
0 0 ] '' [
b a
T α
α sin
f b
f
=
= cos
a
⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢
⎢ ⎢ ⎢ ⎣ ⎡
− −
=
1 0 0 0
0 0 sin cos
0 0 1 0
0 0 0 1
] [
α
α f
f T
30
– f = 0, β= 900phép
chiếu sẽtrởthành phép chiếu trực giao
– Cịn với f = kích thước hình chiếu kích thước đối tượng => cavalier
(6)31
Phép chiếu Cabinet
– Phép chiếu xiên với hệsốco tỉlệf = 1/2
0
2
2
435 . 63 ) ) 2 1 ( 1
2 1 ( cos
) 1 ( cos
= +
=
+ =
− −
f f
β
32
Oblique Projections
D/2 D
D
D
Cavalier Project Cabinet Projection
33
Phép chiếu phối cảnh
Perspective Projection
z Phép chiếuphối cảnh phép chiếu mà tia chiếu không song song với mà xuất phát từ1 điểm gọi tâm chiếu.Phép chiếu phối cảnh tạo hiệuứng vềluật xa gần tạo cảm giác độsâu đối tượng thếgiới thật mà phép chiếu song song không lột tả
z Cácđoạn thẳng song song mơ hình 3D sau phép chiếu hội tụtại điểm gọi làđiểm triệt tiêu - vanishing point
z Phân loại phép chiếuphối cảnh dựa vào tâm chiếu -Centre Of Projection(COP) 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 pointfor this direction
z Sets of parallel lines on the same plane lead to
collinear vanishing points: thehorizonfor 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ục tọa độ điểm
đó gọi đ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 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
(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ácđiểm trênđối tượng lên mặt phẳng 2D thuđược từphép chiếu trực giao phép biếnđổi phối cảnh
⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 0 0 0 0 0 ] [ r Tr ⎥⎦ ⎤ ⎢⎣ ⎡ + + + = 1 1 ] ' ' ' [ rz z rz y rz x z y x 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 -zaxis and the
view-plane located at z = -d
y yp d z y y d y z y P P⇒ = = -z d ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − ↔ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ 1 0 0 0 0 0 1 z y x d d z z y x d d z yd z 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
⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − ↔ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ d z z y x dd z yd z x z y x P P P 1 ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − 0 0 0 0 0 0 1 z y x z y x
Flip zto transform to a left handed co-ordinate system ⇒increasing zvalues mean increasing
distance from the viewer
PROJECTION
matrix