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

Vẽ đồng hồ hoạt động

21 698 4

Đ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 21
Dung lượng 311,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trường Đại Học Công Nghiệp Hà NộiKhoa Công Nghệ Thông TinBÀI TẬP LỚN Môn: Đồ họa máy tính Đề tài: Vẽ Đồng Hồ Hoạt Động Giáo viên hướng dẫn: Nguyễn Thị Cẩm Ngoan Sinh viên thực hiện: 1..

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: Vẽ Đồng Hồ Hoạt Động Giáo viên hướng dẫn: Nguyễn Thị Cẩm Ngoan

Sinh viên thực hiện:

1 Đinh Xuân Phong

2 Phạm Văn Trường

3 Đặng Quang Dũng

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

Qua môn học chúng ta đã nắm cơ bản các kiến thức về lập trình

đồ họa Đề tài vẽ đồng hồ hoạt động là đề tài mà nhóm được giao tìm hiểu và viết chương trình 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 để chương trình được hoàn thiện hơn.

Hà Nội, ngày 29 tháng 2 năm 2013

Trang 3

Mục Lục

Mục Lục 3

CHƯƠNG I: KHẢO SÁT 4

CHƯƠNG II: PHÂN TÍCH 5

delay(5); 6

2.1 Kết hợp các phép tịnh tiến 10

2.2 Phép quay với tâm bất kỳ 12

CHƯƠNG III: CÀI ĐẶT CHƯƠNG TRÌNH 14

3.1 Giao diện chương trình 14

3.2 Cài đặt chương trình 15

LỜI KẾT 20

Trang 4

CHƯƠNG I: KHẢO SÁT

I Mục đích nghiên cứu và đối tượng

Hiểu rõ các phép biến hình và thuật toán quay và ứng dụng của nó từ

đó ứng dụng vẽ mô phỏng hoạt động của đồng hồ

II Khảo Sát

Đề tài : Viết chương trình đồng hồ hoạt động là 1 đề tài yêu cầntìm hiểu và vận dụng các phép biến hình cơ bản liên gồm có: phép tịnh tiến phép quay…

Sử dụng các thuật toán vẽ đường thẳng như DDA, Bresenham

Đây là đề tài yêu cầu sự tư duy, phân tích cũng như nắm chắc kiến thức cơ bản

Trang 5

CHƯƠNG II: PHÂN TÍCH

I Các thuật toán và các phép biến hình cơ bản có liên quan

1.1 Các thuật toán vẽ đường thẳng

Void Bre(int x1, int y1, int x2, int y2) //Breshenham

Trang 6

x_inc = (float) dx/step;

y_inc = (float) dy/step;

1.2Các phép biến hình cơ bản:

Bản chất của các phép biến đổi hình học là sự thay đổi các mô tả về tọa độ của đối tượng từ đó làm đối tượng thay đổi về hướng, kích thước cũng như hình dạng

Phép tịnh tiến

Ảnh của phép tịnh tiến theo vector (a,b) của điểm P(x,y) là điểm Q(x*,y*)

Trang 7

a x x

*

*

Vector tịnh tiến (a,b) còn gọi là “vector độ dời” Chúng ta có thể áp dụng quy tắc trên cho mọi điểm của đối tượng để dịch chuyển nó Đơn giản hơn, để tịnh tiến một đa giác chỉ cần tịnh tiến các đỉnh của nó rồi vẽ lại đa giác mới Tương tự, đối với đường tròn, ellip ta tịnh tiến tâm của chúng tới

vị trí mới rồi vẽ lại

Nếu gọi ttx và tty lần lượt là độ dời theo trục hoành và trục tung thì tọa độ của điểm mới Q(x’,y’) sau khi tịnh tiến điểm P(x,y) sẽ là:

Khi đó (ttx,tty) được gọi là vecto tịnh tiến hay độ dời

 Ma trận biến đổi

 Thuật toán cài đặt

void TinhTien(float &x,float &y,float ttx,float tty)

Trang 8

α

cos sin

.

*

sin cos

.

*

y x

y

y x

x

Trang 9

 Thuật toán cài đặt

void Quay(float &x,float &y,float goc)

Trang 11

Vậy kết hợp hai phép tịnh tiến là một phép tịnh tiến Từ đó ta có thể kết hợp của nhiều phép tịnh tiến cũng là một phép tịnh tiến.

 Thuật toán cài đặt

Void TinhTien2LanDaGiac(int n,float ttx1,float tty1,float ttx2,float tty2)

Trang 12

2.2 Phép quay với tâm bất kỳ

Phép quay quanh tâm quay A(x,y) góc quay α có thể phân tích thành các phép biến hình cơ sở sau:

- Tịnh tiến theo vector (-x,-y) để đưa tâm quay về gốc tọa độ

- Quay quanh gốc tọa độ một góc α

- Tịnh tiến theo vector (x,y) để đưa đối tượng về chỗ cũ

−+

1.sinsin

.cos

1

0cos

sin

0sin

cos

1

010

001

100

0cossin

0sincos

1

010

001

y x

y x

y x y

x

α α

α α

α α

α α

α α

α α

 Thuật toán cài đặt

void QuayTamBatKy(int n,float a,float b,float goc)

Trang 14

CHƯƠNG III: CÀI ĐẶT CHƯƠNG TRÌNH

III.Cài đặt chương trình

3.1 Giao diện chương trình

Demo chương trình bằng ngôn ngữ C++ Đầu tiên giao diện chương trình

sẽ xuất hiện

Sau khi nhập giờ và nhập phút chương trình sẽ xuất hiện :

Trang 15

int const1 = 2*dy;

int const2 = 2*(dy-dx);

int x=x1, y=y1;

putpixel(x,y,c);

while(x<=x2)

Trang 16

int const1 = -2*dy;

int const2 = -2*(dy+dx);

Trang 17

int const2 = -2*(dx+dy);

Trang 20

đã nhiệt tình dạy bảo và hướng dẫn chúng em hoàn thành bài tập lớn này Trong qua trình hoàn thành bài báo cáo không tránh khỏi thiếu sót Vì thế , nhóm chúng em rất mong nhận được chỉ dẫn, bổ sung, sửa chữa, những đóng góp và sự cảm thông sâu sắc của thầy, cô cũng như bạn bè để bài tập của chúng em được hoàn thiện hơn.

Xin chân thành cảm ơn!

Ngày đăng: 08/11/2014, 23:49

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Phép tịnh tiến - Vẽ đồng hồ hoạt động
Hình 1.1 Phép tịnh tiến (Trang 8)
Hình 2.2: Phép quay với tâm bất kì - Vẽ đồng hồ hoạt động
Hình 2.2 Phép quay với tâm bất kì (Trang 13)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w