1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Bài 5: Nguyên lý về 3D và phép chiếu - Projection - Lê Tấn Hùng

10 7 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 752,87 KB

Nội dung

Bài giảng Bài 5: Nguyên lý về 3D và phép chiếu - Projection cung cấp cho sinh viên các kiến thức: 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 Nguyên lý 3D Bài Nguyên lý 3D phép chiếu-Projection z z Lê Tấn Hùng 0913030731 hunglt@it-hut.edu.vn z Ðồ 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 đ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 z – – z z z z Với thiết bị hiển thị 2D: – Bao mặt phẳng hay bề mặt Có thành phần ngồ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 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ị – – – z Thiết bị hiển thị 3D: – – 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 Kính stereo - Stereoscopic displays* Màn hình 3D - Holograms Perspective and Depth of Field Exploded/cutaway scenes Stereo Projections Shadows as depth cues z z z 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 inches apart, therefore a good value for D is 1.5 Different views of a 3D model Khoa CNTT – DHBK Hanoi hunglt@it-hut.edu.vn 8682595 Stereo Projections 3D GRAPHICS PIPELINE WORLD SCENE/OBJECT Modelling coordinates: - world coordinate system, - object coordinate system 3D MODELLING VIEWING 3D CLIPPING Camera coordinates PROJECTION Screen/Window coordinates RASTERIZATION eye=(0,-1,2.5) Device coordinates eye=(0.5,-1,2.5) 2D PIXELMAP DISPLAY 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 10 Viewing and Projection Rasterization 3d models camera setup viewport 11 12 Khoa CNTT – DHBK Hanoi hunglt@it-hut.edu.vn 8682595 Phép chiếu Các bước xây dựng hình chiếu täa ®é thùc 3D Định nghĩa 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 điểm hệ thống tọa độ có số chiều nhỏ n Đị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) tọa độ theo vùng cắt Cắt theo view volum tọa độ thiết bị khung nhìn Phép chiếu mặt phẳng chiếu Phép biến đổi vo cổng nhìn tọa độ thiết bị i tng khụng gian 3D với tọa độ thực cắt theo không z gian xác định gọi view volume view volume chiếu lên mặt phẳng chiếu Diện tích chốn view z 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 z hình để hiển thị hình ảnh 13 14 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ếu Direction Of Projection mặt phẳng chiếu -projection plane z z 15 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 presentation centre of projection at infinity 16 A ’ D ’ A B ’D C ’ B C projectio n plane Taxonomy of Projections ƒ 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 [T y ] = ⎢ ⎢0 ⎢ ⎣0 17 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 z Orthographic Projections – Multiview Orthographic 0 0⎤ 0⎥⎥ 0 0⎥ ⎥ 0 1⎦ 18 Khoa CNTT – DHBK Hanoi hunglt@it-hut.edu.vn 8682595 Phép chiếu trục lượng (Axonometric) z z z z Trimetric Phép chiếu trục lượng phép chiếu mà hình chiếu thu Phép chiếu Trimetric Là phép chiếu hình thành từ việc quay tự đối tượng trục hay tất trục hệ tọa độ 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 sở tỉ lệ co - SF ảnh đối tượng trục khác ⎡ xx' ⎢ ' x [T ] = ⎢ y' ⎢ xz ⎢ ⎢⎣ ⎡1 0 1⎤ [U ] = ⎢⎢0 1⎥⎥ ⎢⎣0 1⎥⎦ 19 y x' y 'y y z' [ 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à: f x = x' 2x + y' 2x 1⎤ ⎥ 1⎥ 1⎥ ⎥ 1⎥⎦ f y = x' 2y + y' 2y f z = x' 2z + y' 2z 20 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 ϕ 0 0⎤ 0⎥⎥ 0⎥ ⎥ 1⎦ Là phép chiếu Trimetric với hệ số tỉ lệ co nhau, giá trị thứ lại tuỳ ý 0⎤ ⎡1 ⎥ ⎢ 0⎥ ⎢0 cos ϕ 0⎥ ⎢0 ⎥ ⎢ 1⎦ ⎣0 sin ϕ f z2 = (xz'2 + yz'2 ) = sin2 φ + cos2 φ sin2 ϕ 0 0⎤ 0⎥⎥ 0 0⎥ ⎥ 0 1⎦ f y2 = ( x 'y2 + y 'y2 ) = cos ϕ φ = sin −1 ( ± •Quay đối tượng quanh trục y theo góc φ, •Quay quanh x theo góc ψ ϕ = sin −1 (± •Chiếu mặt phẳng z = với tâm chiếu điểm vô hạn fz − f z2 fz ) ) 21 22 Phép chiếu Isometric z z z 23 Là phép chiếu trục lượng mà hệ số co cạnh trục Góc quay tương ứng 35.26 45 Ðượ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 sin φ = − sin ϕ − sin ϕ sin ϕ − sin ϕ sin2 ϕ 1/ sin2 φ = = = 1/ − sin2 ϕ − 1/ sin ϕ = ± sin φ = ϕ = ±35.260 φ = ±450 f = cos ϕ = / = 0.8165 24 Khoa CNTT – DHBK Hanoi hunglt@it-hut.edu.vn 8682595 Taxonomy of Projections z Parallel Projections Oblique Projections orthographic oblique 25 axonometric 26 Taxonomy of Projections z Phép chiếu xiên - Oblique Oblique Projections – – – isometric z Combine the properties of Orthographic and Axonometric Preserves the object face; and Gives a better sense of the 3D nature z 27 Phép chiếu Cavalier Phép chiếu Cabinet 28 Phép chiếu Cavalier G Phép chiếu cavalier phép chiếu xiên tạo thành tia chiếu làm thành với mặt phẳng chiếu góc 450 ⎡ ⎢ [T ' ' ] = ⎢ ⎢− a − b ⎢ ⎣ 29 0 0 0⎤ 0⎥ ⎥ 0⎥ ⎥ 1⎦ – – a = f cosα b = f sin α ⎡ ⎢ [T ] = ⎢ ⎢− f cos α ⎢ ⎣ − f sin α – 0⎤ 0⎥⎥ 0⎥ ⎥ 1⎦ 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 30 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 31 32 Phép chiếu phối cảnh Perspective Projection z z z Vanishing points Phép chiếu phối cảnh phép chiếu mà tia chiếu không song song với mà xuất phát từ điểm gọi tâm chiếu.Phép chiếu phối cảnh tạo hiệu ứng luật xa gần tạo cảm giác độ sâu đối tượng giới thật mà phép chiếu song song không lột tả 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 z z z 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 – – z 33 corridor higher = further away Good way to spot faked images 34 Điểm triệt tiêu Vanishing point Perspective Projections 3-point perspective z z z 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 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 3-points seldom used … add little extra realism 1-point perspective 2-point perspective 35 36 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 [Tr ] = ⎢ ⎢0 ⎢ ⎣0 0 0⎤ 0⎥⎥ r⎥ ⎥ 0 1⎦ ⎡ x [ x' y ' z ' 1] = ⎢ ⎣ rz + z 37 z ⎤ rz + ⎥⎦ 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 38 Perspective Projections z y rz + Perspective Projections z Tham số: – – – – z centre of projection (COP) field of view (θ, φ) projection direction up direction 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) y’/y = N/-z Once projected onto a 2D plane the z coordinate is not needed (x’,y’) (x,y,z) N 39 z near plane 40 Perspective Projection Details Perspective 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 yP y = ⇒ yP = z d zd a similar construction for xp d ⇒ y yp 41 -z ⎡ x ⎤ ⎡ x ⎤ ⎡1 ⎡ xP ⎤ ⎢ z d ⎥ ⎢ ⎥ ⎢ ⎢y ⎥ ⎢ y ⎥ ⎥ ↔ ⎢ y ⎥ = ⎢0 ⎢ P⎥ = ⎢ ⎢ − z ⎥ ⎢0 ⎢ zP ⎥ ⎢ z d ⎥ ⎢ ⎥ ⎢ ⎢ ⎥ ⎢−d ⎥ ⎣ z d ⎦ ⎣0 ⎣1⎦ ⎢ ⎥ ⎣ ⎦ 0 0 −1 1d divide by homogenous ordinate to map back to 3D space ⎡ x ⎤ ⎡1 ⎢ y ⎥ ⎢0 ⎢ ⎥=⎢ ⎢ − z ⎥ ⎢0 ⎢ ⎥ ⎢ ⎣ ⎦ ⎣0 0⎤ ⎡ x ⎤ 0⎥ ⎢ y ⎥ ⎥⎢ ⎥ 0⎥ ⎢ z ⎥ ⎥⎢ ⎥ 0⎦ ⎣ ⎦ 0⎤ ⎡ x ⎤ 0⎥ ⎢ y ⎥ ⎥⎢ ⎥ − 0⎥ ⎢ z ⎥ ⎥⎢ ⎥ 0 0⎦ ⎣ ⎦ 0 ⎡ x ⎤ ⎡ x ⎤ ⎡ xP ⎤ ⎢ z d ⎥ ⎥ ⎢ ⎢y ⎥ ⎢ y ⎥ ⎥↔⎢ y ⎥ ⎢ P⎥ = ⎢ ⎢− z⎥ ⎢ zP ⎥ ⎢ z d ⎥ ⎥ ⎢ ⎢ ⎥ ⎢−d ⎥ ⎣z d ⎦ ⎣1⎦ ⎢ ⎥ ⎣ ⎦ PROJECTION matrix perspective division Flip z to transform to a left handed co-ordinate system ⇒ increasing z values mean increasing distance from the viewer 42 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 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: ⎡ ⎢ ] = ⎢ ⎢ ⎢ ⎣ [ Tr 0 0 0 ⎡1 ⎢0 =⎢ ⎢0 ⎢ ⎣0 0 0⎤ ⎡1 0⎥ ⎢0 ⎥ ⎢ r⎥ ⎢0 ⎥ ⎢ 0 1⎦ ⎣0 ⎡1 ⎢0 [x y z 1] ⎢ ⎢0 ⎢ ⎣0 ⎤ ⎥⎥ r ⎥ ⎥ ⎦ 0 y 43 0 0 0 0 0⎤ 0⎥ ⎥ 0 r⎥ ⎥ 0 1⎦ H Phép chiếu phối cảnh tâm H’ D G’ C E F x A’ E’ A F’ B x B z 0⎤ 0⎥ ⎥ = [x y rz+1] r⎥ ⎥ 1⎦ ⎡ x y ' z ' 1] = ⎢ ⎣ ( px + qy + 1) [x' VP (y=10) VP ≡ y = 10 [x' y ⎡ x ⎤ y' z' 1] = ⎢ 1⎥ ⎣ rz +1 rz +1 ⎦ VP( x = 10) ⎤ z ( px + qy + 1) ⎥⎦ [ Tc ] = [ Tpq ][ Tz ] z ⎡1 ⎢0 =⎢ ⎢0 ⎢ ⎣0 VP X=10 A’, E’B’, F’ A’, E’B’, F’x’ z p⎤ q ⎥⎥ 0⎥ ⎥ 1⎦ 0 0 0 [x y ⎡1 ⎢0 z 1] ⎢ ⎢0 ⎢ ⎣0 0 p⎤ q ⎥⎥ = [x 0⎥ ⎥ 0 1⎦ y z z ( px + qy + 1)] 0 p⎤ q ⎥⎥ 0⎥ ⎥ 0 1⎦ ⎡1 ⎢0 ⎢ ⎢0 ⎢ ⎣0 0 ⎤ ⎡1 0⎥⎥ ⎢⎢0 = 0 ⎥ ⎢0 ⎥ ⎢ 0 ⎦ ⎣0 z 46 Phép chiếu phối cảnh tâm chiếu [x' ⎡ x y' z ' 1] = ⎢ ⎣ ( px + qy + rz + 1) y ( px + qy + rz + 1) y' VP ( y = 10) [x 0 y 0 p⎤ ⎥⎥ 0⎥ ⎥ 1⎦ ⎡1 ⎢0 ⎢ ⎢0 ⎢ ⎣0 ⎡1 ⎢0 z 1] ⎢ ⎢0 ⎢ ⎣0 0 0 0⎤ q ⎥⎥ 0⎥ ⎥ 1⎦ ⎡1 ⎢0 ⎢ ⎢0 ⎢ ⎣0 p⎤ q ⎥⎥ = [x r⎥ ⎥ 0 1⎦ ⎤ z ( px + qy + rz + 1) ⎥⎦ y' [ Tpqr ] = [Tp ][Tq ][Tr ] ⎡1 ⎢0 =⎢ ⎢0 ⎢ ⎣0 0 p⎤ q ⎥⎥ 0 0⎥ ⎥ 0 1⎦ 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 ] z ⎡1 ⎢0 [T pq ] = ⎢ ⎢0 ⎢ ⎣0 z y ( px + qy + 1) D’, H’C’, G’ D’ H’ C’,G’ 47 C’ G 44 Y’ 45 0 0⎤ ⎡1 0⎥ ⎢0 ⎥ =⎢ 0 0⎥ ⎢0 ⎥ ⎢ 0 1⎦ ⎣0 y’ D’ 0 0 0 ⎤ ⎡1 ⎥⎥ ⎢⎢ = r ⎥ ⎢0 ⎥ ⎢ ⎦ ⎣0 0 0 p⎤ q ⎥⎥ r⎥ ⎥ 1⎦ H' D' D' H' G' C' E' G' 0 y C' VP ( x = 10 ) z ( px + qy + rz + 1)] VP ( z = 10 ) F' A' x' z' A', E' F' B' x' B' 48 Khoa CNTT – DHBK Hanoi hunglt@it-hut.edu.vn 8682595 Đặc tính phép chiếu phối cảnh z z z 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 49 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⎦ 50 Taxonomy of Projections z Parallel lines in 3D will meet at a vanishing point Lines that pass behind the eye of the camera cause a catastropic “passage through infinity” Perspective projections usually produce geometrically realistic pictures Classical Projections Perspective – Three Point M.C Escher: Ascending and Descending 51 Phân loại phép chiếu Viewing in OpenGL Phép chiếu hình học phẳng z Phép chiếu song song z Phép chiếu phối cảnh Phép chiếu Xiên Trùc giao z Mét ®iĨm z Axonometric ChiÕu b»ng Hai ®iĨm Cavalier z z Trimetric ChiÕu ®øng Cabinet ChiÕu c¹nh OpenGL has multiple matrix stacks - transformation functions right-multiply the top of the stack Two most important stacks: GL_MODELVIEW and GL_PROJECTION Points get multiplied by the modelview matrix first, and then the projection matrix GL_MODELVIEW: Object->Camera GL_PROJECTION: Camera->Screen glViewport(0,0,w,h): Screen->Device Ba ®iĨm Dimetric Isometric 53 Angel Figure 5.3 52 PhÐp chiÕu kh¸c 54 Khoa CNTT – DHBK Hanoi hunglt@it-hut.edu.vn 8682595 OpenGL Example Stereo Projections void SetUpViewing() { // The viewport isn’t a matrix, it’s just state glViewport( 0, 0, window_width, window_height ); z z // Set up camera->screen transformation first glMatrixMode( GL_PROJECTION ); glLoadIdentity(); gluPerspective( 60, 1, 1, 1000 ); // fov, aspect, near, far z z // Set up the model->camera transformation glMatrixMode( GL_MODELVIEW ); gluLookAt( 3, 3, 2, // eye point 0, 0, 0, // look at point 0, 0, ); // up vector glRotatef( theta, 0, 0, ); // rotate the model glScalef( zoom, zoom, zoom ); // scale the model 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 } 55 56 Stereo Projections 57 10 ... better sense of the 3D nature z 27 Phép chiếu Cavalier Phép chiếu Cabinet 28 Phép chiếu Cavalier G Phép chiếu cavalier phép chiếu xiên tạo thành tia chiếu làm thành với mặt phẳng chiếu góc 450 ⎡... Cabinet Projection 31 32 Phép chiếu phối cảnh Perspective Projection z z z Vanishing points Phép chiếu phối cảnh phép chiếu mà tia chiếu không song song với mà xuất phát từ điểm gọi tâm chiếu .Phép chiếu. .. lượng phép chiếu mà hình chiếu thu Phép chiếu Trimetric Là phép chiếu hình thành từ việc quay tự đối tượng trục hay tất trục hệ tọa độ chiếu đối tượng phép chiếu song song lên mặt phẳng chiếu (thường

Ngày đăng: 08/05/2021, 19:53

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN