1. Viết chương trình vẽ bầu trời có 10.000 điểm sao, mỗi điểm sao xuất hiện với một màu ngẫu nhiên. Những điểm sao này hiện lên rồi từ từ tắt cũng rất ngẫu nhiên.
0 Vv P1 P0 P4 P3 P2 2 Vv 3 Vv 4 Vv 1 Vv
2. Viết chương trình thực hiện 2 thao tác sau :
- Khởi tạo chế độ đồ họa, đặt màu nền, đặt màu chữ, định dạng chữ (settextstyle(f,d,s)), xuất một chuổi ký tự ra màn hình. Đổi font, hướng, kích thước. - Xuất một chuổi ra màn hình, chuổi này có tô bóng.
(lưu ý rằng nội dung chuổi ký tự, màu tô, màu bóng là được nhập từ bàn phím).
3. Viết chương trình vẽđoạn thẳng AB với màu color theo giải thuật DDA. Biết rằng tọa độ A,B, color được nhập từ bàn phím. Trang trí màu nền, ghi chú các tọa độ A, B ở hai đầu đoạn thẳng.
4. Tương tự như bài tập 3 nhưng sử dụng giải thuật Bresenham. Lưu ý các trường hợp đặc biệt của hệ số góc.
5. Tổng hợp bài tập 4, viết chương trình vẽđường thằng bằng giải thuật Bresenham cho tất cả các trường hợp của hệ số góc. Lưu ý xét trường hợp đặc biệt khi đường thẳng song song với trục tung hay với trục hoành.
6. Viết chương trình nhập tọa độ 3 điểm A, B, C từ bàn phím. Tìm tọa độ điểm D thuộc AB sao cho CD vuộng góc AB. Vẽđoạn thẳng AB và CD.
7. Viết chương trình xét vị trí tương đối của 2 đoạn thẳng AB và CD. Biết rằng trong màn hình đồ họa đoạn thẳng AB và CD được gọi là cắt nhau khi hai điểm A, B ở về hai phía của CD và ngược lại.
8. Viết chương trình vẽđường tròn theo giải thuật đơn giản ( đối xứng ). 9. Viết chương trình vẽđường tròn theo giải thuật Bresenham.
10.Viết chương trình vẽđường tròn theo giải thuật MidPoint.
11. Viết chương trình vẽ một đường tròn tâm O bán kính R. Vẽ các đường tròn đồng tâm với O, có bán kính chạy từ 1 đến R. Sau đó xoá các đường tròn đồng tâm này và vẽ các đường tròn đồng tâm khác đi từ R đến 1.
12.Viết chương trình vẽ một đường tròn tâm O bán kính R. Hãy vẽ một đoạn thẳng từ tâm O độ dài R. Hãy quay đoạn thẳng này quanh đường tròn.
13. Viết chương trình vẽ Elippse.
14.Viết chương trình vẽ Elippse có bán kính lớn là a, bán kính nhỏ là b và một đường tròn nội tiếp Elippse. Tô đường tròn bằng các đường tròn đồng tâm. Sau đó tô elippse bằng các elippse đồng tâm có bán kính lớn chạy từ b đến a, bán kính nhỏ là b.
15. Viết chương trình vẽ một hình chữ nhật, một hình vuông và một hình bình hành. Yêu cầu chú thích tọa độ các đỉnh.
16.Viết chương trình vẽ một tam giác. Tọa độ các đỉnh được nhập từ bàn phím, mỗi cạnh có một màu khác nhau.
17. Viết chương trình vẽ một đa giác có n đỉnh.
18.Viết chương trình xét tính lồi lõm của một đa giác bằng cách thiết lập phương trình đường thẳng đi qua các cạnh của đa giác.
19.Viết chương trình xét tính lồi lõm của một đa giác bằng cách thiết lập các véc tơ chỉ phương của các cạnh.
Chương 2 : CÁC THUẬT TOÁN TÔ MÀU
2.1. Tổng quan
• Mục tiêu
Học xong chương này, sinh viên phải nắm bắt được các vấn đề sau:
- Hiểu được khái niệm về không gian màu RGB,CMY, HSV. - Thiết kế và cài đặt được các giải thuật tô màu.
• Kiến thức cơ bản cần thiết
Kiến thức tin học : lập trình cấu trúc dữ liệu, cách lưu trữ và xây dựng mãng dữ liệu chứa các giao điểm của đường thẳng và đa giác.
Kỹ năng lập trình đệ qui, tạo stack khửđệ qui.
• Tài liệu tham khảo
Computer Graphics . Donald Hearn, M. Pauline Baker. Prentice-Hall, Inc., Englewood Cliffs, New Jersey , 1986 ( chapters 4, 78-103)
• Nội dung cốt lõi
- Trình bày các không gian màu RGB, CMY, HSV
- Giới thiệu các thuật toán tô màu bao gồm : tô đơn giản, tô theo đường biên và tô scan-line