Tải bản đầy đủ

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 
Vector 
Line 
Ray 
Polygon
Spline
Surface

­ Điểm
­ Vectơ
­ Đường thẳng
­ Tia
­ Đa giác
­ Mặt cong

– Quadric surface
– Ruled surface

­ Mặt bậc 2
­ Mặt qui luật

3


3D Point
Mô tả một vị trí trong không gian
struct
{
double
double
double
} Point3D;

x;
y;
z;


P(x,y,z)

4


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

V(dx,dy,dz)

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

P2

struct
{
Point3D  P1;
Point3D P2;
} Segment3D;

Biểu diễn dưới dạng tham số:

P
P1

P = P1 + t (P2 – P1), (0 <= t <= 1)

6


3D Segment
Nối 2 điểm trong không gian

P2

struct
{
Point3D  P1;
Point3D P2;
} Segment3D;

Biểu diễn dưới dạng tham số:

P
P1

P = P1 + t (P2 – P1), (0 <= t <= 1)

7


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

8


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

9


Plane
struct
{
Vector 
double
} Plane;

N;
d;

// Vector pháp tuyến
// Khoảng cách2 đến gốc tọa độ

Phương trình chính tắc của mặt phẳng:
P.N + d = 0
ax + by + cz + d =0

N

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)

p1
p(u,v) = (1­v) p0(u) + v p1(u)

p0

1

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)

p1
p(u,v) = (1­v) p0(u) + v p1(u)

p0

1

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
p01

18


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
4
7

5
6

0
3

1
2

Vertex

x

y

z

0

0

0

0

1

1

0

0

2

1

0

1

3

0

0

1

4
5
6
7

22


Wire Frame – Mô hình khung lưới
Edge List

4
7

5
6

0
3

1
2

Edge

Vertex 1

Vertex 2

0

0

1

1

1

2

2

2

3

3

3

1

4

4

5







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



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×