Giáo trình Lý thuyết đồ họa: Phần 2 - Trường ĐH Công nghiệp Quảng Ninh
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Giáo trình Lý thuyết đồ họa: Phần 2 - Trường ĐH Công nghiệp Quảng Ninh CHƯƠNG V BIỂU DIỄN CÁC ðỐI TƯỢNG BA CHIỀU 5.1. MÔ HÌNH WIREFRAME Mô hình WireFrame thể hiện hình dáng của ñối tượng 3D bằng 2 danh sách : • Danh sách các ñỉnh : lưu tọa ñộ của các ñỉnh. • Danh sách các cạnh : lưu các cặp ñiểm ñầu và cuối của từng cạnh. Các dỉnh và các cạnh ñược ñánh số thứ tự cho thích hợp. Ví dụ: Biểu diễn 1 căn nhà thô sơ (hình 5.1) Danh sách các ñỉnh Z Vector x y z P4 1 0 0 0 2 0 1 0 P9 P5 P3 3 0 1 1 4 0 0.5 1.5 P10 5 0 0 1 P8 6 1 0 0 Y P1 7 1 1 0 P2 8 1 1 1 P6 9 1 0.5 1.5 P7 10 1 0 1 X Có nhiều cách ñể lưu giữ mô hình Hình 5.1 WireFrame. Ở ñây, chúng ta dùng cấu trúc record dựa trên 2 mảng: Const MaxDinh = 50; { Số ñỉnh tối ña} MaxCanh = 100; {Số cạnh tối ña} Type ToaDo3D = record x, y, z:real; end; WireFrame = Record Chương V. Biểu diễn các ñối tượng ba chiều Sodinh: 0..MaxDinh; Dinh: array [1..MaxDinh] of ToaDo3D; Socanh : 0..Maxcanh; Canh :array[1..Maxcanh, 1..2] of 1..MaxDinh; end; Khi ñó, ta dùng một biến ñể mô tả căn nhà : Var House : WireFrame; với biến house ở trên, ta có thể gán giá trị như Danh sách các cạnh sau: Cạnh ðỉnh ñầu ðỉnh cuối With House Do 1 1 2 Begin 2 2 3 sodinh:=10; 3 3 4 socanh:=17; 4 4 5 dinh[1].x:=0; 5 5 1 dinh[1].y:=0; 6 6 7 dinh[1].z:=0; 7 7 8 ... 8 8 9 canh[1, 1]:=1; {Số ñỉnh thứ nhất của 9 9 10 cạnh số 1} 10 10 6 canh[1, 2]:=2; {Số ñỉnh thứ hai của 11 1 6 cạnh số 1} 12 2 7 ... 13 3 8 end; 14 4 9 5.2. VẼ MÔ HÌNH WIREFRAME VỚI CÁC 15 5 10 PHÉP CHIẾU 16 2 5 17 1 3 ðể vẽ một ñối tượng WireFrame, ta vẽ từng cạnh trong danh sách các cạnh của mô hình. Vấn ñề là làm thế nào ñể vẽ 1 ñường thẳng trong không gian 3 chiều vào mặt phẳng? ðể làm ñiều này, ta phải bỏ bớt ñi 1 chiều trong mô hình biểu diễn, tức là ta phải dùng phép chiếu từ 3D → 2D . 64 Chương V. Biểu diễn các ñối tượng ba chiều Kỹ thuật chung ñể vẽ một ñường thẳng 3D là: Chiếu 2 ñiểm ñầu mút thành các ñiểm 2D. Vẽ ñường thẳng ñi qua 2 ñiểm vừa ñược chiếu. Sau ñây là thủ tục xác ñịnh hình chiếu của một ñiểm qua phép chiếu phối cảnh: Procedure Chieu(P3D:ToaDo3D; E:Real; Var P2D:ToaDo2D); Var t:Real; Begin If (P3D.x >=E) OR (E=0) Then Writeln(‘ðiểm nằm sau mắt hoặc mắt nằm trên mặt phẳng nhìn’); Esle Begin t := 1/(1 - P3D.x/E); P2D.y := t*P3D.y; P2D.z := t*P3D.z; End; End; 5.3. VẼ CÁC MẶT TOÁN HỌC Ta sẽ vẽ các mặt cong dựa trên phương trình tham số của các mặt ñó. Ví dụ: (a) (b) (c) Hình 5.2 • Mặt Ellipsoid: (hình 5.2.a) x=Rx.cos(u).cos(v) y=Ry.sin(u).cos(v) 65 Chương V. Biểu diễn các ñối tượng ba chiều z=Rz.sin(v) Trong ñó: 0≤ u ≤ 2π -π/2 ≤ v ≤ π/2 • Mặt Hypeboloid: (hình 5.2.b) x=u y=v z=u2 - v2 Trong ñó u,v ∈[-1,1] • Hình xuyến: (hình 5.2.c) x=(R + a.cos(v)).cos(u) y=(R + a.cos(v)).sin(u) z= a.sin(v) Trong ñó: 0≤ u ≤ 2π -π/2 ≤ v ≤ π/2 • Hình trụ tròn (Cylinder) x = R.cos(u) y = R.sin(u) z=h • Hình nón (Cone) p(u,v) = (1-v).P0 + v.P1(u) trong ñó: P0: ñỉnh nón x = R. cos(u) P1(u): ñường tròn ...
Tìm kiếm theo từ khóa liên quan:
Giáo trình Lý thuyết đồ họa Lý thuyết đồ họa Biểu diễn đối tượng ba chiều Mô hình WireFrame Thuật toán Casteljau Phương pháp khử mặt khuấtTài liệu liên quan:
-
146 trang 34 1 0
-
Giáo trình Kỹ thuật đồ họa máy tính: Phần 2 - Trường ĐH Công nghiệp Quảng Ninh
72 trang 32 0 0 -
Giáo trình Lý thuyết đồ họa: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh
66 trang 28 0 0 -
Giáo trình Đồ họa máy tính: Phần 2 - TS. Nguyễn Hữu Tài
99 trang 26 0 0 -
Tìm hiểu về mã QR - Tạo và giải mã trên các hệ điều hành khác nhau
3 trang 25 0 0 -
Bài giảng đồ họa : ĐỒ HỌA 3 CHIỀU
8 trang 23 0 0 -
Bài giảng đồ họa : VIEWING TRANSFORMATIONS part 1
5 trang 21 0 0 -
Chương 7: Khử đường và mặt khuất
21 trang 20 0 0 -
Đề tài: ' Nghiên cứu đồ họa 2D, 3D và phát triển Game trên hệ điều hành Android'
106 trang 19 0 0 -
Chương 1: Các yếu tố cơ bản của đồ họa
23 trang 19 0 0 -
Bài giảng Đồ họa máy tính: Giới thiệu đồ họa 3 chiều - TS. Đào Nam Anh (tt)
54 trang 18 0 0 -
Bài giảng đồ họa : KHỬ MẶT KHUẤT HIDDEN SURFACE REMOVAL part 3
5 trang 18 0 0 -
7 trang 18 0 0
-
Đồ họa MTXT nào dành cho bạn ?
3 trang 17 0 0 -
Bài giảng đồ họa : Tổng quan về đồ họa máy tính part 2
5 trang 16 0 0 -
Bài giảng đồ họa : Tổng quan về đồ họa máy tính part 1
5 trang 16 0 0 -
22 trang 16 0 0
-
Bài giảng đồ họa : KHỬ MẶT KHUẤT HIDDEN SURFACE REMOVAL part 2
5 trang 16 0 0 -
Chương 6: Thiết kế đường và mặt cong Bezier và B - spline
14 trang 16 0 0 -
18 trang 15 0 0