họa sĩ: vũ thái hòa màu sắc trong tranh VĂN HÓA NGHỆ THUẬT Hân hạnh giới thiệu 6.
Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU
description
Transcript of Chương 5. GIỚI THIỆU ĐỒ HỌA BA CHIỀU
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
Giới thiệu
Một cảnh trong đồ 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
Sơ lược về quy trình hiển thị
• Trivial Projection
Sơ lược về quy trình hiển thị
• Illumination
Sơ lược về quy trình hiển thị
• Viewing Transformation
Look-At
Eye
Sơ lược về quy trình hiển thị
• clipping
Sơ lược về quy trình hiển thị
• Rasterization
Sơ lược về quy trình hiển thị
• Display
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
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
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
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
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
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
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’)?
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'
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’
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.– …
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
Biểu diễn các đối tượng ba chiều Biểu diễn mặt đa giác
Biểu diễn các đối tượng ba chiều Các đường cong và mặt cong
•
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ố.
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,…
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
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
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
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,…
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
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
Biểu diễn các đối tượng ba chiềuĐường cong Bezier
• Xem sách trang 157 -162
Biểu diễn các đối tượng ba chiều Đường cong Spline và B-Spline
•