Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
416,5 KB
Nội dung
Trường Đại Học Công Nghiệp Hà Nội Khoa Công Nghệ Thông Tin BÀI TẬP LỚN Môn: Đồ họa máy tính Đề tài 6: 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 Giáo viên hướng dẫn:Nguyễn Thị Cẩm Ngoan Sinh viên thực hiện: 1. Ngô Văn Linh 2. Chu Văn Thân 3. Ngô Thế Ánh Hà Nội 2-2013 Đồ họa máy tính Lời nói đầu Đồ họa máy tính là một lĩnh vực của khoa học máy tính nghiên cứu về cơ sở toán học, các thuật toán cũng như các kĩ thuật cho phép tạo, hiển thị và điều khiển hình ảnh trên màn hình máy tính. Đồ họa máy tính liên quan ít nhiều đến một số lĩnh vực như đại số, hình học giải tích và hình học họa hình, quang học…… và kĩ thuật máy tính và đặc biệt là chế tạo phần cứng ( các loại màn hình, các thiết bị nhập xuất, các vi mạch đồ họa). Nghiên cứu các phép biến đổi hình học trong không gian thực hai chiều là một trong những nội dung quan trọng. Qua thời gian tìm hiểu nhóm quyết định trọn đề tài 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 sang) nhằm mô phỏng cơ chế va đập của quả bóng trong không gian thực hai chiều. Do quá trình tìm hiểu còn nhiều thiếu sót nên chương trình còn nhiều hạn chế, nhóm thực hiện rất mong nhận được ý kiến đóng góp từ phía cô giáo và các bạn để phần mềm được hoàn thiện hơn. Hà Nội, ngày 05 tháng 02 năm 2013 Nhóm 6-KTPM2-K6 ĐH Công Nghiệp Hà Nội 2 Đồ họa máy tính MỤC LỤC PHẦN 1: KHẢO SÁT 4 1.Mục đích nghiên cứu 4 2.Đối tượng nghiên cứu 4 3.Khảo sát 4 4.Hướng giải quyết 4 PHẦN 2: PHÂN TÍCH 5 1.Yêu cầu đề tài 5 2. Các hàm sử dụng 5 2.1 Hàm vẽ trái bóng 5 2.2 Hàm khởi tạo đồ họa 5 2.3 Chương trình chính 6 PHẦN 3: CÀI ĐẶT CHƯƠNG TRÌNH 8 3.Demo chương trình 11 Nhóm 6-KTPM2-K6 ĐH Công Nghiệp Hà Nội 3 Đồ họa máy tính PHẦN 1: KHẢO SÁT 1. Mục đích nghiên cứu Tạo ra những quả bóng có thể di chuyển và có sự va đập theo định luật phản xạ ánh sáng. Giúp màn hình chờ máy tính có thêm một tính năng, người dùng có thêm nhiều sự lựa chọn hơn. 2. Đối tượng nghiên cứu Hướng đến tất cả mọi người sử dụng máy tính, đặc biệt là những người tuổi nhỏ đang tuổi học hỏi. Giúp họ thấy thú vị và hứng thú khi thấy sự va đập trong thế giới ảo, khiến họ tiềm hiểu về chủ đề này. 3. Khảo sát Qua khảo sát trên các máy tính sử dụng hệ điều hành Windows, trên win xp thì không có hiệu ứng màn hình chờ quả bóng có sự va đập trên màng hình, còn win 7,8 thì cũng đã có nhưng xuất hiện nhiều quả bóng và một quả không tồn tại mãi. Khảo sát cũng cho thấy trên hệ điều hành Windows 7,8 có hiệu ứng sự va đập nhưng có sự xuất hiện của nhiều quả bóng. Trên hai hệ điều hành này còn có thêm hiệu ứng gió thổi nên sẽ không thấy sự ổn định chuyển động của quả bóng. 4. Hướng giải quyết Khi máy không được sử dụng trong khoảng một thời gian mà do người sử dụng quy định thì hiệu ứng của một quả bóng sẽ phát huy tác dụng. Nó là phần mềm tiết kiệm tài nguyên, điện cho máy tính. Một phần mềm gọn nhẹ giúp người sử dụng có những phút thư giãn nhẹ nhàng. Nhóm 6-KTPM2-K6 ĐH Công Nghiệp Hà Nội 4 Đồ họa máy tính PHẦN 2: PHÂN TÍCH 1. Yêu cầu đề tài 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). 2. Các hàm sử dụng 2.1 Hàm vẽ trái bóng void ve(int n) { setcolor(n); //setbkcolor(3); //floodfill(x,y,n); circle(x,y,r); } 2.2 Hàm khởi tạo đồ họa void khoitao()// ham khoi tao che do do hoa { int gd,gmode; gd=DETECT; initgraph(&gd,&gmode,"c:\\tc\\bgi");//goi ham khoi tao che do do hoa voi duong dan den tap tin .BGI int error; error=graphresult();// lay ket qua cua thao tac khoi tao if(error!=0) { Nhóm 6-KTPM2-K6 ĐH Công Nghiệp Hà Nội 5 Đồ họa máy tính cout<<"loi khi khoi tao do hoa\n"; getch(); exit(0); } } 2.3 Chương trình chính int main() { khoitao(); x=0;y=0;r=40;dy=20;dx=20; xx=40;yy=10;dxx=10;dyy=12; do{ setcolor(12); outtextxy(getmaxx()/2-100,80,"ket thuc khi nhan phim bat ki!"); outtextxy(getmaxx()/2-100,getmaxy()/2,"writing by nhom 6!"); ve(12); delay(50); ve(0); y=y+dy; x=x+dx; xx+=dxx;yy+=dyy; if(xx>=getmaxx()-100) dxx=-dxx; if(yy>getmaxx()-100) dyy=-dyy; if(xx<=0) dxx=-dxx; if(yy<=0) dyy=-dyy; if(y>=getmaxy()) dy=-dy; Nhóm 6-KTPM2-K6 ĐH Công Nghiệp Hà Nội 6 Đồ họa máy tính if(y<=0) dy=-dy; if(x>=getmaxx()) dx=-dx; if(x<=0) dx=-dx; /* if(xx==x&&yy==y){ dx=-dx; dxx=-dxx; dyy=-dyy; dy=-dy; } */ }while(!kbhit()); getch(); closegraph(); return 0; } Nhóm 6-KTPM2-K6 ĐH Công Nghiệp Hà Nội 7 Đồ họa máy tính PHẦN 3: CÀI ĐẶT CHƯƠNG TRÌNH 1. Giao diện chương trình Thông qua menu chương trình chính để ta lựa chọn các thuật toán như các phép biến hình cơ bản và các phép biến hình kết hợp…bằng cách nhấn các số từ 1→4 để lựa chọn . Minh họa màn hình giao diện xuất hiện như sau: Đây là giao diện để vẽ một đa giác n đỉnh. Danh sách các thành viên trong nhóm Sau đó người dùng quay lại menu chính bằng cách nhấn phím số 1 hoặc số 2 để lựa chọn các phép biến hình 2. Cài đặt chương trình #include <graphics.h> #include <iostream.h> #include <conio.h> #include <stdlib.h> #include <dos.h> int x,y,dx,dy,r,xx,yy,dxx,dyy; void khoitao(); void ve(int); int main() { khoitao(); x=0;y=0;r=40;dy=20;dx=20; xx=40;yy=10;dxx=10;dyy=12; do{ Nhóm 6-KTPM2-K6 ĐH Công Nghiệp Hà Nội 8 Đồ họa máy tính setcolor(10); outtextxy(getmaxx()/2-100,80,"ket thuc khi nhan phim bat ki!"); outtextxy(getmaxx()/2-100,getmaxy()/2,"nhom 6!"); ve(13); delay(50); ve(0); y=y+dy; x=x+dx; xx+=dxx;yy+=dyy; if(xx>=getmaxx()-100) dxx=-dxx; if(yy>getmaxx()-100) dyy=-dyy; if(xx<=0) dxx=-dxx; if(yy<=0) dyy=-dyy; if(y>=getmaxy()) dy=-dy; if(y<=0) dy=-dy; if(x>=getmaxx()) dx=-dx; if(x<=0) dx=-dx; /* if(xx==x&&yy==y){ dx=-dx; dxx=-dxx; dyy=-dyy; Nhóm 6-KTPM2-K6 ĐH Công Nghiệp Hà Nội 9 Đồ họa máy tính dy=-dy; } */ }while(!kbhit()); getch(); closegraph(); return 0; } void khoitao() { int gd,gmode; gd=DETECT; initgraph(&gd,&gmode,"c:\\tc\\bgi"); int error; error=graphresult(); if(error!=0) { cout<<"loi khi khoi tao do hoa\n"; getch(); exit(0); } } void ve(int n) { setcolor(n); circle(x,y,r); } Nhóm 6-KTPM2-K6 ĐH Công Nghiệp Hà Nội 10 [...]... quá trình tìm hiểu và phân tích đề tài 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 sang).” chúng em đã hiểu được cách phân tích và thiết kế một phần mềm Tuy nhiên do kiến thức còn hạn hẹp nên chúng em chưa thể phân tích được sâu sắc hơn và đưa ra được một phần mềm hoàn chỉnh, nhưng em mong rằng... kiến thức còn hạn hẹp nên chúng em chưa thể phân tích được sâu sắc hơn và đưa ra được một phần mềm hoàn chỉnh, nhưng em mong rằng qua đề tài này các bạn có thể hiểu thêm về cách mô phỏng sự va đập của một trái bóng trên màn hình Nhóm 6-KTPM2-K6 13 ĐH Công Nghiệp Hà Nội ... họa máy tính 3 Demo chương trình Nhóm 6-KTPM2-K6 11 ĐH Công Nghiệp Hà Nội Đồ họa máy tính Nhóm 6-KTPM2-K6 12 ĐH Công Nghiệp Hà Nội Đồ họa máy tính TỰ ĐÁNH GIÁ Ưu điểm : - Thiết thực dễ dàng sử dụng và nâng cấp - Chiếm ít tài nguyên của máy -Tiết kiệm điện khi máy không được sử dụng Khuyết điểm : Còn thiếu 1 số chức năng Hướng phát triển : Trao đổi thông tin trên mạng KẾT LUẬN Qua quá trình tìm hiểu và . Nội Khoa Công Nghệ Thông Tin BÀI TẬP LỚN Môn: Đồ họa máy tính Đề tài 6: 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 Giáo viên hướng dẫn:Nguyễn Thị Cẩm Ngoan Sinh. đổi hình học trong không gian thực hai chiều là một trong những nội dung quan trọng. Qua thời gian tìm hiểu nhóm quyết định trọn đề tài Viết chương trình mô phỏng sự va đập của một trái bóng trên. họa máy tính PHẦN 2: PHÂN TÍCH 1. Yêu cầu đề tài 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