Tài liệu tham khảo công nghệ thông tin Thiết kế hệ thống kiểm tra các quan hệ hình học trong 2D và 3D
Trang 1Đề tài :
Trang 2I GIỚI THIỆU
II NỘI DUNG
III THIẾT KẾ VÀ CÀI ĐẶT
End
Trang 3I SƠ LƯỢC VỀ CHƯƠNG TRÌNH
Đề tài thực hiện chức năng kiểm tra các mối quan hệ trong:
Không gian 2 chiều (2D)
Không gian 3 chiều (3D) Các thuật toán kiểm tra trong chương trình được xây dựng dựa trên cơ sở toán học và không gian vector trong đồ hoạ máy tính.
Phần I: Giới thiệu
Next
Trang 4II SƠ LƯỢC NGÔN NGỮ THỂ HIỆN ĐỀ
Bộ thư viện OPENGL được sử dụng trong phần
kiểm tra 3D
Phần I: Giới thiệu
Next Back
Trang 5III GIỚI THIỆU CÁC HÀM
A Các hàm của lớp CDC (Class Device Context)
Vẽ điểm (Point)
Vẽ đường thẳng (Line)
Vẽ hình chữ nhật (Rectangle)
Vẽ hình ellipse (Ellipse)
Hàm loan vùng kín (FloodFill)
Hàm tạo các đường vẽ (CreatePen)
Phần I: Giới thiệu
Next Back
Trang 6III GIỚI THIỆU CÁC HÀM (tt)
B Các hàm trong bộ thư viện OpenGL
Hàm vẽ điểm, đường, đa giác
Hàm chỉ ra tọa độ của điểm, đường, đa giác
Hàm biến đổi tọa độ
Các hàm liên quan đến màu
Các hàm liên quan đến ánh sáng
Phần I: Giới thiệu
Home Back
Trang 7I CƠ SỞ TOÁN HỌC
Các lý thuyết cơ sở toán học được sử dụng cho các thuật toán trong đề tài bao gồm :
Hình học giải tích trong mặt phẳng
Hình học giải tích trong không gian
Không gian vector là cơ sở lý thuyết toán học tất yếu để xây dựng các cấu trúc đồ họa máy tính
Phần II: Nội dung
Next
Trang 8I CƠ SỞ TOÁN HỌC (tt)
A Giới thiệu về vector.
B Các phép tính vector.
C Ưùng dụng các phép tính vector.
D Các dạng phương trình của đường thẳng và mặt phẳng
Next Back
Phần II: Nội dung
Trang 9II CÁC ĐỐI TƯỢNG HÌNH HỌC VÀ SỰ
TƯƠNG QUAN
A CÁC QUAN HỆ HÌNH HỌC TRONG 2D
1 Các đối tượng hình học cơ bản
Điểm
Đường thẳng
Đa giác
Next Back
Phần II: Nội dung
Trang 10II CÁC ĐỐI TƯỢNG HÌNH HỌC VÀ SỰ
TƯƠNG QUAN (tt)
2 Sự tương quan giữa các đối tượng hình học
Điểm - Đường thẳng
Điểm - Đa giác
Đường thẳng - Đa giác
Đường thẳng - Đường thẳng
Đa giác - Đa giác
Phần II: Nội dung
Trang 11II CÁC ĐỐI TƯỢNG HÌNH HỌC VÀ SỰ
TƯƠNG QUAN (tt)
B CÁC QUAN HỆ HÌNH HỌC TRONG 3D
1 Các đối tượng hình học cơ bản
Trang 12II CÁC ĐỐI TƯỢNG HÌNH HỌC VÀ SỰ
TƯƠNG QUAN (tt)
2 Sự tương quan giữa các đối tượng hình học
Điểm - Đường thẳng
Điểm - Mặt phẳng
Đường thẳng - Mặt phẳng
Đường thẳng - Đường thẳng
Mặt phẳng - Mặt phẳng
Phần II: Nội dung
Trang 13III CÁC THUẬT TOÁN KIỂM TRA
A TRONG MẶT PHẲNG (2D)
Tính góc giữa hai đường thẳng.
Tìm hình chiếu của đoạn thẳng.
Xác định giao điểm giữa hai đoạn thẳng.
Vẽ đa giác.
Tô màu đa giác.
Phần II: Nội dung
Next Back
Trang 14III CÁC THUẬT TOÁN KIỂM TRA (tt)
A TRONG MẶT PHẲNG (2D) (tt)
Xác định diểm bên trong/bên ngoài đa giác.
Kiểm tra quan hệ giữa đoạn thẳng và đa giác.
Kiểm tra quan hệ hai đa giác.
Kiểm tra tính lồi của đa giác.
Tính diện tích đa giác.
Phần II: Nội dung
Next Back
Trang 15III CÁC THUẬT TOÁN KIỂM TRA (tt)
B TRONG KHÔNG GIAN (3D)
Các phép biến hình 3 chiều.
Biểu diễn đối tượng 3 chiều.
Quan sát vật thể 3D qua hệ toạ độ quan sát.
Kiểm tra quan hệ điểm - đường thẳng.
Phần II: Nội dung
Next Back
Trang 16III CÁC THUẬT TOÁN KIỂM TRA (tt)
B TRONG KHÔNG GIAN (3D)
Kiểm tra quan hệ điểm - mặt phẳng
Kiểm tra quan hệ đường thẳng - đường thẳng
Kiểm tra quan hệ đường thẳng - mặt phẳng
Kiểm tra quan hệ mặt phẳng - mặt phẳng
Phần II: Nội dung
Home Back
Trang 17A THIẾT KẾ GIAO DIỆN
Cập nhật các thông số về kích thước vùng của vùng Client:
Lớp CMainFrame : Có chức năng tạo màn hình vùng Client
Lớp CApp : Có chức năng thực hiện ứng dụng kiểu đơn tài liệu (SDI)
Phần III: Thiết kế và cài đặt
Next
Trang 18A THIẾT KẾ GIAO DIỆN (tt)
Lớp CView : Có chức năng hiển thị những hiện thực cuả chương trình
Lớp CDoc : Có chức năng xử lý việc lưu trữ dữ liệu
Lớp CDialog : Có chức năng nhập, xuất dữ kiện
Phần III: Thiết kế và cài đặt
Next Back
Trang 19B CÁCH TỔ CHỨC DỮ LIỆU
1 ĐA GIÁC PHẲNG:
Các đỉnh của đa giác P phẳng được lưu trữ lần lượt
trong danh sách kiểu CPoint như P[0].x, P[0].y;
P[1].x,P[1].y; … Với đỉnh cuối được nhận biết bởi chỉ số đa giác kèm theo
Phần III: Thiết kế và cài đặt
Next Back
Trang 20B CÁCH TỔ CHỨC DỮ LIỆU (tt)
2 ĐIỂM:
Lưu trữ các điểm, có kèm theo cờ để phân biệt các loại điểm khác nhau, dùng trong thủ tục kiểm tra quan hệ hai đa giác, được khai báo như sau:
Trang 21B CÁCH TỔ CHỨC DỮ LIỆU (tt)
Trang 22B CÁCH TỔ CHỨC DỮ LIỆU (tt)
Trang 23C CÁCH TỔ CHỨC CÁC HÀM
1 Trong 2D
Các hàm và thủ tục chủ yếu được sử dụng trong lớp
CKiemTra2DView.cpp :
Các hàm phục vụ vẽ các đối tượng hình học
Nhóm các hàm liên quan đến mouse
Nhóm các hàm kiểm tra các mối quan hệ
Nhóm các hàm liên quan đến các phép chiếu
Nhóm các hàm liên quan đến các hình thể
Phần III: Thiết kế và cài đặt
Trang 24C CÁCH TỔ CHỨC CÁC HÀM (tt)
2 Trong 3D
Các hàm kiểm tra sử dụng bộ thư viện OPenGL và chủ yếu được sử dụng trong lớp CKiemTra3DView.cpp :
Hàm tạo ngữ cảnh
Hàm liên quan đến các thao tác bàn phím
Nhóm hàm điều chỉnh kích thước, tạo màu nền
Nhóm hàm nhập tọa độ cho các đối tượng
Nhóm các hàm kiểm tra và tính toán
Nhóm hàm vẽ, demo các vật thể
Phần III: Thiết kế và cài đặt