Giáo trình đồ họa - Lesson 5 docx

8 342 0
Giáo trình đồ họa - Lesson 5 docx

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

Thông tin tài liệu

Khoa CNTT – DHBK Hanoi hunglt@it-hut.edu.vn 8682595 1 (c) SE/FIT/HUT 2002 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 (c) SE/FIT/HUT 2002 2 Nguyên lý về 3D  Ðồ họa3 chiều - 3D computer graphics bao gồmviệcbổ xungkíchthướcvề chiềusâucủa đốitượng, cho phép ta biểu diễn chúng trong thế giớithựcmột cách chính xác và sinh động hơn.  Tuy nhiên các thiếtbị truy xuấthiệntại đềulà2 chiều, Do vậyviệcbiểudiễn đượcthực thi thông qua phép tô chát – render để gây ảo giác illusion vềđộsâu  3D Graphics là việcchyểnthế giớitự nhiên dướidạng các mô hình biểudiễn trên các thiếtbị hiểnthị thông qua kỹ thuậttô chát (rendering). (c) SE/FIT/HUT 2002 3 Ðặc điểmcủakỹ thuật đồ hoạ 3D Có các đốitượng phứctapjhơn các đốitượng trong không gian 2D  Bao bởi các mặtphẳng hay các bề mặt  Có các thành phần trong và ngoài  Các phép biến đổihìnhhọcphứctạp  Các phép biến đổihệ toạđộphứctạphơn  Thường xuyên phảibổ xung thêm phép chiếutừ không gian 3D vào không gian 2D  Luôn phảixácđịnh các bề mặthiểnthị (c) SE/FIT/HUT 2002 4 Các phương pháp hiểnthị 3D  Vớicácthiếtbị hiểnthị 2D:  3D viewing positions  Kỹ thuậtchiế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ếtbị hiểnthị 3D:  Kính stereo - Stereoscopic displays*  Màn hình 3D - Holograms (c) SE/FIT/HUT 2002 5 Different views of a 3D model Shadows as depth cues Perspective and Depth of Field Exploded/cutaway scenes (c) SE/FIT/HUT 2002 6 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 Khoa CNTT DHBK Hanoi hunglt@it-hut.edu.vn 8682595 2 (c) SE/FIT/HUT 2002 7 3D - Modelling 3D Modelling Parametric Polygonal Particles Implicit 2222 rzyx =++ 2 4 cos sin = = y x (c) SE/FIT/HUT 2002 8 Clipping 3D view frustrum outside view so must be clipped (c) SE/FIT/HUT 2002 9 Viewing and Projection viewport 3d models camera setup (c) SE/FIT/HUT 2002 10 Rasterization (c) SE/FIT/HUT 2002 11 Phộp chiu nh nghav phộp chiu Mt cỏch tng quỏt, phộp chiu l phộp chuyn inhng im ca itng trong h thng ta nchiu thnh nhng im trong h thng ta cú s chiunh hnn. nh nghav hỡnh chiu nh ca itng trờn mtphng chiu c hỡnh thnh t phộp chiubi cỏc ng thng g i l tia chiu (projector) xut phỏt t mt imgiltõmchiu (center of projection) i qua cỏc imca itng giao vimtchiu (projection plan). (c) SE/FIT/HUT 2002 12 Cỏc bcxõydng hỡnh chiu 1. itng trong khụng gian 3Dvita thc ccttheomt khụng gian xỏc nh gilviewvolume. 2. view volume cchiulờnmtphng chiu. Din tớch choỏn biviewvolume trờn mtphng chiu ús cho chỳng ta khung nhỡn. 3. l vicỏnhx khung nhỡn vo trong mtcng nhỡn btk cho trctrờnmn hỡnh hinth 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 vo 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ị Khoa CNTT – DHBK Hanoi hunglt@it-hut.edu.vn 8682595 3 (c) SE/FIT/HUT 2002 13 (c) SE/FIT/HUT 2002 14 Phép chiếu song song Parallel Projections  Phép chiếu song song - Parallel Projections là phép chiếumàởđó các tia chiếusong songvớinhauhay xuất phát từđiểmvôcùng  Phân loạiphépchiếusong songdựatrênhướng của tia chiếu Direction Of Projection và mặtphẳng chiếu- projection plane  Phép chiếutrực giao (Orthographic projection) là phép chiếu song song và tia chiếu vuông góc vớimặtphẳng chiếuthường dùng mặtphẳng z=0  Ứng vớimỗimặtphẳng chiếutacó1 ma trậnchiếu tương ứng ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 1000 0000 0010 0001 ][ z T ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 1000 0100 0000 0001 ][ y T ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 1000 0100 0010 0000 ][ x T (c) SE/FIT/HUT 2002 15 Phép chiếutrụclượng (Axonometric)  Phép chiếutrụclượng là phép chiếumàhìnhchiếu thu được  Phép chiếu Trimetric  Là phép chiếu hình thành từ việcquaytự do đốitượng trên mộttrụchay tấtcả các trụccủahệ tọa độ và chiếu đốitượng đóbằng phép chiếu song song lên mặtphẳng chiếu (thường là mặtphẳng z = 0) vuông góc vớitia chiếu  trên cơ sở tỉ lệ co - SF của ảnh đốitượng trên mỗitrụclàkhácnhau. ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 1000 10 10 10 ][ 1100 1010 1001 ][ '' '' '' zz yy xx yx yx yx TU (c) SE/FIT/HUT 2002 16 Trimetric [ U ] :là ma trận vector đơnvị của các trụcx, y, zbấtbiến [ T ] : là ma trậnchiếutổng hợp tương ứng SF- tỉ lệ co theo các trụclà: 2 x 2 xx 'y'xf += 2 y 2 yy 'y'xf += 2 z 2 zz 'y'xf += (c) SE/FIT/HUT 2002 17 Phép chiếuDimetric ]][][[][ PzRxRyT = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = 1000 0000 0010 0001 1000 00 00 0001 1000 00 0010 00 . cossin sincos . cossin sincos ϕϕ ϕϕ φφ φφ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = 1000 00sincossin 00cos0 00sinsincos ][ ϕφφ ϕ ϕφφ T Là phép chiếu Trimetric với 2 hệ số tỉ lệ co bằng nhau, giá trị thứ 3 còn lạilàtuỳ ý. •Quay đốitượng quanh trụcytheo một góc φ, •Quay quanh x theo một góc ψ •Chiếutrênmặtphẳng z = 0 vớitâm chiếutại điểmvôhạn (c) SE/FIT/HUT 2002 18 ϕ 2222 cos)( '' =+= yyy yxf ϕφφ 222222 sincossin)( '' +=+= zzz yxf )(sin 2 1 z f ±= − ϕ )(sin 2 1 2 z z f f − ±= − φ Khoa CNTT – DHBK Hanoi hunglt@it-hut.edu.vn 8682595 4 (c) SE/FIT/HUT 2002 19 Phép chiếu Isometric  Là phép chiếutrụclượng mà ởđóhệ số co cạnh trên 3 trụclàbằng nhau  Góc quay tương ứng là 35.26 và 45  Ðược ứng dụng nhiềutrong việcxâydựng các góc quan sát chuẩnchođốitượng trong các hệ soạnthảo đồ họa ϕ ϕ φ 2 2 2 1 sin sin sin − = ϕ ϕ φ 2 2 2 1 21 sin sin sin − − = 3 1 ±= ϕ sin 0 45 0 26.35 ±= ±= φ ϕ 21 311 31 1 2 2 2 / / / sin sin sin = − = − = ϕ ϕ φ 8165.03/2cos 2 === ϕ f (c) SE/FIT/HUT 2002 20 . (c) SE/FIT/HUT 2002 21 Parallel Projections axonometric orthographic oblique isometric (c) SE/FIT/HUT 2002 22 Phép chiếuxiên-Oblique  Phép chiếu Cavalier  Phép chiếu Cabinet (c) SE/FIT/HUT 2002 23 Phép chiếu Cavalier ` Phép chiếu cavalier là phép chiếuxiênđượctạo thành khi các tia chiếu làm thành vớimặtphẳng chiếumột góc 45 0 ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ −− = 1000 00 0010 0001 ]''[ ba T α α sinfb f = = cos a ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ −− = 1000 00sincos 0010 0001 ][ αα ff T (c) SE/FIT/HUT 2002 24  f = 0, β = 90 0 phép chiếu sẽ trở thành phép chiếu trựcgiao.  Còn với f = 1 kích thước củahìnhchiếubằng kích thướccủa đốitượng => cavalier  Phép chiếu Cavalier cho phép giá trị của α biến đổimột cách tự do α = 30 0 và 45 0 Khoa CNTT – DHBK Hanoi hunglt@it-hut.edu.vn 8682595 5 (c) SE/FIT/HUT 2002 25 Phép chiếuCabinet  Phép chiếuxiênvớihệ số co tỉ lệ f = 1/2 0 22 1 22 1 435.63) )21(1 2 1 (cos ) 1 (cos = + = + = − − f f β (c) SE/FIT/HUT 2002 26 Oblique Projections D/2 D D D Cavalier Project Cabinet Projection (c) SE/FIT/HUT 2002 27 Phép chiếuphốicảnh Perspective Projection  Phép chiếu phốicả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ểmgọi là tâm chiếu.Phép chiếuphốicảnh tạora hiệu ứng về luậtxagầntạocảmgiácvềđộsâu của đốitượng trong thế giới thật mà phép chiếu song song không lộttảđược.  Các đoạnthẳng song song củamôhình3D sauphépchiếuhộitụ tại1 điểm gọilàđiểmtriệt tiêu - vanishing point  Phân loại phép chiếu phốicảnh dựavàotâmchiếu-Centre Of Projection (COP) và mặtphẳng chiếu projection plane (c) SE/FIT/HUT 2002 28 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 (c) SE/FIT/HUT 2002 29 Đ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 (c) SE/FIT/HUT 2002 30 Perspective Projections 3-point perspective 2-point perspective 1-point perspective Khoa CNTT – DHBK Hanoi hunglt@it-hut.edu.vn 8682595 6 (c) SE/FIT/HUT 2002 31 Phép chiếuphốicảnh (c) SE/FIT/HUT 2002 32 Phép biến đổiphốicảnh  Phép chiếuphốica?nhcủa các điểmtrênđốitượng lên trên mặtphẳng 2D thu đượctừ phép chiếutrựcgiaovàphép biến đổiphốicảnh ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 1000 100 0010 0001 ][ r Tr ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ +++ = 1 111 ]1'''[ rz z rz y rz x zyx (c) SE/FIT/HUT 2002 33 Perspective Projections  Tham số:  centre of projection (COP)  field of view (θ, φ)  projection direction  up direction (c) SE/FIT/HUT 2002 34 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 y p dz y y d y z y P P =⇒= -z d ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − ↔ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ 10100 0100 0010 0001 1 1 z y x ddz z y x d dz y dz x z y x P P P divide by homogenous ordinate to map back to 3D space a similar construction for x p ⇒ (c) SE/FIT/HUT 2002 35 Perspective Projection Details ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − ↔ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ dz z y x d dz y dz x z y x P P P 1 1 ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − 10000 0100 0010 0001 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 (c) SE/FIT/HUT 2002 36 Phép chiếuphốicảnh 1 tâm Giả sử khi mặtphẳng được đặttại z = 0 và tâm phép chiếunằmtrên trục z , cách trụcz một khoảng zc = -1/r. Nếu đốitượng cũng nằm trên mặtphẳng z = 0 thì đốitượng sẽ cho hình ảnh thật. Phương trình biến đổi: [ x y z 1 ][ Tr ] = [ x y z rz+1 ] ma trậnbiến đổimột điểmphốicảnh [ Tr ] có dạng: ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 1000 100 0010 0001 ][ r Tr Khoa CNTT – DHBK Hanoi hunglt@it-hut.edu.vn 8682595 7 (c) SE/FIT/HUT 2002 37 y H G DC E F x A B z y’ D’ C’ H’ G’ A’ E’ F’ B x phép chiếuphốicảnh 1 tâm ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 1000 000 0010 0001 1000 0000 0010 0001 1000 100 0010 0001 rr [] [ ] 10 1000 000 0010 0001 1 += ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ rzyx r zyx [] ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ++ = 10 11 1''' rz y rz x zyx (c) SE/FIT/HUT 2002 38 Phép chiếuphốicảnh 2 tâm ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 1000 0100 010 001 ][ q p T pq [] [ ] )1( 1000 0100 010 001 1 ++= ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ qypxzyx q p zyx Y’ VP ≡ y = 10 D’ H’ C’,G’ VP X=10 A’, E’B’, F’x’ VP (y=10) D’, H’C’, G’ VP( x = 10) A’, E’B’, F’ (c) SE/FIT/HUT 2002 39  [ Tc ] = [ Tpq ][ Tz ]  2 tâm chiếu:  [ -1/p 0 0 1 ]  [ 0 -1/q 0 1 ]  VP (Vanishing point) tương ứng trên 2 trụcxvàylàđiểm: [ 1/ p 0 0 1 ] và [ 0 1/q 0 1 ]. [] ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ++++++ = 1 )1()1()1( 1''' qypx z qypx y qypx x zyx ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 1000 0000 010 001 1000 0000 0010 0001 1000 0100 010 001 q p q p (c) SE/FIT/HUT 2002 40 Phép chiếuphốicảnh 3 tâm chiếu  [ Tpqr ] = [Tp ][Tq ][Tr ] ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 1000 100 010 001 1000 100 0010 0001 1000 0100 010 0001 1000 0100 0010 001 r q p r q p [] [ ] )1( 1000 100 010 001 1 +++= ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ rzqypxzyx r q p zyx (c) SE/FIT/HUT 2002 41 [] ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ +++++++++ = 1 )1()1()1( 1''' rzqypx z rzqypx y rzqypx x zyx y' x' D' H' C' G' A', E' F' B' VP ( y = 10) VP ( x = 10 ) VP ( z = 10 ) y' x' z' A' B' C' D' H' G' F' E' (c) SE/FIT/HUT 2002 42  3 tâm chiếu:  trên trụcxtại điểm [ -1/p 0 0 1 ],  ytại điểm [ 0 -1/q 0 1 ]  ztại điểm [ 0 0 -1/r 1 ].  VP sẽ tương ứng với các giá trị :  [ 1/p 0 0 1 ], [ 0 1/q 0 1 ] [ 0 0 1/r 1 ]  [ Tc ] = [ Tpqr ][ Tz ] ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 1000 000 010 001 1000 0000 0010 0001 . 1000 100 010 001 r q p r q p Khoa CNTT – DHBK Hanoi hunglt@it-hut.edu.vn 8682595 8 (c) SE/FIT/HUT 2002 43 Phâ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 Trùc giao PhÐp chiÕu Xiªn Cavalier Cabinet PhÐp chiÕu kh¸c ChiÕu ®øng ChiÕu c¹nh Axonometric Trimetric Dimetric Isometric ChiÕu b»ng . Hanoi hunglt@it-hut.edu.vn 868 259 5 1 (c) SE/FIT/HUT 2002 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 (c) SE/FIT/HUT 2002 2 Nguyên lý về 3D  Ðồ họa3 chiều -. do α = 30 0 và 45 0 Khoa CNTT – DHBK Hanoi hunglt@it-hut.edu.vn 868 259 5 5 (c) SE/FIT/HUT 2002 25 Phép chiếuCabinet  Phép chiếuxiênvớihệ số co tỉ lệ f = 1/2 0 22 1 22 1 4 35. 63) )21(1 2 1 (cos ) 1 (cos = + = + = − − f f β (c). coordinates: - world coordinate system, - object coordinate system Camera coordinates Screen/Window coordinates Device coordinates VIEWING Khoa CNTT DHBK Hanoi hunglt@it-hut.edu.vn 868 259 5 2 (c)

Ngày đăng: 12/08/2014, 09:22

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan