Bài giảng Đồ họa máy tính - Mặt có quy luật - Ngô Quốc Việt

pdf 24 trang Gia Huy 16/05/2022 2760
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Đồ họa máy tính - Mặt có quy luật - Ngô Quốc Việt", để 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:

  • pdfbai_giang_do_hoa_may_tinh_mat_co_quy_luat_ngo_quoc_viet.pdf

Nội dung text: Bài giảng Đồ họa máy tính - Mặt có quy luật - Ngô Quốc Việt

  1. MẶT CÓ QUY LUẬT NGÔ QUỐC VIỆT 2009
  2. Một phương thức mô hình đối tượng 3D. Dựa trên việc quét một đường thẳng trong không gian 3 chiều. Hyperbolic Paraboloid Hoặc dựa trên việc xoay tròn một đường cong trong không gian. 2
  3. Mặt trụ 3
  4. Mặt là đối tượng hình học hai chiều trong không gian 3D Phương trình tham số : P(u,v) = (x(u,v), y(u,v), z(u,v)) p(u,v) X (u,v)i Y(u,v) j Z(u,v)k Phương trình ẩn : f(x, y, z) = 0 Biểu diễn mặt tròn: P(u,v) = ( R cos(v) cos(u), R sin(v), R cos(v) sin(u)) Phương trình ẩn : f(x, y, z) = x2 + y2 + z2 – R2 4
  5. • Ruled Surfaces: Mặt cong tạo bởi di chuyển một đường thẳng trong không gian theo một quỹ đạo xác định. • Surfaces of Revolution: Mặt cong tạo bởi di chuyển một đường cong theo một trục. • Quadric Surfaces: Mặt cong bậc hai theo x, y, z. Mặt cong được định nghĩa theo hàm số: z = f(x,y) 5
  6. Định nghĩa: Mặt có quy luật là mặt 3D có được bằng cách quét một đoạn thẳng theo quỹ đạo nhất định trong không gian. Cách tạo mặt cong: • Xây dựng một đường thẳng xác định bởi 2 điểm p0 và p1: p(v) = (1-v) p0 + v p1 • Do p0 và p1 di chuyển trong không gian, và di chuyển trên một đường cong khác: p0 trở thành p0(u) và p1 trở thành p1(u). • Khi p0 và p1 di chuyển sẽ tạo nên mặt có qui luật được xác định: p(u,v) = (1-v) p0(u) + v p1(u) P1(u) p1 p0 P0(u) 6
  7. Biểu diễn dạng ẩn cho mặt phẳng: (nx , ny , nz)(x, y, z) = D, trong đó nx , ny , nz không cùng bằng 0 Mặt phẳng được xác định bởi . Một điểm trên nó: vector vị trí là c . Hai vector chỉ hướng a và b b do đó có dạng tham số là c a p(u,v) ua vb c uax vbx cx p(u,v) uay vby cy uaz vbz cz p(u,v) uax vbx cx i uay vby cy j uaz vbz cz k 7
  8. Mảnh phẳng (planar patch) . Có thể biểu diễn tham số của mặt phẳng dạng p(u,v) ua vb c, vôùi u,v R . Nhưng vùng trị của các tham số u và v được giới hạn lại, thông thường: 0 u 1, 0 v 1 8
  9. Mảnh phẳng là một hình bình hành mà các đỉnh của nó là các điểm tương ứng với các đỉnh của không gian tham số. Không gian tham số (parameter space) . Là tập {(u, v) : 0 u 1, 0 v 1} Trong không gian đối tượng (object space) . Là mảnh phẳng tương ứng với không gian tham số. b v không gian tham số c a u không gian đối tượng 9
  10. Một mặt chứa cạnh thẳng (ruled surface) là một mặt được định nghĩa bởi một họ {Lu} các đoạn hay đường thẳng. Lu 10
  11. Dạng tham số của mặt chứa cạnh thẳng p(u,v) (1 v) p0 (u) v p1(u), u (ustart, uend ) ; v (vstart, vend ), Các hàm vector vị trí p0(u) và p1(u) định nghĩa các đường cong trong 3D 11
  12. p(u, 1) đường p1(u) p(u, 0) đường p0(u) 12
  13. Đường cong: p(u,v') (1 v')p0(u) v' p1(u) (v’ là cố định) được gọi là v’-contour. p(u, 1) đường p1(u) 2/3-contour p(u, 0) đường p0(u) 13
  14. Dãy các tam/tứ giác kề nhau tạo thành bề mặt 3D. Nguồn: 14
  15. Hình trụ (cylinder) là một mặt chứa cạnh thẳng . Đường phát sinh (generator) là một đường thẳng, quét dọc theo một đường lái, khi quét nó luôn tự song song . Đường lái (directrix), đường lái phải nằm trong một mặt phẳng. Biểu diễn tham số của hình trụ p(u,v) p0 (u) vd(u), d(u) p1(u) p0 (u) . Vì đường phát sinh luôn tự song song, nên vector d(u) là hằng p(u,v) p0 (u) vd d đường lái p0(u) đường phát sinh 15
  16. Thí dụ: Hình trụ tròn, đường lái là một vòng tròn p(u,v) (cos(u),sin(u),0) v(0,0,1) cos(u)i sin(u) j vk z d y p0(u) x 16
  17. Hình nón (cone) là một mặt chứa cạnh thẳng Được sinh bởi một đường thẳng quét dọc theo một đường cong phẳng và qua một điểm cố định (đỉnh của hình nón) p(u,v) (1 v)p0 vp1(u) p1(u) p0 , đỉnh 17
  18. Mặt xoay tròn (surface of revolution) là mặt được sinh bởi một đường cong phẳng C khi nó quét xoay quanh một trục cố định. Đường cong C là profile của mặt trục quay x(v) c(v) c(v) y(v) , z(v) vôùi v (vstart,vend) Mỗi đường cong C khi ở tại một vị trí quét được gọi là một kinh tuyến (meridian) của mặt. Một vĩ tuyến (parallel) của mặt là đường cong do một điểm của C sinh ra khi nó quét. 18
  19. Thí dụ mặt xoay tròn . Trục quay là trục z . Đường cong C (profile) nằm trong mặt xz, có biểu diễn dạng tham số là c(v) = (x(v), z(v)) . Vị trí quét của C được xác định bởi tham số u là góc từ trục x Có biểu diễn tham số như sau: p(u,v) (x(v)cos(u), x(v)sin(u), z(v)) 19
  20. Thí dụ: với c(v) = (1, v) trong mặt xz, trục quay là trục z, ta có một hình trụ với biểu diễn tham số p(u,v) (cos(u),sin(u),v) kinh tuyến z z y vĩ tuyến x u x 20
  21. z z y x u x 21
  22. Mặt bậc hai (quadric surface) Ax 2 By 2 Cz d D 0, d 1, 2 2 2 2 Ellipsoid x y z 1 0 a b c Hyperboloid một lá 2 2 2 x y z 1 0 a b c Hyperboloid hai lá 2 2 2 x y z 1 0 a b c 22
  23. Mặt bậc hai 2 2 2 x y z Hình nón elliptic 0 a b c 2 2 x y Elliptic parabolic z 0 a b 2 2 x y Hyperbolic parabolic z 0 a b 23
  24. 1. Thực hành: cài đặt hiển thị các mặt quy luật với OpenGL. 24