1. Viết chương trình tạo cửa sổ hình chữ nhật có tọa độ các điểm dưới bên trái và điểm trên bên phải lần lượt là (Xmin, Ymin) và (Xmax, Ymax).
2. Tiếp tục bài 1, hãy xét một điểm P(x,y) có nằm bên trong cửa sổ không ? Biết rằng nếu P(x,y) nằm bên trong cửa sổ thì P sẽ thoả hệ bất phương trình sau :
Xmin ≤ x ≤ Xmax Ymin ≤ y ≤ Ymax
3. Tiếp tục bài tập 2, xét bài toán xén đoạn thẳng được cho bởi các điểm P1(x1, y1), P2(x2, y2) bất kỳ.
4. Tiếp tục bài tập 3, sử dụng thuật toán Cohen - Sutherland (phân chia mã vùng) xét bài toán xén các đoạn thẳng được cho bởi các điểm P1(x1, y1), P2(x2, y2), P3(x3, y3), P4(x4, y4), P5(x5, y5), P6(x6, y6), P7(x7, y7), và P8(x8, y8) vào cửa sổ chữ nhật trên xem hình vẽ (a) và (b)).
5. Thảo luận kỹ nhân tố căn bản đằng sau các kiểm tra và phương khác nhau để tính các tham số giao nhau u1 và u2 trong thuật toán clipping đường Liang- Barsky.
6. So sánh số lượng các phép tính toán học được thực hiện trong các thuật toán clipping đường Cohen-Sutherland và Liang-Barsky đối với vài hướng đoạn thẳng khác nhau liên quan đến cửa sổ clipping.
7. Cài đặt thuật toán thuật toán clipping đường Liang-Barsky lên hệ thống của bạn.
8. Hãy nghĩ ra một thuật toán để thực hiện việc clipping đường bằng cách dùng phương pháp phân chia điểm ở giữa. Sự cài đặt phần mềm của thuật toán này có thuận lợi hơn hai thuật toán clipping đường đã được thảo luận trong chương không?
9. Cài đặt một thuật toán cắt các đoạn thẳng bằng cách dùng một cửa sổ bị quay, được định nghĩa bởi các giá trị tọa độ nhỏ nhất và lớn nhất và bị quay một góc như trong hình 6-5.
10. Thay đổi thuật toán clipping đa giác để cắt các vùng đa giác lõm một cách hợp lý. (Một phương pháp để thực hiện điều này là chia đa giác lõm ra làm các đa giác lồi.)
11. Sửa lại cho hợp lí thuật toán clipping đường Liang-Barsky để clipping đa giác. 12. Viết thủ tục để cắt một ellipse bằng cách dùng cửa sổ chữ nhật.
13. Giả sử rằng các kí tự được định nghĩa trong một lưới điểm (pixel grid), hãy phát triển một thuật toán clipping văn bản để cắt các kí tự đơn lẻ theo chiến lược “tất cả - hoặc - không”.
14. Hãy phát triển một thuật toán clipping văn bản để cắt các kí tự đơn lẻ, giả sử rằng các kí tựđược định nghĩa trong một lưới điểm (pixel grid).
15. Viết một thủ tục thực hiện xóa một phần bất kì của hình ảnh đã được định nghĩa, dùng kích thước cửa sổ xóa được xác định bất kỳ.
16. Viết các thủ tục để cài đặt các lệnh của cứa sổ và vùng quan sát. Tức là, các thủ tục có chứa tham số về hệ tọa độ trong các lệnh để thực hiện biến đổi sang vùng quan sát cho các cảnh cụ thể: clipping trong hệ tọa độ thế giới thực, chuyển đổi sang hệ tọa độ chuẩn hóa, sau cùng biến đổi đến hệ tọa độ thiết bị.
Chương 5 : ĐỒ HỌA BA CHIỀU 5.1. Tổng quan
• Mục tiêu
Học xong chương này sinh viên cần phải nắm bắt được các vấn đề sau: - Thế nào là đồ họa 3 chiều ?
- Viết được chương trình vẽ một hình trong không gian 3 chiều
• Kiến thức cơ bản
Hình giải tích và hình học không gian : tích vô hướng của hai véc tơ. Ma trận cùng các phép toán
• Tài liệu tham khảo
Computer Graphics . Donald Hearn, M. Pauline Baker. Prentice-Hall, Inc., Englewood Cliffs, New Jersey , 1986 (chapters 9, 181-233)
• Nội dung cốt lõi
- Trình bày cách biểu diễn đối tương 3 chiều: biểu diễn các đối tương cơ bản qua mô hỉnh khung nối kết.
- Các phép biến đổi trong không gian 3 chiều.