Giáo trình Đồ họa - Bài 7: Phép chiếu

pdf 51 trang huongle 4530
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Đồ họa - Bài 7: Phép chiếu", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_do_hoa_bai_7_phep_chieu.pdf

Nội dung text: Giáo trình Đồ họa - Bài 7: Phép chiếu

  1. Bài 7 PHÉP CHIẾU © Copyright Copyright © Showeet.com Trịnh Thành Trung trungtt@soict.hust.edu.vn 1
  2. NỘI DUNG • Nguyên lý không gian 3 chiều • Tổng quan về phép chiếu • Các phép chiếu song song • Các phép chiếu phối cảnh Copyright © Showeet.com - 2
  3. 1 © Copyright Copyright © Showeet.com NGUYÊN LÝ 3D -
  4. 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ô trát – render để gây ảo giác về độ sâu • 3D Graphics là việc chuyể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ị Copyright © Showeet.com thông qua kỹ thuật tô trát (rendering). 4
  5. Ðặc điểm của kỹ thuật đồ hoạ 3D • Có các đối tượng phức tạp 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 Copyright © Showeet.com • Luôn phải xác định các bề mặt hiển thị 5
  6. 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ô trát bề mặt - surface rendering – Cắt lát - exploded/cutaway scenes, cross-sections • Thiết bị hiển thị 3D: © Copyright Copyright © Showeet.com – Kính stereo - Stereoscopic displays* – Màn hình 3D - Holograms 6
  7. Các phương pháp hiển thị 3D Shadows as depth cues © Copyright Copyright © Showeet.com 7
  8. 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. Copyright © Showeet.com 8
  9. STEREO PROJECTIONS © Copyright Copyright © Showeet.com - 9
  10. STEREO PROJECTIONS © Copyright Copyright © Showeet.com eye=(0,- eye=(0.5,- 1,2.5) 1,2.5) - 10
  11. Mô hình hóa x2 y2 z2 r2 Polygonal Implicit 3D Modelling x sin4 y cos2 © Copyright Copyright © Showeet.com Parametric Particles 11
  12. XÉN TỈA 3D view frustrum © Copyright Copyright © Showeet.com outside view so must be clipped - 12
  13. HIỂN THỊ VÀ PHÉP CHIẾU camera setup © Copyright Copyright © Showeet.com 3D models viewport - 13
  14. RỜI RẠC HÓA © Copyright Copyright © Showeet.com - 14
  15. 2 © Copyright Copyright © Showeet.com TỔNG QUAN VỀ PHÉP CHIẾU -
  16. Phé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 Copyright © Showeet.com (projection plan). 16
  17. 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ị Copyright © Showeet.com hình ảnh 17
  18. © Copyright Copyright © Showeet.com - 18
  19. 3 © Copyright Copyright © Showeet.com PHÉP CHIẾU SONG SONG -
  20. Phép chiếu song song • 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 A A’ B B’ Copyright © Showeet.com D D’ C C’ projection centre of plane projection at infinity 20
  21. Phép chiếu trực giao • 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 chiếu thường dùng mặt phẳng z=0 • Ứng với mỗi mặt phẳng chiếu ta có 1 ma trận chiếu tương ứng 1 0 0 0 0 0 0 0 1 0 0 0 Copyright © Showeet.com 0 1 0 0 0 0 0 0 0 1 0 0 [Ty ] [Tx ] [T ] 0 0 1 0 0 0 1 0 z 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 21
  22. Taxonomy of Projections • Orthographic Projections – Multiview Orthographic © Copyright Copyright © Showeet.com 22
  23. Phép chiếu trục lượng • 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. x' y' 0 1 1 0 0 1 x x Copyright © Showeet.com x' y' 0 1 [U ] 0 1 0 1 [T ] y y ' ' xz yz 0 1 0 0 1 1 0 0 0 1 23
  24. 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 2 f x x'x y'x 2 2 f y x'y y'y © Copyright Copyright © Showeet.com 2 2 f z x'z y'z 24
  25. Phép chiếu dimetric • Là phép chiếu Trimetric với 2 hệ số tỉ lệ co bằng nhau, giá trị thứ 3 còn lại là tuỳ ý. [T ] [Ry][Rx][Pz] cos 0 sin 0 1 0 0 0 1 0 0 0 0 1 0 0 0 cos sin 0 0 1 0 0 . . sin 0 cos 0 0 sin cos 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 cos sin sin 0 0 •Quay đối tượng quanh trục y theo một góc , 0 cos 0 0 Copyright © Showeet.com [T ] •Quay quanh x theo một góc  sin cos sin 0 0 •Chiếu trên mặt phẳng z = 0 với tâm chiếu tại 0 0 0 1 điểm vô hạn 25
  26. 2 '2 '2 2 2 2 f z (xz yz ) sin  cos  sin 2 '2 '2 2 f y (xy y y ) cos f  sin 1 ( z ) 2 2 f z f Copyright © Showeet.com sin 1 ( z ) 2 26
  27. Phép chiếu Isometric 2 • Là phép chiếu trục lượng 2 1 2 sin sin  2 mà ở đó hệ số co cạnh 1 sin trên 3 trục là bằng nhau 2 • Góc quay tương ứng là f cos 2 / 3 0.8165 35.26 và 45 sin 2 • Ðược ứng dụng nhiều sin 2  2 trong việc xây dựng các 1 sin góc quan sát chuẩn cho sin 2 1 /3 sin 2  1 /2 đối tượng trong các hệ 1 sin 2 1 1 /3 soạn thảo đồ họa Copyright © Showeet.com 1 o sin 35.26 3  45o 27
  28. PHÉP CHIẾU ISOMETRIC . © Copyright Copyright © Showeet.com - 28
  29. PHÉP CHIẾU XIÊN © Copyright Copyright © Showeet.com - 29
  30. Phép chiếu xiên orthographic oblique © Copyright Copyright © Showeet.com axonometric isometric 30
  31. Phép chiếu xiên • Phép chiếu Cavalier • Phép chiếu Cabinet © Copyright Copyright © Showeet.com 31
  32. Taxonomy of Projections • Oblique Projections – Combine the properties of Orthographic and Axonometric – Preserves the object face; and – Gives a better sense of the 3D nature. © Copyright Copyright © Showeet.com 32
  33. Phép chiếu Cavalier • Phép chiếu cavalier là phép chiếu xiên được tạo thành khi các tia chiếu làm thành với mặt phẳng chiếu một góc 45o a f cos b f sin 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 Copyright © Showeet.com [T '' ] [T ] a b 0 0 f cos f sin 0 0 0 0 0 1 0 0 0 1 33
  34. Phép chiếu Calavier • f = 0,  = 900 phép chiếu sẽ trở thành phép chiếu trực giao. • Còn với f = 1 kích thước của hình chiếu bằng kích thước của đối tượng => cavalier • Phép chiếu Cavalier cho phép Copyright © Showeet.com giá trị của biến đổi một cách tự do = 300 và 450 34
  35. Phép chiếu Cabinet – Phép chiếu xiên với hệ số co tỉ lệ f = 1/2 f  cos 1 ( ) 12 f 2 1 cos 1 ( 2 ) 63.435 0 12 (1 2) 2 © Copyright Copyright © Showeet.com 35
  36. Phép chiếu xiên D/ 2 D © Copyright Copyright © Showeet.com D Cabinet Projection Cavalier Project 36
  37. 4 © Copyright Copyright © Showeet.com PHÉP CHIẾU PHỐI CẢNH -
  38. Phép chiếu phối cảnh • 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 © Copyright Copyright © Showeet.com 38
  39. Điểm triệt tiêu 3 điểm triệt tiêu 1 điểm triệt tiêu © Copyright Copyright © Showeet.com 2 điểm triệt tiêu 39
  40. Phép chiếu phối cảnh © Copyright Copyright © Showeet.com 40
  41. Phép biến đổi phối cảnh • Phép chiếu phối cảnh của các điểm trên đối tượng lên trên mặt phẳng 2D thu được từ phép chiếu trực giao và phép biến đổi phối cảnh 1 0 0 0 0 1 0 0 [Tr] 0 0 1 r 0 0 0 1 x y z Copyright © Showeet.com [x' y' z' 1] 1 rz 1 rz 1 rz 1 41
  42. Phép chiếu phối cảnh • Tham số: – centre of projection (COP) – field of view (, ) – projection direction – up direction © Copyright Copyright © Showeet.com 42
  43. Phé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 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ận biến đổi một điểm phối cảnh [ Tr ] có dạng: 1 0 0 0 Copyright © Showeet.com 0 1 0 0 [Tr] 0 0 1 r 0 0 0 1 43
  44. Phép chiếu phối cảnh 1 tâm y y’ 1 0 0 0 1 0 0 0 1 0 0 0 D’ C’ 0 1 0 0 0 1 0 0 0 1 0 0 H G H’ G’ D C 0 0 1 r 0 0 0 0 0 0 0 r E F x 0 0 0 1 0 0 0 1 0 0 0 1 A’ E’ F’ B x A B z 1 0 0 0 0 1 0 0 x y Copyright © Showeet.com x y z 1 x y 0 rz 1 x' y' z' 1 0 1 0 0 0 r rz 1 rz 1 0 0 0 1 44
  45. Phép chiếu phối cảnh 2 tâm Y’ VP (y=10) VP  y = 10 D’, H’C’, G’ D’ H’ C’,G’ VP( x = 10) VP X=10 A’, E’B’, F’ A’, E’B’, F’x’ 1 0 0 p 1 0 0 p Copyright © Showeet.com 0 1 0 q 0 1 0 q [T ] x y z 1 x y z ( px qy 1) pq 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 45
  46. x y z x' y' z' 1 1 ( px qy 1) ( px qy 1) ( px qy 1) • [ Tc ] = [ Tpq ][ Tz ] 1 0 0 p 1 0 0 0 1 0 0 p 0 1 0 q 0 1 0 0 0 1 0 q 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 • 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ục x và y là điểm: [ 1/p 0 0 1 ] và [ 0 1/q 0 1 ]. Copyright © Showeet.com 46
  47. Phép chiếu phối cảnh 3 tâm chiếu [ Tpqr ] = [Tp ][Tq ][Tr ] 1 0 0 p 1 0 0 0 1 0 0 0 1 0 0 p 0 1 0 0 0 1 0 q 0 1 0 0 0 1 0 q 0 0 1 0 0 0 1 0 0 0 1 r 0 0 1 r 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 p 0 1 0 q x y z 1 x y z ( px qy rz 1) 0 0 1 r 0 0 0 1 Copyright © Showeet.com 47
  48. x y z x' y' z' 1 1 ( px qy rz 1) ( px qy rz 1) ( px qy rz 1) y' VP ( y = 10) y' H' D' D' H' C' G' G' E' C' VP ( x = 10 ) VP ( z = 10 ) F' A' Copyright © Showeet.com x' z' x' A', E' F' B' B' 48
  49. • 3 tâm chiếu: – trên trục x tại điểm [ -1/p 0 0 1 ], – y tại điểm [ 0 -1/q 0 1 ] – z tạ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 ] 1 0 0 p 1 0 0 0 1 0 0 p © Copyright Copyright © Showeet.com 0 1 0 q 0 1 0 0 0 1 0 q . 0 0 1 r 0 0 0 0 0 0 0 r 0 0 0 1 0 0 0 1 0 0 0 1 49
  50. So sánh © Copyright Copyright © Showeet.com 50
  51. VÍ DỤ OPENGL 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 Copyright © Showeet.com 0, 0, 1 ); // up vector glRotatef( theta, 0, 0, 1 ); // rotate the model glScalef( zoom, zoom, zoom ); // scale the model } - 51