220 likes | 364 Views
3D Modeling. 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. 3D Point. Mô tả một vị trí trong không gian struct { double x; double y;
E N D
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
3D Point Mô tả một vị trí trong không gian struct { double x; double y; double z; } Point3D; P(x,y,z)
3D Vector Mô tả hướng và độ lớn. struct { double dx; double dy; 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) V(dx,dy,dz)
3D Segment Nối 2 điểm trong không gian struct { Point3D P1; Point3D P2; } Segment3D; Biểu diễn dưới dạng tham số: P = P1 + t (P2 – P1), (0 <= t <= 1) P2 P P1
3D Segment Nối 2 điểm trong không gian struct { Point3D P1; Point3D P2; } Segment3D; Biểu diễn dưới dạng tham số: P = P1 + t (P2 – P1), (0 <= t <= 1) P2 P P1
3D Ray struct { Point3D P; Vector3D V; } Ray3D; Biểu diễn dưới dạng tham số: P’ = P + t V , t >=0 V P’ P
3D Line struct { Point3D P; Vector3D V; } Line3D; Biểu diễn dưới dạng tham số: P’ = P + t V V P’ P
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: P.N + d = 0 ax + by + cz + d =0 N
3D Polygon Các điểm trên đa giác đồng phẳng struct { Point3D points[MAXPOINTS]; int n; } Plane;
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
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)
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)
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)
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)
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)
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 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.
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
Quadric Surfaces • Ellipsoid • Hyperbolic • Elliptic cone • Elliptic paraboloid • Hyperbolic paraboloid
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 4 5 7 6 0 1 2 3
Wire Frame – Mô hình khung lưới 4 5 7 6 0 1 2 3