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

21 696 4
Vẽ đồng hồ hoạt động

Đ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

Đồ họa máy tính 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: 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 Nhóm 20-KHMT2-K6 ĐH Công Nghiệp Hà Nội 1 Đồ 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). 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 Nhóm 20-KHMT2-K6 ĐH Công Nghiệp Hà Nội 2 Đồ họa máy tính 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 Nhóm 20-KHMT2-K6 ĐH Công Nghiệp Hà Nội 3 Đồ họa máy tính 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ần tì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 . Nhóm 20-KHMT2-K6 ĐH Công Nghiệp Hà Nội 4 Đồ họa máy tính 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 { int x=x1; int y=y1; int dx=x2-x1; int dy=y2-y1; float p=2*dy-dx; int const1=dy; int const2=2*(dy-dx); putpixel(x,y,3); while(x<x2) { if(p<0) p+=const1; else {p+=const2; y++;} x++; putpixel(x,y,3); } } Void Dda(int x1, int y1, int x2, int y2) { Nhóm 20-KHMT2-K6 ĐH Công Nghiệp Hà Nội 5 Đồ họa máy tính int dx,dy,step; float y_inc,x_inc,x,y; dx= x2-x1; dy= y2-y1; if (abs(dx)>abs(dy)) step=abs(dx); else step=abs(dy); x_inc = (float) dx/step; y_inc = (float) dy/step; x=x1; y=y1; putpixel((int)x, (int)y, 5); for (int k=1; k<=step; k++){ x = x+x_inc; y = y+y_inc; putpixel((int) x, (int) y, 5); delay(5); } } 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*) Nhóm 20-KHMT2-K6 ĐH Công Nghiệp Hà Nội 6 Đồ họa máy tính    += += byy axx * * 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) { x=x+ttx; y=y+tty; Nhóm 20-KHMT2-K6 ĐH Công Nghiệp Hà Nội 7 1 0 0 0 1 0 tlx tly 0 T= Đồ họa máy tính } Hình 1.1 Phép tịnh tiến Phép quay Phép quay làm thay đổi hướng của đối tượng. Để xác định phép quay, ta cần biết tâm quay và góc quay. Phép quay điểm P(x,y) quanh gốc tọa độ một góc α tạo thành điểm ảnh Q(x*,y*) có công thức như sau:    += −= αα αα cos.sin.* sin.cos.* yxy yxx Nhóm 20-KHMT2-K6 ĐH Công Nghiệp Hà Nội 8 Đồ họa máy tính  Thuật toán cài đặt void Quay(float &x,float &y,float goc) { goc=(M_PI/180)*goc; float a=x,b=y; x=a*cos(goc)-b*sin(goc); y=a*sin(goc)+b*cos(goc); } Nhóm 20-KHMT2-K6 ĐH Công Nghiệp Hà Nội Phép quay quanh một điểm 180 0 9 Đồ họa máy tính Hình 1.4 Phép quay (góc quay 90 0 ) II.Các phép biến hình kết hợp Quá trình áp dụng các phép biến đổi liên tiếp để tạo nên một phép biến đổi tổng thể được gọi là sự kết hợp các phép biến đổi. 2.1 Kết hợp các phép tịnh tiến Nếu ta thực hiện các phép tịnh tiến lên P(x,y) được P’ rồi lại thực hiện một phép tịnh tiến khác lên P’ ta được điểm Q’(x’,y’). Như vậy Q’ là ảnh của hai phép tịnh tiến liên tiếp V(ttx1,tty1) và V’(ttx2,tty2) . Ta có : V*V’= = Nhóm 20-KHMT2-K6 ĐH Công Nghiệp Hà Nội 10 1 0 0 0 1 0 ttx2 tty2 0 1 0 0 0 1 0 ttx1 tty1 0 * 1 0 0 0 1 0 ttx1+ttx2 tty1+tty2 0 . 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ần tìm hiểu và vận dụng các. đồ 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. 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: 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.

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

Mục lục

  • Mục Lục

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

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

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

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

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

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

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

        • LỜI KẾT

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

Tài liệu liên quan