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

bài tập lớn môn đồ họa máy tính ĐỀ TÀI xây dựng chương trình vẽ con lật đật chuyển động quay quanh tâm, dung phím mũi tên di chuyển sao di khắp màn hình

30 1,6K 11

Đ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 30
Dung lượng 619 KB

Nội dung

Trong thành công của kỹ thuật đồ họa ngày nay không thể không nói đếnsự phát triển vượt bậc của tốc độ phần cứng lẫn hệ điều hành.. Nhưng bản thânkỹ thuật đồ họa thì có

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘIKHOA CÔNG NGHỆ THÔNG TIN

- -BÀI TẬP LỚN

Môn: Đồ họa máy tínhĐề tài số: 17ĐỀ TÀI: XÂY DỰNG CHƯƠNG TRÌNH VẼ CON LẬT ĐẬT CHUYỂNĐỘNG HAI BÊN VÀ NGÔI SAONĂM CÁNH QUAY QUANH TÂM, DÙNG

PHÍM MŨI TÊN DI CHUYỂN SAO DI KHẮP MÀN HÌNH

Giáo viên hướng dẫn: THS Nguyễn Thị Cẩm Ngoan

Sinh viên thực hiện:

1 Nguyễn Sỹ Chiến

2 Trịnh Khương Duy

3 Trần Văn Hiệp

Hà nội, tháng 8 năm 2013

Trang 2

Lời nói đầu

Có câu rằng “một hình ảnh bằng cả nghìn lời nói ” Điều đó thật không thểphủ nhận Và rõ ràng là nếu hiển thị thông tin chỉ với các ký hiệu, chữ cái, chữsố không thôi thì không thể hấp dẫn và dễ hiểu như khi có thêm biểu diễn đồ họaKỹ thuật đồ hoạ cũng là công cụ không thể thiếu trong các ngành khoa học kỹthuật, giáo dục, nghệ thuật, giải trí, quảng cáo (để diễn đạt máy móc thiết bị,kiến trúc, cấu trúc cơ thể, thông tin thiên văn địa lý, hình ảnh minh hoạ ) Chính

vì vậy, đồ họa là một vấn đề được quan tâm trong ngành công nghệ thông tin Cùng với sự phát triển của tin học, kỹ thuật đồ họa trên máy vi tính, ngàycàng trở nên tinh xảo Giao diện các phần mềm ngày nay trở nên thân thiện, đẹpmắt nhờ các thể hiện đồ họa Sự hổ trợ của tin học cho các ngành khác trở nênđắc lực hơn nhờ khả năng đồ họa vi tính Và thế giới thực thì được biểu diễnmột cách sinh động, linh hoạt, đầy màu sắc bằng không gian ba chiều

Trong thành công của kỹ thuật đồ họa ngày nay không thể không nói đếnsự phát triển vượt bậc của tốc độ phần cứng lẫn hệ điều hành Nhưng bản thânkỹ thuật đồ họa thì có bước tiến nhảy vọt từ những phép tính toán học phức tạpđến những thư viện đồ họa được tạo sẳn Các thư viện này cho phép giảm nhẹthời gian và công sức của người lập trình

Mục tiêu của bài tập lớn này là tìm hiểu các thuật toán,cách vẽ đường tròn,hình tam giác bằng ngôn ngữ C++, áp dụng các phép biến hình trong không gian2D như tịnh tiến, quay, tỉ lệ để tạo thành hình con lật đật có thể di chuyển 2 bên,hình ngôi sao năm cánh quay quanh tâm và di chuyển bằng các phím mũi tên Tuy nhiên, đề tài không thể không tránh khỏi những hạn chế và thiếu sót,nên rất mong được sự chỉ bảo, góp ý của Cô và các bạn

Nhóm em xin chân thành cảm ơn

Trang 3

Chương 1: Khảo Sát & Phân Tích 4

1 Khảo sát 4

1.1 Mục đích nghiên cứu 4

1.2 Khảo sát 4

1.3 Đối tượng nghiên cứu 7

2 Phân Tích 7

2.1 Xây dựng bộ công cụ 2D 7

2.2 Các bước vẽ con lật đật 7

2.3 Các bước vẽ ngôi sao quay và có thể di chuyển 9

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

1 Cài đặt chương trình vẽ con lật đật 10

1.1 Thuật toán vẽ đường tròn cơ sở 10

1.2 Hàm tịnh tiến và quay để thành hình con lật đật 12

1.3 Hàm tạo chuyển động 14

1.4 Hàm tô mầu cho lật đật 16

2 Cài đặt ngôi sao quay và di chuyển bằng phím mũi tên 18

2.1 Các hàm vẽ ngôi sao 18

2.2 Các hàm tạo chuyển động cho ngôi sao 21

2.3 Hàm tô màu cho ngôi sao 24

3 Cài đặt giao diện sử dụng 27

1 Giao diện của menu chọn 27

2 Giao diên vẽ lật đật 27

3 Giao diện ngôi sao 28

Kết luận 29

Tài liệu tham khảo 29

Trang 4

Chương 1: Khảo Sát & Phân Tích

1 Khảo sát

1.1 Mục đích nghiên cứu

Áp dụng các thuật toán vẽ đường tròn, tinh tiến, và quay góc để tạo hìnhvà chuyển động cho con lật đật

Áp dụng các thuật toán vẽ các hình cơ bản và các thuật toán biến hình vẽvà tạo chuyển động cho ngôi sao quay di chuyển bằng phím mũi tên

1.2 Khảo sát.

Đề tài: XÂY DỰNG CHƯƠNG TRÌNH VẼ CON LẬT ĐẬT VÀ CÁINGÔI SAO QUAY là đề tài yêu cầu tìm hiểu và vận dụng các thuật toán cơ bảnnhư: vẽ đường thẳng, đường tròn, tịnh tiến, quay…

Yêu cầu tư duy và vận dụng chắc những kiến thức cơ bản trong dựng hìnhvà các phép biến hình

- Khảo sát con lật đật:

+ Một số hình ảnh về con lật đật

Trang 5

Về con lật đật có khá là nhiều kiểu dáng khác nhau nhưng về cấu tao đều

có điểm chung gồm một khối tròn ở dưới làm trọng tâm giúp lật đật đứng vững,qua khảo sát nhóm em quyết định vẽ con lật đật có hình dáng như sau:

Con lật đật này được cấu tạo từ 4 hình cầu ghép lại với nhau khi vẽ lênđồ họa 2D sẽ là 4 hình tròn

2

Trang 6

Để vẽ con lật đật như trên cần sử dụng các hàm vẽ đường tròn, các hàmtịnh tiến và tỉ lệ trong không gian 2D.

- Khảo sát ngôi sao năm cánh

Hình dảnh ngôi sao

Trên đây là hình ảnh ngôi sao năm cánh qua khảo sát thấy có các đặcđiểm như sau:

+ Các đỉnh cách đều tâm O một khoảng cách r

+ Hai đỉnh liên tiếp kề nhau 72o

Để vẽ ngôi sao ta áp dụng thuật toán vẽ 1 tam giác ban đầu và quay tâmgiác quanh tâm O với góc 72o sau năm lần quay ta được ngôi sao như mongmuốn

1

Trang 7

Di chuyển hình sao.

- Quay quanh tâm

Thực hiện việc chuyển ngôi sao vừa tạo thành màu giống màu nềnvà sau đó tạo 1 ngôi sao khác các đình quay quanh tâm cùng 1 góc

β nào đó!

- Sao di chuyểnKhi thực hiện phép di chuyển hình sao lên trên, ta thực hiệnphép tịnh tiến hình sao theo vector I có tọa độ (-1;0)

Khi thực hiện phép di chyển hình sao xuống dưới, ta thực hiênphep tịnh tiên hình sao theo vector H có tọa độ (1;0)

1.3 Đối tượng nghiên cứu

Vẽ trục tọa độ bằng bộ công cu 2D xây dựng trên chương trình Dev-C,xây dựng chương trình vẽ đường tròn

Vẽ đường thẳng bằng thuật toán MidPoint, vẽ cánh ngôi sao bằng bộ công

cụ 2D

2 Phân Tích

2.1 Xây dựng bộ công cụ 2D

Để vẽ được các hình trên mặt phẳng tọa độ trước tiên ta xây dựng bộ công

cụ 2D

a Xây dựng công cụ chuyển đổi hệ quan sát

- Xây dựng của sổ

- Khung nhìn

- Các công cụ chuyển đến, vẽ đến, hệ tọa độ

b Mục đích

Mô phỏng hình ảnh trong không gian thực 2 chiều lên màn hình

c Xây dựng bộ công cụ 2D

- Khai báo các biến tlx, tly, xw1, xw2, yw1, yw2

Trang 8

- Xây dựng các công cụ phụ trợ như:

void cuaso(float x1,float y1,float x2,float y2);

void khungnhin(int x1,int y1,int x2,int y2);

void chuyenden(float x,float y);

void veden(float x, float y);

void vetruc();

2.2 Các bước vẽ con lật đật

B1 Vẽ 1 đường tròn ban đầu

B2 Vẽ 4 đường tròn 2,3,4 bằng cách tỉ lệ và tịnh tiến đến các vi trí phù hợp.

B3 Thực hiện phép tịnh tiến 4 đường tròn 1,2,3,4 đông thời thực hiện phép quay

3 đường tròn 2,3,4 với tâm quay là tâm O của đường tròn 1

1

2

1

Trang 10

2.3 Các bước vẽ ngôi sao quay và có thể di chuyển

B1 Vẽ 1 tam giác cơ sở

O

B2 Thực hiện phép quay -72o quanh điểm O ta được cánh thứ 2

B3 Tiếp tục quay ta sẽ được các cánh còn lại

Trang 11

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

1 Cài đặt chương trình vẽ con lật đật

1.1 Thuật toán vẽ đường tròn cơ sở

void put8pixel(float x0, float y0,float xm, float ym, int setColor )

{

putpixel(xm+x0, ym+y0, setColor);

putpixel(ym+x0, xm+y0, setColor);

Trang 12

putpixel(ym+x0, -xm+y0, setColor);

putpixel(-xm+x0, ym+y0, setColor);

putpixel(xm+x0, -ym+y0, setColor);

putpixel(-xm+x0, -ym+y0, setColor);

putpixel(-ym+x0, -xm+y0, setColor);

putpixel(-ym+x0, xm+y0, setColor);

Trang 13

1.2 Hàm tịnh tiến và quay để thành hình con lật đật

void latdat_quay(duongtron a[4], duongtron b[4], float fi)

Trang 15

Hình ảnh con lật đật sau khi vẽ

1.3 Hàm tạo chuyển động

void latdat_chuyendong(duongtron a[4])

Trang 16

int i=0,j=1;

char c;

int latdat_delay=60000/(latdat_v*60);

setcolor(10);

outtextxy(0,0,"Nhan phim Space Bar de tam dung");

outtextxy(0,20,"Nhan phim Enter de thoat");

Trang 17

1.4 Hàm tô mầu cho lật đật

void latdat_tomau(duongtron a[4])

Trang 19

Hình ảnh lật đật sau khi được tô màu

2 Cài đặt ngôi sao quay và di chuyển bằng phím mũi tên

2.1 Các hàm vẽ ngôi sao

void sao_quay(hinhsao sao1, hinhsao &sao2, float fi)

sao2.tg[i].y=(sao1.tg[i].x-sao1.x)*sin(fi)+(sao1.tg[i].y-sao1.y)*cos(fi)+sao1.y;

Trang 22

Hình ảnh ngôi sao 5 cánh sau khi vẽ

2.2 Các hàm tạo chuyển động cho ngôi sao

void sao_chuyendong(hinhsao sao1)

{

int mh=0,mode=0;

Trang 23

outtextxy(0,0,"Nhan phim Space Bar de tam dung");

outtextxy(0,20,"Nhan phim Enter de thoat");

Trang 25

}

while(c!=13);

closegraph();

}

2.3 Hàm tô màu cho ngôi sao

void sao_tomau(hinhsao sao1)

Trang 27

Ngôi sao khi tô màu

Trang 28

3 Cài đặt giao diện sử dụng

1 Giao diện của menu chọn

2 Giao diên vẽ lật đật

Trang 29

3 Giao diện ngôi sao

Trang 30

Kết luận

Qua việc làm bài tập lớn và các kiến thức mà cô dạy về môn học đồ họa máytính đã cho chúng em nhiều kiến thức bổ ích áp dụng vào thực tiễn cuộcsống.Đồ họa máy tính còn có nhiều ứng dụng để áp dụng vào giáo dục,xâydựng,thiết kế, v v vẫn đang chờ chúng ta khai phá…

Tài liệu tham khảo

1.Giáo trình Đồ Họa Máy Tính – khoa CNTT trường ĐH Công Nghiệp Hà Nội.2.Giáo trình Kỹ Thuật Đồ Họa – trường Học Viện Công Nghệ Bưu Chính ViễnThông

Và môt số tài liệu tham khảo trên internet…

Ngày đăng: 25/04/2015, 19:15

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w