Bài giảng Bài 5: Nguyên lý về 3D và phép chiếu - Projection trình bày các nội dung: Nguyên lý về 3D, đặc điểm của kỹ thuật đồ họa 3D, các phương pháp hiển thị 3D, các phép chiếu trong chương trình đồ họa. Đây là một tài liệu hữu ích dành cho các bạn sinh viên Công nghệ thông tin và thiết kế đồ họa dùng làm tài liệu học tập và nghiên cứu.
Khoa CNTT – DHBK Hanoi hunglt@it-hut.edu.vn 8682595 Bài Nguyên lý 3D Phép chiếu-Projection Nguyên lý 3D Lê Tấn Hùng 0913030731 hunglt@it-hut.edu.vn (c) SE/FIT/HUT 2002 Ðồ họa chiều - 3D computer graphics bao gồm việc bổ xung kích thước chiều sâu đối tượng, cho phép ta biểu diễn chúng giới thực cách xác sinh động Tuy nhiên thiết bị truy xuất chiều, Do việc biểu diễn thực thi thông qua phép tô chát – render để gây ảo giác illusion độ sâu 3D Graphics việc chyển 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) (c) SE/FIT/HUT 2002 Ðặc điểm kỹ thuật đồ hoạ 3D Các phương pháp hiển thị 3D Có đối tượng phức tapj đối tượng 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 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 bề mặt hiển thị (c) SE/FIT/HUT 2002 Perspective and Depth of Field Với thiết bị hiển thị 2D: Bao mặt phẳng hay bề mặt Có thành phần 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 (c) SE/FIT/HUT 2002 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 2D PIXELMAP DISPLAY (c) SE/FIT/HUT 2002 Khoa CNTT – DHBK Hanoi hunglt@it-hut.edu.vn 8682595 3D - Modelling Clipping 3D x +y +z =r 2 2 view frustrum Polygonal 3D Modelling Implicit x = sin 4θ y = cos 2θ outside view so must be clipped Particles Parametric (c) SE/FIT/HUT 2002 Viewing and Projection (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 10 Rasterization 3d models camera setup viewport (c) SE/FIT/HUT 2002 Các bước xây dựng hình chiếu Phép chiếu täa ®é thùc 3D Định nghĩa phép chiếu täa ®é theo vïng c¾t C¾t theo view volum Định nghĩa hình chiếu Ảnh đối tượng mặt phẳng chiếu hình thành từ phép chiếu đường thẳng gọi tia chiếu (projector) xuất phát từ điểm gọi tâm chiếu (center of projection) qua điểm đối tượng giao với mặt chiếu (projection plan) (c) SE/FIT/HUT 2002 11 khung nhìn Phép chiếu mặt phẳng chiếu tọa độ thiết bị Phép biến đổi vào cổng nhìn tọa độ thiết bị đối tượng không gian 3D với tọa độ thực cắt theo không gian view volume chiếu lên mặt phẳng chiếu Diện tích chốn view volume xác định gọi view volume mặt phẳng chiếu cho khung nhìn việc ánh xạ khung nhìn vào cổng nhìn cho trước hình để hiển thị hình ảnh (c) SE/FIT/HUT 2002 12 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 hướng tia chiếu Direction Of Projection mặt phẳng chiếu projection plane Phép chiếu trực giao (Orthographic projection) Ứng với mặt phẳng chiếu ta có ma trận chiếu tương ứng 1 0 [T y ] = 0 0 0 0 0 0 0 0 [T ] = 0 x 0 0 1 0 0 0 1 0 0 [T z ] = 0 0 0 1 0 13 (c) SE/FIT/HUT 2002 Phép chiếu trục lượng (Axonometric) 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 sở tỉ lệ co - SF ảnh đối tượng trục khác SF- tỉ lệ co theo trục là: f x = x' 2x + y' 2x xx' ' x [T ] = y' xz 1 0 1 [U ] = 0 1 0 1 y x' y 'y y z' (c) SE/FIT/HUT 2002 1 1 1 1 f y = x' 2y + y' 2y f z = x' 2z + y' 2z 15 Phép chiếu Dimetric [T ] = [ Ry ][ Rx ][ Pz ] cos φ = sin φ 0 − sin φ 0 1 0 0 cos ϕ cos φ 0 0 − sin ϕ 0 1 0 cos φ [T ] = sin φ sin φ sin ϕ cos ϕ − cos φ sin ϕ Là phép chiếu Trimetric với hệ số tỉ lệ co nhau, giá trị thứ lại tuỳ ý 0 1 sin ϕ 0 0 cos ϕ 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 ϕ φ = sin −1 ( ± 0 0 0 1 ϕ = sin −1 (± fz − f z2 fz ) ) (c) SE/FIT/HUT 2002 17 (c) SE/FIT/HUT 2002 18 Khoa CNTT – DHBK Hanoi hunglt@it-hut.edu.vn 8682595 Phép chiếu Isometric sin φ = − sin ϕ − sin ϕ sin ϕ − sin ϕ sin2 ϕ 1/ sin2 φ = = = 1/ − sin2 ϕ − 1/ sin ϕ = ± sin φ = ϕ = ±35.260 φ = ±450 f = cos ϕ = / = 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 [T ' ' ] = − a − b 0 0 0 0 0 1 a = f cosα b = f sin α [T ] = − f cos α (c) SE/FIT/HUT 2002 − f sin α 0 0 0 0 1 23 f = 0, β = 900 phép chiếu 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 Phép chiếu Cavalier cho phép giá trị α biến đổi cách tự α = 300 450 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 ( = cos −1 ( + f 2 ) ) = 63.435 + (1 ) 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 mơ hình 3D sau phép chiếu hội tụ điểm gọi đ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) 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 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 29 (c) SE/FIT/HUT 2002 30 Khoa CNTT – DHBK Hanoi hunglt@it-hut.edu.vn 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 điểm đối tượng lên mặt phẳng 2D thu từ phép chiếu trực giao 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 PROJECTION matrix divide by homogenous ordinate to map back to 3D space (c) SE/FIT/HUT 2002 0 x 0 y 0 z 0 34 Giả sử mặt phẳng đặt z = tâm phép chiếu nằm trục z , cách trục z khoảng zc = -1/r Nếu đối tượng nằm mặt phẳng z = đối tượng cho hình ảnh thật Phương trình biến đổi: [ x y z ][ Tr ] = [ x y z rz+1 ] ma trận biến đổi đ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 1d Phép chiếu phối cảnh tâm x x xP z d y y ↔ y P = − z zP z d −d z d 1 0 x 0 y − 0 z 0 0 x x 1 xP z d y y ↔ y = 0 P = − z 0 zP z d −d z d 0 1 33 (c) SE/FIT/HUT 2002 x 1 y 0 = − z 0 0 32 (c) SE/FIT/HUT 2002 Perspective Projections Perspective Projections 0 0 0 r 0 1 35 ] = 0 0 0 0 0 r (c) SE/FIT/HUT 2002 36 Khoa CNTT – DHBK Hanoi hunglt@it-hut.edu.vn 8682595 phép chiếu phối cảnh tâm Phép chiếu phối cảnh tâm Y’ VP (y=10) VP ≡ y = 10 y 1 0 = 0 0 0 0 1 0 0 r 0 0 1 0 1 0 [x y z 1] 0 0 0 0 1 0 0 = 0 0 0 0 1 0 0 0 0 D’ 0 0 0 0 r 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 rz+1] r 1 [x' y x y' z' 1] = 1 rz +1 rz +1 x y ' z ' 1] = ( px + qy + 1) y ( px + qy + 1) 1 0 = 0 0 z ( px + qy + 1) 1 0 0 0 0 1 0 0 = 0 0 0 0 0 p q 0 0 0 1 1 0 = 0 0 tâm chiếu: [ -1/p 0 ] [ -1/q ] VP (Vanishing point) tương ứng trục x y điểm: [ 1/p 0 ] [ 1/q ] y ( px + qy + rz + 1) [x H' G' C' E' G' C' VP ( x = 10 ) VP ( z = 10 ) z' A', E' F' x' B' B' (c) SE/FIT/HUT 2002 0 p 0 1 1 0 0 0 1 0 z 1] 0 0 y z ( px + qy + 1)] 38 0 0 0 q 0 1 1 0 0 0 0 p q = [x r 0 1 0 y 1 = r 0 0 0 0 0 0 p q r 1 z ( px + qy + rz + 1)] 40 tâm chiếu: trục x điểm [ -1/p 0 ], y điểm [ -1/q ] z điểm [ 0 -1/r ] VP tương ứng với giá trị : [ 1/p 0 ], [ 1/q ] [ 0 1/r ] [ Tc ] = [ Tpqr ][ Tz ] 1 0 = 0 0 F' A' x' 0 p q = [x 0 0 1 (c) SE/FIT/HUT 2002 D' H' 1 0 z 1] 0 0 z ( px + qy + rz + 1) y' D' 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 [x Phép chiếu phối cảnh tâm chiếu 0 p q 0 0 1 p q 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 p 1 q 0 r 0 0 0 0 0 1 0 0 = 0 0 0 0 1 0 0 p q 0 r 0 1 (c) SE/FIT/HUT 2002 42 Khoa CNTT – DHBK Hanoi hunglt@it-hut.edu.vn 8682595 Phân loại phép chiếu (c) SE/FIT/HUT 2002 43 ... 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 hướng tia chiếu Direction Of Projection. .. 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 mơ hình 3D sau phép chiếu. .. chiếu hội tụ điểm gọi đ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) mặt phẳng chiếu projection plane Each set of parallel