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

7 2.4K 15
Đồ họa máy tính - bài tập đồ họa potx

Đang tải... (xem toàn văn)

Thông tin tài liệu

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ài số Tên Đề tài 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ị Thảo Nam 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ũ . 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. 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ài số Tên Đề tài 1. Nguyễ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,

Ngày đăng: 11/07/2014, 07:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan