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ỆUII 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 ĐỀ TÀI
Chương trình được thể hiện trên môi trường ngôn ngữ Visual C++
Trong Visual C++ phần đồ họa được thể hiện trong lớp CDC (Class Device Context) với nhiều hàm thành viên hỗ trợ cho việc vẽ điểm, đường, đa giác, tô màu…
Bộ thư viện OPENGL được sử dụng trong phần kiểm tra 3D.
Phần I: Giới thiệu
NextBack
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
NextBack
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
HomeBack
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
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 2D1 Các đối tượng hình học cơ bản
Điểm.
Đường thẳng Đa giác.
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 3D1 Các đối tượng hình học cơ bản
Điểm.
Đường thẳng. Mặt phẳng.
Phần II: Nội dung
NextBack
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
NextBack
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
NextBack
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
NextBack
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
HomeBack
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
NextBack
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
NextBack
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)
3 Wireframe:
Danh sách đỉnh. Danh sách cạnh:typedef struct
Trang 23C CÁCH TỔ CHỨC CÁC HÀM
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