Đồ họa máy tính - bài tập đồ họa

Chia sẻ: tt1991tt

Yêu cầu - Mỗi sinh viên chọn một bài tập (không được trùng nhau) - Viết báo cáo trình bày những kiến thức cơ sở có liên quan và cài đặt chương trình demo - Trình bày bài tập của mình trước lớp theo phân công - Kết quả đánh giá là điểm .

Nội dung Text: Đồ họa máy tính - bài tập đồ họa

BÀI TẬP ĐỒ HỌA
Mục đích
- Củng cố kiến thức môn học
- Rèn luyện kỹ thuật lập trình đồ họa.
Yêu cầu
- Mỗi sinh viên chọn một bài tập (không được trùng nhau)
- Viết báo cáo trình bày những kiến thức cơ sở có liên quan và cài đặt
chương trình demo
- Trình bày bài tập của mình trước lớp theo phân công
- Kết quả đánh giá là điểm .
Bài tập
1. Viết chương trình vẽ bầu trời có 10000 đ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.
2. Viết chương trình vẽ lá cờ tổ quốc (Cờ đỏ, sao vàng)
3. Viết chương trình thể hiện dao động của con lắc đơn
4. Viết chương trình thể hiện một ô tô chuyển động ngang qua màn hình. Nếu
gặp biên màn hình thì chuyển động theo chiều ngược lại
5. Viết chương trình mô phỏng sự va đập của một trái bóng trên màn hình.
(Nếu gặp đường biên màn hình thì đổi hướng chuyển động theo định luật
phản xạ ánh sáng)
6. Viết chương trình thực hiện 2 thao tác sau :
a. 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.
b. Xuất một chuỗi ra màn hình, chuỗi này có tô bóng (nội dung chuỗi
ký tự, màu tô, màu bóng là được nhập từ bàn phím).
7. 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.
8. 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.
9. 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.
10. 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.
11. 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.
12. Viết chương trình vẽ đường tròn theo giải thuật đơn giản (đối xứng).
13. Viết chương trình vẽ đường tròn theo giải thuật Bresenham.
14. Viết chương trình vẽ đường tròn theo giải thuật MidPoint.
15. 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.
16. 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.
17. 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.
18. Viết chương trình vẽ 3 hình chữ nhật, hình vuông và hình bình hành nội
tiếp trong đường tròn.
19. 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.
20. 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.
21. 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.
22. Viết chương trình vẽ một đa giác n đỉnh, xét xem một điểm P nào đó có
thuộc đa giác không ?
23. Viết chương trình vẽ một đa giác n đỉnh. Tô đa giác bằng giải thuật tô đơn
giản (Tìm xmin, ymin, xmax, ymax).
24. Viết chương trình vẽ một đường tròn. Tô đường tròn bằng giải thuật tô đơn
giản.
25. Viết chương trình vẽ một đa giác n đỉnh. Tô đa giác bằng giải thuật tô bi ên.
Lưu ý cho các trường hợp của đa giác: hình chữ nhật, đa giác lồi, đa giác
lõm.
26. Viết chương trình vẽ một đường tròn. Tô đường tròn bằng giải thuật tô
biên.
27. Viết chương trình vẽ một đa giác n đỉnh. Tô đa giác bằng giải thuật scan-
line.
28. Viết chương trình vẽ một đường tròn. Tô đường tròn bằng giải thuật tô
scanline.
29. Viết chương trình vẽ hai đường tròn C1 và C2 cắt nhau. Tô phần giao của
hai đường tròn đó. Tô phần bù của C2. Tô phần bù của C1. Lưu ý rằng 3
màu tô này phải khác nhau.
30. Vẽ một hình bình hành bằng cách sử dụng phép tịnh tiến. (Vẽ đoạn thẳng
AB, sau đó tịnh tiến AB thành đoạn thẳng CD//AB, vẽ AD, Tịnh tiến AD
thành BC.
31. Viết chương trình vẽ một hình vuông ABCD
a. Tịnh tiến hình vuông đó đến vị trí khác.
b. Phóng to hình vuông ABCD.
c. Biến dạng hình vuông thành hình thoi.
32. Vẽ một elip, sau đó vẽ thêm 3 elip khác có cùng tâm với elip đã cho, có độ
dãn ở trục Ox là K và Oy là 1.
33. Vẽ một elip nghiêng một góc G độ có các trục không song song với các
trục tọa độ.
34. Vẽ một bông hoa bằng cách vẽ các elip nghi êng một góc G độ với các màu
khác nhau. Vẽ đến khi nào ấn phím bất kỳ thì ngưng.
35. Viết chương trình mô phỏng sự chuyển động của elip bằng cách cho elip
này quay quanh tâm của nó.
36. Viết chương trình mô phỏng sự chuyển động của trái đất quay quanh mặt
trời.
37. Viết chương trình mô phỏng phép tịnh tiến trong mặt phẳng.
38. Viết chương trình mô phỏng phép biến đổi tỉ lệ trong mặt phẳng.
39. Viết chương trình mô phỏng phép quay trong mặt phẳng.
40. Viết chương trình mô phỏng phép biến dạng trong mặt phẳng.
41. Viết chương trình vẽ một đường tròn tâm O bán kính R. Vẽ một đường
kính AB. Quay đường kính này quanh tâm đường tròn.
42. 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). Hãy xét
một điểm P(x,y) có nằm bên trong cửa sổ không ?
43. 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.
44. Cài đặt thuật toán clipping đường Liang-Barsky lên hệ thống của bạn.
45. 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?
46. 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.)
47. Viết thủ tục để cắt một ellipse bằng cách dùng cửa sổ chữ nhật.
48. 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).
49. 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ỳ.
50. 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ị.
51. Viết chương trình mô phỏng phép tịnh tiến trong không gian 3 chiều.
52. Viết chương trình mô phỏng phép biến đổi tỉ lệ trong không gian 3 chiều.
53. Viết chương trình mô phỏng phép quay trục trong không gian 3 chiều.
54. 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.
55. 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). Thực hiện các phép quay đối tượng
quanh các trục của hệ tọa độ.
56. 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). Thực hiện một phép chiếu phối cảnh bất
kỳ.
57. 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.
58. 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).
59. Viết chương trình vẽ đường cong Bezier.
60. Viết chương trình vẽ đường cong Bspline.
61. Viết chương trình vẽ đồ thị các hàm số sơ cấp.
DANH SÁCH SINH VIÊN LỚP CDTH10TH
ĐĂNG KÝ BÀI TẬP LỚN MÔN ĐỒ HỌA MÁY TÍNH
Đề
TT Họ và tên Tên Đề tài
tài số
1. Nguyễn Thị An
2. Lê Thị Ngọc Anh
3. Phạm Tuấn Anh
4. Lê Trung Anh
5. Nguyễn Quảng Bắc
6. Lục Văn Chiến
7. Phạm Ngọc Chiến
8. Nguyễn Văn Công
9. Bùi Văn Duy
10. Lê Hữu Duy
11. Trần Đức Đạt
12. Nguyễn Văn Giáp
13. Đỗ Hải Hà
14. Đặng Ngọc Hải
15. Đinh Thị Thanh Hải
16. Nguyễn Quảng Hải
17. Lê Xuân Hải
18. Trần Thị Hải
19. Nguyễn Bá Hiền
20. Lê Xuân Hiệp
21. Nguyễn Văn Hưng
22. Đỗ Xuân Hưng
23. Cao Văn Kế
24. Trịnh Văn Kiên
25. Phạm Tùng Lâm
26. Lê Văn Luân
27. Nguyễn Thị Nam
Thảo
28. Trịnh Duy Nam
29. Phùng Văn Nguyê
n
30. Nguyễn Đình Quý
31. Chu Văn Sơn
32. Lê Hồng Sang
33. Hoàng Văn Sỹ
34. Vũ Văn Tài
35. Khương Anh Tâm
36. Hoàng Thị Thơm
37. Hớ Ngọc Thanh
38. Nguyễn Văn Thanh
39. Lê Thị Thảo
40. Nguyễn Văn Thịnh
41. Hoàng Anh Thọ
42. Phan Thị Thủy
43. Lê Văn Thủy
44. Trương Khắc Tiến
45. Lê Huyền Trang
46. Vũ Văn Tuấn
47. Nguyễn Ngọc Tuấn
48. Nguyễn Đình Tùng
49. Phí Trang Tùng
50. Lương Thanh Tùng
51. Nguyễn Trọng Tư
52. Bùi Thị Vân
53. Nguyễn Tuấn Việt
54. Trương Tiến Vũ
Đề thi vào lớp 10 môn Toán |  Đáp án đề thi tốt nghiệp |  Đề thi Đại học |  Đề thi thử đại học môn Hóa |  Mẫu đơn xin việc |  Bài tiểu luận mẫu |  Ôn thi cao học 2014 |  Nghiên cứu khoa học |  Lập kế hoạch kinh doanh |  Bảng cân đối kế toán |  Đề thi chứng chỉ Tin học |  Tư tưởng Hồ Chí Minh |  Đề thi chứng chỉ Tiếng anh
Theo dõi chúng tôi
Đồng bộ tài khoản