Thông tin tài liệu:
Dẫn nhập
• Các đối tượng trong thế giới thực phần lớn là các đối tượng 3 chiều còn thiết bị hiển thị chỉ 2 chiều. • Muốn có các hình ảnh 3 chiều ta cần giả lập. • Chiến lược cơ bản là chuyển đổi từng bước. Hình ảnh sẽ được hình thành từ từ, ngày càng chi tiết hơn. •
Nội dung trích xuất từ tài liệu:
Bài giảng đồ họa : ĐỒ HỌA 3 CHIỀU
ÑOÀ HOÏA MAÙY TÍNH
ÑOÀ HOÏA 3 CHIEÀU
Döông Anh Ñöùc, Leâ Ñình Duy Giôùi thieäu veà ñoà hoïa 3 chieàu 1/8
ÑOÀ HOÏA MAÙY TÍNH
Daãn nhaäp
• Caùc ñoái töôïng trong theá giôùi thöïc phaàn lôùn laø caùc ñoái
töôïng 3 chieàu coøn thieát bò hieån thò chæ 2 chieàu.
• Muoán coù caùc hình aûnh 3 chieàu ta caàn giaû laäp.
• Chieán löôïc cô baûn laø chuyeån ñoåi töøng böôùc. Hình aûnh seõ
ñöôïc hình thaønh töø töø, ngaøy caøng chi tieát hôn.
• Qui trình hieån thò:
Modeling Bieán ñoåi töø heä toaï ñoä ñoái töôïng sang
heä toaï ñoä theá giôùi thöïc
Transformation
Trivial Loaïi boû caùc ñoái töôïng khoâng nhìn
thaáy ñöôïc
Rejection
Illumination Chieáu saùng ñoái töôïng
Viewing
Chuyeån töø world space sang eye space
Transformation
Clipping Loaïi boû phaàn naèm ngoaøi viewing frustum
Projection Chieáu töø eye space xuoáng screen space
Rasterization Chuyeån ñoái töôïng sang daïng pixel
Display Hieån thò ñoái töôïng
Döông Anh Ñöùc, Leâ Ñình Duy Giôùi thieäu veà ñoà hoïa 3 chieàu 2/8
ÑOÀ HOÏA MAÙY TÍNH
Caùc vaät theå 3D ñöôïc bieåu dieãn nhö theá naøo ?
• Point • Vector
• Line • Ray
• Triangle • Polygon
• Quadric curve • Spline
• Quadric solid • Curved surface
• v.v…
Ñieåm trong khoâng gian 3 chieàu
• Moâ taû moät vò trí trong khoâng gian
typedef struct{
Coordinate x ;
(x,y,z)
Coordinate y ;
Coordinate z ;
}Point3D ;
3D vector
• Moâ taû moät höôùng vaø bieân ñoä (magnitude)
♦ Xaùc ñònh bôûi 3 toaï ñoä dx, dy, dz
_
♦ Magnitude V = dx 2 + dy 2 + dz2
♦ Khoâng coù vò trí trong khoâng gian
• Tích voâ höôùng cuûa 2 vector
typedef struct {
♦ V1 • V2 = dx 1 dx 2 + dy 1 dy 2 + dz1 dz 2 Coordinate dx;
Coordinate dy;
V1 • V2 = V1 V1 cos(Θ )
♦ Coordinate dz;
}Vector;
Döông Anh Ñöùc, Leâ Ñình Duy Giôùi thieäu veà ñoà hoïa 3 chieàu 3/8
ÑOÀ HOÏA MAÙY TÍNH
Ñoaïn thaúng trong khoâng gian 3 chieàu
• Bieåu dieãn toå hôïp tuyeán tính cuûa 2 ñieåm.
♦ Bieåu dieãn daïng tham soá cuûa ñoaïn thaúng
P = P1 + t (P2 - P1 ), (0 ≤ t ≤ 1)
typedef struct {
Point P1; P2
P1
Point P2;
}Segment;
Tia (Ray)
• Laø moät ñoaïn thaúng vôùi moät ñaàu naèm ôû voâ cöïc.
♦ Bieåu dieãn daïng tham soá cuûa tia
P = P1 + t V, (0 ≤ t < ∞)
typedef struct {
Point P1;
V
P
Vector V;
}Ray;
Ñöôøng thaúng (Line)
• Laø moät ñoaïn thaúng vôùi caû hai ñaàu naèm ôû voâ cöïc.
♦ Bieåu dieãn daïng tham soá cuûa ñöôøng thaúng
P = P1 + t V, (-∞ < t < ∞)
typedef struct {
Point P1;
V
P
Vector V;
}Line;
Döông Anh Ñöùc, Leâ Ñình Duy Giôùi thieäu veà ñoà hoïa 3 chieàu 4/8
ÑOÀ HOÏA MAÙY TÍNH
Maët phaúng (Plane)
• Laø moät ñoaïn thaúng vôùi caû hai ñaàu naèm ôû voâ cöïc.
♦ Bieåu dieãn cuûa maët phaúng
P.N + d = 0 hoaëc
ax + by + cz + d = 0
typedef struct {
Vector N;
Distance d;
}Plane;
Ña giaùc (Polygon)
• Laø moät vuøng giôùi haïn bôûi daõy caùc ñieåm ñoàng phaúng.
♦ Tam giaùc,
♦ Töù giaùc,
♦ Ña giaùc loài,
♦ Ña giaùc loõm,
♦ Ña giaùc töï caét,
♦ Ña giaùc coù loã
typedef struct {
Point *Points;
int nPoints;
}Polygon;
♦ Caùc ñieåm ñöôïc cho theo thöù töï ngöôïc chieàu kim ñoàng hoà
Döông Anh Ñöùc, Leâ Ñình Duy Giôùi thieäu veà ñoà hoïa 3 chieàu 5/8
ÑOÀ HOÏA MAÙY TÍNH
Modeling transformation
• Bieán ñoåi töø Heä toïa ñoä ñoái töôïng sang Heä toïa ñoä theá giôùi
thöïc.
• Moãi ñoái töôïng ñöôïc moâ taû trong moät heä toïa ñoä rieâng
ñöôïc goïi laø Heä toïa ñoä ñoái töôïng.
z
5 4
10
9
3
8
1
6 1
2
1
...