MỤC TIÊU Trình bày được các khái niệm cơ bản trong đồ họa 3D Phân biệt được các phép chiếu song song, trực giao, phối cảnh Trình bày được các phương pháp khử mặt khuất, chiếu sáng và tô
Trang 2Hầu hết các hình ảnh trong thế giới thực đều là các đối tượng 3 chiều, các thiết
bị hiển thị chỉ là 2 chiều.
• Hiển thị đối tượng 3 chiều trên thiết bị 2 chiều như thế nào?
• Biểu diễn đối tượng 3 chiều như thế nào?
TÌNH HUỐNG DẪN NHẬP
Trang 3MỤC TIÊU
Trình bày được các khái niệm cơ bản trong đồ họa 3D
Phân biệt được các phép chiếu song song, trực giao, phối cảnh
Trình bày được các phương pháp khử mặt khuất, chiếu sáng và tô bóng Trình bày được các phép biến đổi trong đồ họa 3D
Trang 41
1 1
Tổng quan về đồ họa 3D
1
1
1
Mô hình khung dây
Quy trình hiển thị đối tượng 3D
Các phép chiếu: song song, trực giao, phối cảnh
Khử mặt khuất
Chiếu sáng và tạo bóng
1 Các phép biến đổi hình học 3D
NỘI DUNG
Trang 53.1 TỔNG QUAN VỀ ĐỒ HỌA 3D
• Giới thiệu đồ họa 3D
Hình ảnh trong thế giới thực là 3D, thiết bị hiển thị là 2D => Cầnchuyển từ mô hình 3D sang 2D
Thường dùng phương pháp giả lập để biểu diễn đối tượng 3D
Trang 63.1 TỔNG QUAN VỀ ĐỒ HỌA 3D (tiếp theo)
• Biểu diễn đối tượng 3 chiều
Điểm: trong không gian 3 chiều mồi điểm được biểu diễn bởi 3 tọa độ
Trang 73.1 TỔNG QUAN VỀ ĐỒ HỌA 3D (tiếp theo)
Đa giác (Polygon): là
một vùng giới hạn bởihạn dãy các điểm đồngphẳng ( Các điểm đượccho theo thứ tự ngượcchiều kim đồng hồ )
Mặt phẳng (Plane):
Phương trình mặt phẳng:
Ax + By + Cz + D =0
Trang 8CÂU HỎI THẢO LUẬN
Biểu diễn điểm trong không gian 3D trên máy tính như thế nào?
Trang 93.2 MÔ HÌNH KHUNG DÂY
• Mô hình khung nối kết biểu diễn các đối tượng bởi:
Tập hợp các đỉnh
Tập hợp các cạnh
Trang 103.2 MÔ HÌNH KHUNG DÂY (tiếp theo)
Trang 11CÂU HỎI THẢO LUẬN
Ưu và nhược điểm của mô hình khung nối kết
Trang 123.3 QUY TRÌNH HIỂN THỊ ĐỐI TƯỢNG 3D
1 Chuyển từ hệ tọa độ đối tượng sang hệ tọa độ mô hình (ModellingTransformation)
(Mỗi đối tượng có một hệ tọa độ riêng gọi là hệ tọa độ đối tượng)
• Có 2 cách mô hình hóa đối tượng:
Solid modelling: mô hình các vật thể
Boundary representation: chỉ quan tâm đến bề mặt đối tượng
2 Loại bỏ các đối tượng không nhìn thấy
3 Chiếu sáng đối tượng
4 Chuyển từ word space sang eye space
5 Clipping
6 Chiếu từ eye space sang screen space
7 Chuyển đối tượng sang dạng pixecl
8 Hiển thị đối tượng
Trang 13CÂU HỎI THẢO LUẬN
Các mô hình hóa đối tượng? Ưu nhược điểm của các mô hình
Trang 153.4.1 PHÉP CHIẾU SONG SONG
Phép chiếu song song có 2 phương pháp
• Chiếu trực giao
• Chiếu xiên
Trang 163.4.1 PHÉP CHIẾU SONG SONG (tiếp theo)
Trang 18• Ma trận phép chiếu trực giao
3.4.1 PHÉP CHIẾU SONG SONG (tiếp theo)
Trang 19• Phép chiếu xiên
Điểm P(Px, Py, Pz) quaphép chiếu xiên sẽnhận được điểm P’(Xp,Yp) (Px, Py) là hìnhchiếu của P qua phépchiếu trực giao A làgóc tạo bởi tia chiếu vàđoạn nối (xp, Yp) với(Px, Py)
3.4.1 PHÉP CHIẾU SONG SONG (tiếp theo)
Trang 203.4.2 PHÉP CHIẾU PHỐI CẢNH
Phép chiếu phối cảnh phụ thuộc vào vị trí tương đối của 2 đối tượng đó là
mắt người và mặt phẳng quan sát
Trang 21CÂU HỎI THẢO LUẬN
Phân biệt phép chiếu song song và phép chiếu phối cảnh
Trang 223.5 KHỬ MẶT KHUẤT
• Giải thuật BackFace
• Giải thuật vùng đệm độ sâu
Trang 233.5 KHỬ MẶT KHUẤT
• Biểu diễn hình 3D bằng danh sách các đỉnh và danh sách các mặt
• Hiển thị hình 3D, chỉ thể hiện các mặt có thể nhìn thấy được mà không thểhiện các mặt khuất phía sau? => Khử mặt khuất
Trang 243.5.1 GIẢI THUẬT BACKFACE
• Ta sẽ tính góc giữa véc tơ hướng nhìn V và vector pháp tuyến N của mặt
• Nếu góc này là lớn hơn 900 thì mặt là không nhìn thấy (bị khuất), ngược lạithì mặt là nhìn thấy
If V.N >= 0 then “Mặt thấy”
Else Mặt không thấy (mặt khuất);
Trang 253.5.1 GIẢI THUẬT BACKFACE (tiếp theo)
Trang 263.5.2 GIẢI THUẬT VÙNG ĐỆM ĐỘ SÂU
• Mỗi điểm trên mặt phẳng chiếu có thể có ảnh của nhiều điểm trên nhiềumặt đa giác khác nhau
• Hình vẽ chỉ thể hiện ảnh của điểm có độ sâu thấp nhất
Trang 273.5.2 GIẢI THUẬT VÙNG ĐỆM ĐỘ SÂU (tiếp theo)
• Cách tính độ sâu của các điểm trong đa giác
Phương pháp trực tiếp:
Duyệt tất cả các điểm (x,y) thuộc đa giác, thay thế x,y vào phương trìnhmặt đa giác và tính z
Phương pháp gián tiếp:
Tính độ sâu của một điểm thông qua độ sâu của các điểm lân cận
Trang 281 Khởi tạo vùng đệm độ sâu và vùng đệm làm tươi để sao cho với tất cả các
điểm (x,y) có:
Depth(x,y)=1, refresh(x,y)=background
2 Với mỗi điểm (x,y) trên mỗi mặt ta so sánh giá trị độ sâu với các giá trị độ
sâu được lưu trước đó trong vùng đệm độ sâu để xác định tính chất nhìn
thấy
a Tính giá trị z cho mỗi vị trí (x,y) trên mặt
b Nếu z < depth(x,y) thì đặt depth(x,y) = z và refresh(x,y) =i với i là
giá trị độ sáng trên mặt tại vị trí (x,y)Các giá trị độ sâu tại (x,y) được tính:
3.5.2 GIẢI THUẬT VÙNG ĐỆM ĐỘ SÂU (tiếp theo)
Trang 29• Với mỗi dòng quét các giá trị x trên cùng
dòng quét sai khác nhau 1 và các giá trị y
giữa các dòng quét cũng sai khác nhau 1
=> Nếu độ sâu của điểm (x,y) là z thì độ
sâu của điểm tiếp theo (x+1,y) được tính là:
Hay:
Tương tự như vậy với các điểm lân cận khác
3.5.2 GIẢI THUẬT VÙNG ĐỆM ĐỘ SÂU (tiếp theo)
Trang 313.6.1 KHÁI NIỆM
• Để đảm bảo tính thực cho đối tượng 3D cần phải tạo bóng sáng cho vật thể 3D
Trang 32• Một không gian lý tưởng là
không gian mà tại đó mọi vật
đều được cung cấp một lượng
ánh sáng lên bề mặt là như
nhau, từ mọi phía ở mọi nơi.
Trang 343.6.3 NGUỒN SÁNG ĐỊNH HƯỚNG (tiếp theo)
Trang 35• Tất cả các tia sáng song song với nhau và không có tâm phát sáng
• Ta có thể coi tâm phát sáng ở vô cùng
3.6.3 NGUỒN SÁNG ĐỊNH HƯỚNG (tiếp theo)
Trang 363.6.4 NGUỒN SÁNG ĐIỂM
• Các tia sáng từ nguồn sáng điểm toả ra khắp nơi
• Hướng của các tia sáng sẽ thay đổi với các điểm khác nhau trên bề mặt
Trang 383.6.6 MÔ HÌNH BÓNG GOURAUD
• Nguyên tắc: Xấp sỉ bề mặt cong của đối tượng bằng nhiều mặt đa giác phẳng
Khi số mặt đa giác xấp sỉ tăng thì tính trung thực của hình tăng
Khi phóng to các hình thì sẽ dẫn đến hiện tượng các mặt đa giác bị phóng to
và hình không trung thực
Trang 393.6.6 MÔ HÌNH BÓNG GOURAUD (tiếp theo)
• Tô bóng Gouraud là phương pháp ta tô các mặt phẳng với nhiều cường độsáng khác nhau để tạo cảm giác thật về vật thể 3D
Trang 413.6.6 MÔ HÌNH BÓNG GOURAUD (tiếp theo)
Trang 42CÂU HỎI THẢO LUẬN
Thế nào là không gian lý tưởng? Công thức tính cường độ tia khuếch tán?
Trang 433.7 CÁC PHÉP BIẾN ĐỔI HÌNH HỌC 3D
• Một số khái niệm cơ bản
• Các phép biến đổi hình học cơ bản
Trang 44• Phép biến đổi afine
Phép biến đổi afine là phép biến đổi tuyến tính, khả nghịch Phép biến đổi nàybảo tồn tính song song của các đường thẳng cũng như bảo tồn tính tỷ lệ vềkhoảng cách của các đoạn thẳng
Trang 453.7.1 MỘT SỐ KHÁI NIỆM (tiếp theo)
• Ma trận của phép biến đổi
Dạng ma trận của phép biến đổi afine trong hệ toạ độ thuần nhất là:
Trang 493.7.2 CÁC PHÉP BIẾN ĐỔI HÌNH HỌC CƠ BẢN (tiếp theo)
Trang 50• Phép quay quanh trục oz
3.7.2 CÁC PHÉP BIẾN ĐỔI HÌNH HỌC CƠ BẢN (tiếp theo)
Trang 51• Phép đối xứng qua mặt phẳng yOx
3.7.2 CÁC PHÉP BIẾN ĐỔI HÌNH HỌC CƠ BẢN (tiếp theo)
Trang 52Câu hỏi trắc nghiệm
Trong mô hình khung nối kết, các đối tượng 3D được biểu diễn bởi?
• Tập các đỉnh
• Tập các đỉnh và tập các cạnh
• Tập các cạnh
• Tập các đỉnh, tập các cạnh và tập các mặt phẳng
Trang 53TỪ ĐIỂN THUẬT NGỮ
• Hệ tọa độ đối tượng: mỗi đối tượng được thể hiện trong một hệ tọa độ riêng gọi là
hệ tọa độ đối tượng.
• Modelling transform: phương pháp biến đổi đối tượng trong hệ tọa độ đối tượng
sang hệ tọa độ mô hình
• Solid modelling: là mô hình mô tả đối tượng cả bên trong
• Boudary representation: là mô hình chỉ quan tâm đến bề mặt đối tượng.
• Trivial rejection: Loại bỏ các đối tượng không nhìn thấy
• Illumination: Chiếu sáng đối tượng, gán mầu sắc cho đối tượng dựa trên các đặc
tính của chất tạo ra vật thể và nguồn sáng tồn tại trong cảnh vật.
Trang 54FAQ
1 Hãy sử dụng phần NNLT để viết thủ tục biểu diễn và lưu trữ các đỉnh và cạnh của hình 3D sau trong mô hình khung nối kết
Trang 55FAQ
• Gợi ý: khai báo cấu trúc điểm
struct point {
struct point dau, cuoi;
}
Trang 56 Xem mỗi pixel chiếm bao nhiêu bit
Xét loại ảnh: 16 bit/32 bit,…
Độ phân giải: 1280x800? 1024x768?
Độ phân giải là điểm ảnh trên màn hình
Bộ nhớ tối thiểu = độ phân giải * bitdepth