Ðặ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 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
Trang 1Bài 5 Nguyên lý về 3D và phép chiếu-Projection
Lê Tấn Hùng
0913030731 hunglt@it-hut.edu.vn
Trang 22
Nguyên lý về 3D
Ðồ 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)
Trang 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 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ị
Trang 44
Các phương pháp hiển thị 3D
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ô 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
Trang 5Different views of a 3D model
Shadows as depth cues
Perspective and Depth of Field
Exploded/cutaway scenes
Trang 66
Stereo Projections
In OpenGL we can produce
stereo views by creating two
side-by-side viewports with
slightly different viewing
angles
The lookat point stays the
same but the location of the
eye moves
Human eyes are about 3
inches apart, therefore a good
value for D is 1.5
Trang 7Stereo Projections
eye=(0,-1,2.5) eye=(0.5,-1,2.5)
Trang 8- world coordinate system,
- object coordinate system
Camera coordinates
Screen/Window coordinates
Device coordinates
VIEWING
Trang 92 2
r z
Trang 1010
Clipping 3D
view frustrum
outside view so must be clipped
Trang 11Viewing and Projection
viewport
3d models camera setup
Trang 1212
Rasterization
Trang 13Phép chiếu
Đị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)
Trang 1414
Cỏc bước xõy dựng 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 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ắt theo view volum
Phép chiếu trên mặt phẳng chiếu
Phép biến đổ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 tọa độ thiết bị
Trang 16Phép chiếu song song
Parallel Projections
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
Points on the object are projected to the
viewing plane along parallel lines
Preserves relative dimensions of the
object but does not give a realistic
at infinity
Trang 17 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
0 0 0 0
0 0 1 0
0 0 0 1 ]
0 1 0 0
0 0 0 0
0 0 0 1
0 1 0 0
0 0 1 0
0 0 0 0 ]
[T x
Trang 1818
Taxonomy of Projections
Orthographic Projections
– Multiview Orthographic
Trang 19Phép chiếu trục lượng (Axonometric)
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
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
Trang 2020
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 x
x x ' y '
2 y
2 y
2 z
2 z
Trang 21Phép chiếu Dimetric
] ][
][
[ ]
0 0 0 0
0 0 1 0
0 0 0 1
1 0
0 0
0 0
0 0
0 0
0 1
1 0
0 0
0 0
0 0
1 0
0 0
cos
sin
sin
cos
cos sin
sin cos
0
0 0 sin
cos sin
0 0 cos
0
0 0 sin
sin cos
•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
Trang 2222
cos )
22
sin cos
sin )
Trang 23trong 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
sin
sinsin
1 1
3 1
2 2
/ /
/ sin
03
/2
f
Trang 2424
Trang 25
Taxonomy of Projections
Oblique Projections
Trang 27Taxonomy of Projections
Oblique Projections
– Combine the properties of Orthographic and Axonometric
– Preserves the object face; and
– Gives a better sense of the 3D nature
Trang 2828
Phép chiếu Cavalier
Phép chiếu Cabinet
Trang 2900
00
10
00
01
]''
[
b a
sin
f b
0 0
0 0
sin cos
0 0
1 0
0 0
0 1
] [
f T
Trang 30– Phép chiếu Cavalier cho phép giá trị của
biến đổi một cách tự
do = 30 0 và 45 0
Trang 31Phép chiếu Cabinet
0 2
2 1
2 2
1
435
63
) ) 2 1 ( 1
2
1 (
cos
) 1
( cos
Trang 33Phép chiếu phối cảnh
Perspective Projection
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
Trang 3434
Vanishing points
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
– corridor
– higher = further away
Good way to spot faked images
Trang 35Điểm triệt tiêu Vanishing point
Nếu điểm triệt tiêu nằm trên trục tọa độ thì điểm
đó được gọi là điểm triệt tiêu quy tắc - principle
vanishing point
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
Trang 37Phép chiếu phối cảnh
Trang 3838
Phép biến đổi phối cảnh
Phép chiếu phối ca?nh của
các điểm trên đối tượng lên
0 0
1 0
0
0 0
1 0
0 0
0 1
]
[
r Tr
1
] 1 ' '
'
[
rz
z rz
y rz
x z
y
x
Trang 4040
Perspective Projections
Projecting a 3D Point
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)
Trang 41Perspective Projections
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
y p
d z
y y
d
y z
0 0
0 1 0
0
0 0 1 0
0 0 0 1
1 1
z y x
d d
z z y x
d
d z y
d z x
z y x
P P P
divide by homogenous ordinate to
map back to 3D space
a similar construction for x p
Trang 42d z y
d z x
z y x
P P P
1 1
0 1 0
0
0 0 1 0
0 0 0 1
1
z y x
z y x
Flip z to transform to a left handed co-ordinate
system increasing z values mean increasing
distance from the viewer
PROJECTION
matrix
perspective division
Trang 43Phé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 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
0 0
1 0
0
0 0
1 0
0 0
0 1
]
[
r Tr
Trang 4444
y
0 0 0
0 0 1 0
0 0 0 1
1 0 0 0
0 0 0 0
0 0 1 0
0 0 0 1
1 0
1
0
0 0
0
1
r r
1 0 0 0
0 0 0
0 0 1 0
0 0 0 1
x r
z y
y rz
x z
y x
Trang 45Phép chiếu phối cảnh 2 tâm
0 1 0 0
0 1 0
0 0 1
0 1 0 0
0 1 0
0 0 1
y x q
p z
y x
Trang 46) 1 (
) 1 (
1 ' '
'
qy px
z qy
px
y qy
px
x z
y x
0 0
0 0
0 0
0 1 0
0 0 1
1 0 0 0
0 0 0 0
0 0 1 0
0 0 0 1
1 0
0 0
0 1
0 0
0 1 0
0 0 1
q
p q
p
Trang 47Phép chiếu phối cảnh 3 tâm chiếu
1 0 0
0 1 0
0 0 1
1 0 0 0
1 0 0
0 0 1 0
0 0 0 1
1 0 0 0
0 1 0 0
0 1 0
0 0 0 1
1 0 0 0
0 1 0 0
0 0 1 0
0 0 1
r q p
r q
p
1 0
0 0
1 0 0
0 1 0
0 0 1
px z
y
x r
q
p z
y x
Trang 48) 1 (
) 1 (
1 ' '
'
rz qy
px
z rz
qy px
y rz
qy px
x z
Trang 490 0 0
0 1 0
0 0 1
1 0 0 0
0 0 0 0
0 0 1 0
0 0 0 1
.
1 0 0 0
1 0 0
0 1 0
0 0 1
r q p
r q p
Trang 5050
Đặc tính của phép chiếu phối cảnh
1. Parallel lines in 3D will
meet at a vanishing point
2. Lines that pass behind the
eye of the camera cause a catastropic “passage
through infinity”
3. Perspective projections
usually produce geometrically realistic pictures
Trang 5252
Classical Projections
Angel Figure 5.3
Trang 53Phõn loại cỏc phộp chiếu
Phép chiếu hình học
phẳng
Phép chiếu song song Phép chiếu phối cảnh
Một điểm
Ba điểm Hai điểm
Chiếu
đứng
Chiếu cạnh
Axonometric
Trimetric
Dimetric
Isometric Chiếu
bằng
Trang 5454
Viewing in OpenGL
functions right-multiply the top of the stack
GL_PROJECTION
then the projection matrix
Trang 55OpenGL Example
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 }
Trang 5656
Stereo Projections
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
Trang 57Stereo Projections