Bài giảng 3D Modeling
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng 3D Modeling", để 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:
- bai_giang_3d_modeling.ppt
Nội dung text: Bài giảng 3D Modeling
- 3D Modeling 1
- Định nghĩa ❖Mô hình hoá 3D (3D modeling) là quá trình phát triển một biểu diễn toán học, khung lưới của bất kỳ một đối tượng 3D nào. ❖Sản phẩm của quá trình này là một mô hình 3D (3D model). 2
- Biểu diễn vật thể 3D • Point - Điểm • Vector - Vectơ • Line - Đường thẳng • Ray - Tia • Polygon - Đa giác • Spline • Surface - Mặt cong – Quadric surface - Mặt bậc 2 – Ruled surface - Mặt qui luật 3
- 3D Point Mô tả một vị trí trong không gian struct { double x; double y; P(x,y,z) double z; } Point3D; 4
- 3D Vector Mô tả hướng và độ lớn. struct { double dx; double dy; V(dx,dy,dz) double dz; } Vector3D; – Xác định bởi tọa độ dx, dy, dz – Độ lớn ||V|| = (dx2 + dy2 + dz2) 1/2 Tích vô hướng của 2 vector: V1 . V2 = dx1dx2 + dy1dy2 + dz1dz2 = ||V1|| ||V2|| cos(V1,V2) 5
- 3D Segment Nối 2 điểm trong không gian P struct 2 { Point3D P1; P Point3D P2; } Segment3D; P1 Biểu diễn dưới dạng tham số: P = P1 + t (P2 – P1), (0 <= t <= 1) 6
- 3D Segment Nối 2 điểm trong không gian P struct 2 { Point3D P1; P Point3D P2; } Segment3D; P1 Biểu diễn dưới dạng tham số: P = P1 + t (P2 – P1), (0 <= t <= 1) 7
- 3D Ray struct { V Point3D P; Vector3D V; P’ } Ray3D; Biểu diễn dưới dạng tham số: P P’ = P + t V , t >=0 8
- 3D Line struct { V Point3D P; Vector3D V; P’ } Line3D; Biểu diễn dưới dạng tham số: P P’ = P + t V 9
- Plane struct { Vector N; // Vector pháp tuyến double d; // Khoảng cách2 đến gốc tọa độ } Plane; Phương trình chính tắc của mặt phẳng: N P.N + d = 0 ax + by + cz + d =0 10
- 3D Polygon Các điểm trên đa giác đồng phẳng struct { Point3D points[MAXPOINTS]; int n; } Plane; 11
- Surfaces Phương trình tham số - parametric equation: P(u,v) = (x(u,v), y(u,v), z(u,v)) = x(u,v) I + y(u,v) J + z(u,v) K Phương trình ẩn – implicit equation: 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 12
- Curve Surfaces • Ruled Surfaces: Mặt cong tạo bởi di chuyển một đường thẳng trong không gian theo một kiểu nào đó. • 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) 13
- Ruled Surfaces Định nghĩa: Bất kì một điểm nào trên mặt cong đều thuộc một đường thẳng nằm hoàn toàn trên mặt cong. 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, nên chúng 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) 14
- Ruled Surfaces Định nghĩa: Bất kì một điểm nào trên mặt cong đều thuộc một đường thẳng nằm hoàn toàn trên mặt cong. 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, nên chúng 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) 15
- Ruled Surfaces - Cylinders Định nghĩa: Cylinder được tạo bởi đường thẳng L (generator) di chuyển theo một đường cong p(u) - directrix. Khi L di chuyển, nó luôn song song với nhau. p(u) 16
- Ruled Surfaces - Cones Định nghĩa: Cylinder được tạo bởi đường thẳng di chuyển theo một đường cong phẳng. Nhưng khi di chuyển nó đi qua một điểm cố định. p1(u) p0(u) 17
- Ruled Surfaces – Bilinear Patches Định nghĩa: Mặt song tuyến tính được tạo bởi đường thẳng di chuyển mà mỗi đầu của nó di chuyển theo một đường thẳng. Xét 4 điểm p00, p01, p10, p11: Xây dựng đường thẳng L qua p00 và p01. Khi L di chuyển, điểm p00 di chuyển trên đường thẳng qua p00 và p10, điểm p10 di chuyển trên đường thẳng qua p10 và p11. p10 p00 p11 18 p01
- Surfaces of Revolution Định nghĩa: Mặt cong được tạo bởi quay một đường cong quay một trục. 19
- Quadric Surfaces Định nghĩa: Mặt cong được tạo phương trình bậc 2 theo x, y, z: Ax2 + By2 + Cz2 + D = 0 • Ellipsoid • Hyperbolic of one sheet • Hyperbolic of two sheets • Elliptic cone • Elliptic paraboloid • Hyperbolic paraboloid 20
- Quadric Surfaces • Ellipsoid • Hyperbolic • Elliptic cone • Elliptic paraboloid • Hyperbolic paraboloid 21
- Wire Frame – Mô hình khung lưới Mô tả hình dạng của đối tượng bằng 2 danh sách: • Vertex List : Lưu trữ tọa độ các đỉnh • Edge List : Kết nối giữa các đỉnh với nhau Vertex List Vertex x y z 4 5 0 0 0 0 7 6 1 1 0 0 0 1 2 1 0 1 3 2 3 0 0 1 4 5 6 7 22
- Wire Frame – Mô hình khung lưới Edge List Edge Vertex 1 Vertex 2 0 0 1 1 1 2 4 5 2 2 3 7 6 3 3 1 0 1 4 4 5 3 2 23
- Wire Frame – Mô hình khung lưới #define MAXVERTEX 50 #define MAXEDGES 100 Typedef struct { float x, y, z; }POINT3D; Typedef struct { int NumVerts; int NunEdges; POINT3D Vert[MaxVerts]; int Edge[MaxEdges][2]; }WIREFRAME; 24