1. Trang chủ
  2. » Luận Văn - Báo Cáo

Viết chương trình mô phỏng sự va đập của một trái bóng trên màng hình

13 3,1K 19

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

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

Khoa Công Nghệ Thông Tin LỚ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.... 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

Trang 1

Khoa Công Nghệ Thông Tin

LỚ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

Trang 2

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

Trang 3

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

1 Giao diện chương trình 8

2 Cài đặt chương trình 8

3 Demo chương trình 11

Trang 4

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

Trang 5

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) {

Trang 6

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;

Trang 7

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;

}

Trang 8

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{

Trang 9

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;

Trang 10

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);

}

Trang 11

3 Demo chương trình

Trang 13

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à 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 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

Ngày đăng: 06/11/2014, 01:05

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w