Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

33
Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

description

Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU. Giới thiệu. Các đối tượngtrong thế giới thực phần lớn là các đối tượng 3 chiều. Việc thể hiện các đối tượng ba chiều trên máy tính là công việc cần thiết để đưa tin học gần với thực tế hơn. - PowerPoint PPT Presentation

Transcript of Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Page 1: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Chương 5.GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Page 2: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Giới thiệu

• Các đối tượngtrong thế giới thực phần lớn là các đối tượng 3 chiều.

• Việc thể hiện các đối tượng ba chiều trên máy tính là công việc cần thiết để đưa tin học gần với thực tế hơn.

• Biểu diễn các đối tượng 3 chiều trên máy tính cũng cần tuân theo các quy luật về phối cảnh, sáng, tối,…

• Biểu diễn trên máy tính giúp ta có thể quan sát các đối tượng ở nhiều góc độ khác nhau

Page 3: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Giới thiệu

Một cảnh trong đồ họa ba chiều

Page 4: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Sơ lược về quy trình hiển thị

Modeling Transformation

Trivial Rejection

Illumination

Viewing Transformation

Clipping

Projection

Rasterization

Display

Biến đổi từ hệ tọa độ đối tượng sang hệ tọa độ thế giới thực

Loại bỏ các đối tượng không nhìn thấy được

Chuyển từ world space sang eye space

Chiếu sáng đối tượng

Loại bỏ phần nằm ngoài viewing frustum

Chiếu từ eye space xuống screen space

Chuyển đối tượng sang dạng pixel

Hiển thị đối tượng

Page 5: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Sơ lược về quy trình hiển thị

• Trivial Projection

Page 6: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Sơ lược về quy trình hiển thị

• Illumination

Page 7: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Sơ lược về quy trình hiển thị

• Viewing Transformation

Look-At

Eye

Page 8: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Sơ lược về quy trình hiển thị

• clipping

Page 9: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Sơ lược về quy trình hiển thị

• Rasterization

Page 10: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Sơ lược về quy trình hiển thị

• Display

Page 11: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Mô hình khung nối kết (Wireframe Model)

• Là phương pháp thông dụng và đơn giản để mô hình hóa đối tượng

• Dùng trong việc xem phát thảo các đối tượng• Các đối tượng ba chiều khi được thể hiện bằng mô hình

Wireframe trông có vẻ rỗng, không giống thực tếz

4

Page 12: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Biểu diễn các vật thể ba chiều bằng mô hình Wireframe

• Hình dạng của đối tượng 3D được thể hiện bằng hai danh sách:– Danh sách các đỉnh (vertexes): lưu tọa độ các đỉnh– Danh sách các cạnh (egeds): lưu cặp điểm đầu và cuối của

từng cạnh

Page 13: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Biểu diễn các vật thể ba chiều bằng mô hình Wireframe

• Ví dụ: Biểu diễn một căn nhà thô sơ

Danh sách các đỉnh (Vertex list)Vertex x y z

1 0 0 02 0 1 03 ?45678910

Page 14: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Biểu diễn các vật thể ba chiều bằng mô hình Wireframe

• Ví dụ: Biểu diễn một căn nhà thô sơ

Edge listEdge Vertex1 Vertex2

1 1 2

2 2 3

3

4

5

6

7

8

9

15 1 6

6

11

2

Page 15: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Biểu diễn các vật thể ba chiều bằng mô hình Wireframe

• Có thể đặc tả mô hình khung nối kết bằng cấu trúc dữ liệu mãng:#define MAXVERTEXS 50#define MAXEDGES 100typedef struct{

float x,y,z;} POINT3Dtypedef struct{int NumVertexs;int NumEdges;POINT3D Vert[MaxVertexs];int Edge[MaxEdges][2]}WIREFRAME

Page 16: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Vẽ mô hình Wireframe với các phép chiếu

• Một đối tương Wireframe được vẽ bằng cách vẽ từng cạnh trong danh sách mô hình

• Kỹ thuật chung để vẽ một đường thẳng 3D:– Chiếu hai điểm đầu mút thành các điểm 2D– Vẽ đường thẳng qua hai điểm vừa được chiếu

Page 17: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Vẽ mô hình Wireframe với các phép chiếu Phép chiếu phối cảnh (Perspective projection)

E(E,0,0)

P(x,y,z)

P’

xy

z

y’

z’

mặt phẳng chiếu (mp quan sát)

mắt

tìm P’(x’,y’,z’)?

Page 18: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Phép chiếu phối cảnh (Perspective projection)

• P’ = EP(yOz) • Phương trình EP: r(t) = (E,0,0).(1-t) +(x,y,z).t

Phương trình (yOz): x=0• =>P’(x’,y’,z’) thỏa:

tzyxtEtrx

).,,()1).(0,0,()(0'

ExzzEx

yy

x

/1'

/1'

0'

Page 19: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Vẽ mô hình Wireframe với các phép chiếu Phép chiếu song song ( parallel projection)

• Phép chiếu song song là trường hợp đặc biệt của phép chiếu phối cảnh

• Tâm chiếu ở vô cực => các tia chiếu song song => t = 1 =>y’ = y, z’ = z

Tâm chiếu ở

A

B

A’

B’

Page 20: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Biểu diễn các đối tượng ba chiều

• Các cảnh đồ họa chứa nhiều đối tượng khác nhau: cây, hoa, mây, núi, sắt,… Có nhiều phương pháp khác nhau để mô tả các đối tượng

• Ví dụ:– Các đối tượng Euclide như khối Ellipse, khối đa diện…được

biêu diễn thông qua các đường cong và mặt cong bậc hai– Các mô hình máy bay, các bánh răng và các câu trúc công

nghệ khác được biểu diễn qua các mặt cong.– …

Page 21: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Biểu diễn các đối tượng ba chiều

• Các mặt đa giác• Các đường cong và mặt cong

Page 22: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Biểu diễn các đối tượng ba chiều Biểu diễn mặt đa giác

Page 23: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Biểu diễn các đối tượng ba chiều Các đường cong và mặt cong

Page 24: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Biểu diễn các đối tượng ba chiều Các đường cong và mặt cong

• Môt đường cong hoặc một mặt cong có thể diễn tả bằng phương trình toán học dạng tham số hoặc không tham số.

Page 25: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Biểu diễn các đối tượng ba chiều Các đường cong và mặt cong

• Các mặt có quy luật– Định nghĩa: Một mặt có quy luật là một mặt được tạo bằng

cách quét (sweep) một đường thẳng trong không gian theo một quy luật nào đó

– Phương trình tham số:p(u,v) =(1-v)p0(u) +vp1(u)

– Ví dụ: Hình trụ, hình nón,…

Page 26: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Biểu diễn các đối tượng ba chiều Các đường cong và mặt cong

• Các mặt có quy luật: – Hình trụ (Cylinder): p(u,v)=p0(u) + vd

đường sinh

đường chuẩn

z

x

y

đường chuẩn

đường sinh

Hình trụ tròn

z

Page 27: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Biểu diễn các đối tượng ba chiều Các đường cong và mặt cong

• Các mặt có quy luật: – Hình nón (Cone): p(u,v)=(1-v)p0+ vp1(u)

với P0: đỉnh nón, p1(u): nếu là đường tròn thìcó pt: x = Rcosu

y = Rsinu

u,v[0,1]

z

đường chuẩn

đường sinh

Page 28: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Biểu diễn các đối tượng ba chiều Các đường cong và mặt cong

• Các mặt tròn xoay (surfaces of revolution): Các mặt tròn xoay được tạo ra khi chúng ta quay một đường cong phẳng C nào đó quanh môt trục

đường cong C

x

y

z

Page 29: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Biểu diễn các đối tượng ba chiều Các đường cong và mặt cong

• Các mặt cong bậc hai:– Phương trình tổng quát biểu diễn các mặt cong bậc hai:Ax2+ By2+Cz2+ Dxy + Exz +Fyz + Gx + Hy + Iz + J = 0– Ví dụ: Mặt cầu, Ellipsoid,…

Page 30: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Biểu diễn các đối tượng ba chiều Các đường cong và mặt cong

• Các mặt cong bật hai:– Mặt cầu có bán kính R và tâm đặt tại góc tọa độ:

• Phương trình chính tắc: x2 + y2 + z2 = 0 • Phương trình tham số:

x = R. cos cos.

y = R.cos .sin.z = R.sinvới -/2 /2, 0 2

P(x,y,z)

y

z

x

y

z

R

x

Page 31: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Biểu diễn các đối tượng ba chiề Các đường cong và mặt cong

• Các mặt cong bật hai:– Ellipsoic có thể xem như một mở rộng của mặt cầu có ba bán kính Rx,

Ry ,Rz

• Phương trính chính tắc:

• Phương trình tham số của Ellipsoic có dạng:x = Rx. cos .cos.

y = Ry. cos .sin.

z = Rz.sin

với -/2 /2, 0 2

x

y

z

RxRy

Rz

12

2

2

2

2

2

zyx Rz

Ry

Rx

x

P(x,y,z)

y

z

Page 32: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Biểu diễn các đối tượng ba chiềuĐường cong Bezier

• Xem sách trang 157 -162

Page 33: Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU

Biểu diễn các đối tượng ba chiều Đường cong Spline và B-Spline