Bài tập chương 6

Một phần của tài liệu giao trinh ktdh (Trang 131 - 135)

Chương 2 : CÁC THUẬT TOÁN TÔ MÀU

6.9. Bài tập chương 6

1. Cài đặt một khối đa diện (ba chiều với các mặt phẳng) nằm trong góc 1/8 đầu tiên

của hệ tọa độ theo quy tắc bàn tay trái (tất cả các giá trị định nghĩa các đỉnh của

đối tượng là dương). Phát triển một thủ tục (procedure) để thực hiện phép chiếu

song song (được xác định bất kỳ) lên mặt phẳng xy.

2. Mở rộng thủ tục của bài tập 1 để cài đặt được các quang cảnh khác nhau của đối tượng bằng cách: đầu tiên, thực hiện các phép quay đối tượng quanh các trục quay (là các đường thẳng song song với với các mặt chiếu), sau đó chiếu đối tượng lên bề mặt quan sát.

3. Cài đặt thủ tục trong bài lập 1 để sinh ra một phép chiếu phối cảnh một điểm của đối tượng lên bề mặt chiếu, dùng phương trình 6-10 và khoảng cách quang sát d được xác định tùy ý dọc theo trục z âm.

4. Mở rộng ma trận biến đổi trong phương trình 6-10 để tâm chiếu có thể được chọn

ở vị trí (x, y, -d) bất kỳ phía sau mặt phẳng chiếu.

5. Cài đặt thủ tục trong bài tập 1 để sinh ra một phép chiếu phối cảnh một điểm của đối tượng lên mặt phẳng chiếu, dùng ma trận biến đổi của bài tập 4.

6. Giả sử rằng một bề mặt chiếu được định nghĩa là mặt xy của hệ tọa độ quy tắc bàn tay trái, cài đặt sự định nghĩa tọa độ của một hình hộp chữ nhật trong hệ tọa độ

này để nó nằm phía trước mặt phẳng chiếu. Dùng ma trận biến đổi của bài tập 4, hướng của khối sao cho thu được phép chiếu phối cảnh một điểm và hai điểm.

Viết một chương trình để hiển thị hai quang cảnh phối cảnh này. Cái nào trong hai quang cảnh trên thực hơn.

7. Mở rộng thủ tục trong bài tập 6 để thu được một phép chiếu phối cảnh ba điểm. Bạn có thể phát hiện ra sự khác nhau lớn giữa phép chiếu hai điểm và ba điểm khống?

8. Phát triển một tập các thủ tục để biến đổi một mô tả đối tượng trong các hệ tọa độ thế giới thực sang các hệ quan sát (đã được xác định). Tức là, cài đặt hàm

Chương 6: Quan sát ảnh ba chiều

(function) view_matrix, được cung cấp các tọa độ của điểm quan sát, pháp vector, và vector nhìn lên (view up vector).

9. Mở rộng các thủ tục trong bài tập 8 để thu được một phép chiếu song song (đã

được xác định) của đối tượng lên một cửa sổ được định nghĩa trên mặt xy của hệ

quan sát. Sau đó biến đổi cửa sổ đến một vùng quan sát trên màn ảnh. Giả sử rằng các đối tượng thì ở phía trước mặt phẳng quan sát và rằng khơng có việc clipping bởi một không gian quan sát nào được thực hiện.

10. Mở rộng các thủ tục trong bài tập 8 để thu được một phép chiếu phối cảnh (đã

được xác định) của đối tượng lên một cửa sổ được định nghĩa trên mặt xy của hệ

quan sát. Sau đó biến đổi cửa sổ đến một vùng vùng quan sát trên màn ảnh. Giả sử rằng các đối tượng thì ở phía trước mặt phẳng quan sát và rằng khơng có việc clipping bởi một khơng gian quan sát nào được thực hiện.

11. Nghĩ ra một thuật toán để cắt (clip) các đối tượng trong một quang cảnh bởi một hình chóp cụt đã được định nghĩa. So sánh các phép toán được cần trong thuật

toán này với các phép toán được cần trong thuật toán cắt quang cảnh bởi một hình hộp thơng thường.

12. Viết một chương trình thực hiện chiếu phối cảnh một hình chóp cụt thành một hình hộp thơng thường.

13. Thay đổi thuật toán clipping đường Liang-Barsky hai chiều để cắt (clip) các đường

ba chiều bởi một bởi một hình hộp (đã được xác định).

14. Mở rộng thuật toán của bài tập 13 để cắt một khối đa diện (đã được xác định) bởi một hình hộp.

15. Đối với cả hai phép chiếu song song và phối cảnh, hãy thảo luận các điều kiện để

việc clipping ba chiều được thực hiện trước, phép chiếu lên mặt phẳng chiếu được thực hiện sau có thể tương đương với việc chiếu trước rồi thực hiện clipping sau. 16. Dùng bất kỳ thủ tục clipping nào, viết một chương trình thực hiện một phép biến

đổi hệ quan sát hoàn chỉnh từ tọa độ thế giới thực sang vùng quan sát cho một

phép chiếu song song trực giao của một đối tượng.

17. Mở rộng thủ tục của bài tập 16 để thực hiện một phép chiếu song song (được xác

Chương 6: Quan sát ảnh ba chiều

18. Phát triển một chương trình để cài đặt một hướng quan sát hoàn chỉnh cho một phép chiếu phối cảnh. Chương trình phải biến đổi sự xác định hệ tọa độ thế giới thực

của một đối tượng lên một vùng quan sát hai chiều đã được định nghĩa để hiển thị lên một phần của màn hình video.

19. Cài đặt các hàm set_view_representation và set_view_index để thực hiện một hướng chiếu (được xác định bất kỳ) trên một đối tượng được định nghĩa trong hệ tọa độ thế giới thực để thu được sự hiển thị vùng quan sát trên màn hình.

20. Thay đổi các thủ tục trong bài tập 19 để cho phép clipping bởi mặt phẳng của không gian quan sát bất kỳ. Điều này có thể được thực hiện với các tham số bổ sung đến tập các điều kiện clipping cho mỗi mặt phẳng là cắt (clip) hoặc không cắt (noclip).

Chương 7: Khử các mặt kuất và đường khuất

Chương 7

KHỬ CÁC MẶT KHUẤT VÀ ĐƯỜNG KHUẤT

7.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: - Việc tạo ra các hình ảnh thực là sự xác định và xóa bỏ các phần của ảnh mà ta khơng nhìn thấy được từ một vị trí quan sát.

- Nắm vững các tiếp cận khử mặt khuất và đường khuất.

Kiến thức cơ bản

Kiến thức toán học : kiến thức cơ bản về cách vẽ hình trong hình học không gian

Kiến thức tin học : kỹ thuật lập trình và cấu trúc dữ liệu.

Tài liệu tham khảo

Computer Graphics . Donald Hearn, M. Pauline Baker. Prentice-Hall, Inc., Englewood Cliffs, New Jersey , 1986 (chapters 13, 260-284)

Nội dung cốt lõi

Các tiếp cận khử các mặt khuất, đường khuất bao gồm : - Phương pháp dùng vùng đệm độ sâu

- Phương pháp đường quét

- Phương pháp sắp xếp theo độ sâu - Phương pháp phân chia vùng

Chương 7: Khử các mặt kuất và đường khuất

Một phần của tài liệu giao trinh ktdh (Trang 131 - 135)

Tải bản đầy đủ (PDF)

(159 trang)