Đề tài: Nghiên cứu các phép biến đổi hình học trong không gian ba chiều

19 2.4K 11
Đề tài: Nghiên cứu các phép biến đổi hình học trong không gian ba chiều

Đ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 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 ba chiều là một trong những nội dung quan trọng. 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 26 tháng 2 năm 2013 Nhóm 26-KHMT3-K5 ĐH Công Nghiệp Hà Nội 1 Đồ họa máy tính MỤC LỤC Nhóm 26-KHMT3-K5 ĐH Công Nghiệp Hà Nội 2 Đồ họa máy tính CHƯƠNG I: KHẢO SÁT I. Mục đích nghiên cứu Vẽ khối cầu và lăng trụ trong không gian . Hiện thị trên màn hình . Vị trí quan sát xuất phát từ 1 điểm được gọi là phối cảnh . II. Đối tượng nghiên cứu Khối cầu và lăng trụ . III. Hướng giải quyết Quan sát các khối cầu và hình khối lăng trụ . Từ đó chúng ta sẽ có cách nhìn thực tế của khối cầu và lăng trụ . Tìm hiểu các phương trình của khối cầu . Từ đó chúng ta sẽ vẽ đc nó như mong muốn. Nhóm 26-KHMT3-K5 ĐH Công Nghiệp Hà Nội 3 Đồ họa máy tính CHƯƠNG II: PHÂN TÍCH I. Hiểu về chiếu phối cảnh . Phép chiếu này cho hình ảnh giống như khi nhìn vật thể . Để tìm hình chiếu P’(x’,y’,z’) của P(x,y,z) ta nối P với mắt (tâm chiếu) .Giao điểm của đường này với mặt quan sát chính là P’ . Giả sử P nằm trước mắt , tức là P.x < E . Phương trình của tia đi qua mắt và P là : r(t)=(E,0,0).(1-t)+(x,y,z).t (*) Nhóm 26-KHMT3-K5 ĐH Công Nghiệp Hà Nội 4 Đồ họa máy tính Giao điểm với mặt phẳng quan sát có thành phần x’=0. Do thành phần x’ của tia r là E.(1-t) + x.t =0 nên t=1/(1-(x/E)) . Thay t vào * ta tính được : y’=y/(1-x/E) và z’=z/(1-x/E) •Phếp chiếu phối cảnh không giữ nguyên hình dạng của vật thể . •Chỉ có những đường thẳng song song với mặt phẳng chiếu thì mới song song với nhau . •Phép chiếu phối cảnh được quy định bởi 5 biến : -Hướng của mặt phẳng chiếu so với vật thể . -Độ cao của tâm chiếu so với vật thế . -Khoảnh cách từ tâm chiếu đến vật thể (R) . -Khoảng cách từ mặt phẳng chiếu đến tâm chiếu (D). -Độ dịch chuyển ngang của tâm chiếu so với vật thể . Thuật toán cài đặt void chieu3D_2D(float x, float y, float z, float &xp, float &yp) { if (phepchieu==1) { xp=d*x/z; yp=d*y/z;} else { xp=x; yp=y;} } Nhóm 26-KHMT3-K5 ĐH Công Nghiệp Hà Nội 5 Đồ họa máy tính II Khối cầu Chiều cao và rộng của khối cầu : D1=200 D2 =100 D1=100 D2 =200 Nhóm 26-KHMT3-K5 ĐH Công Nghiệp Hà Nội 6 Đồ họa máy tính III .Lăng trụ tam giác Lăng trụ đứng . Lăng trụ nằm ngang . Nhóm 26-KHMT3-K5 ĐH Công Nghiệp Hà Nội 7 Đồ họa máy tính IV . Lăng trụ tứ giác . Lăng trụ đứng . Lăng trụ nằm ngang . Nhóm 26-KHMT3-K5 ĐH Công Nghiệp Hà Nội 8 Đồ họa máy tính CHƯƠNG III . Chương trình #include<graphics.h> #include<conio.h> #include<math.h> #include<iostream.h> #include<stdio.h> #define pi 3.14 float r, phi,teta, d, tlx, tly; int phepchieu; int xo, yo; int xv1,xv2,yv1,yv2; float xw1,yw1,xw2,yw2,tlx1,tly1; ///////////////////////////////////////////////////////////// Nhóm 26-KHMT3-K5 ĐH Công Nghiệp Hà Nội 9 Đồ họa máy tính void cs(float x1,float y1,float x2,float y2) { xw1=x1; xw2=x2; yw1=y1; yw2=y2; } /////////////////////////////////////////////// /////// void kn(int x1,int y1,int x2 ,int y2) { xv1=x1; xv2=x2; yv1=y1; yv2=y2; tlx1=(xw2-xw1)/(float)(xv2-xv1); tly1=(yw2-yw1)/(float)(yv2-yv1); } //xây d?ng b? công c? 3D //xây d?ng các th? t?c ph? tr? void chuyenhqs(float x, float y, float z, float &x1, float &y1,float &z1) { x1=-x*sin(teta)+y*cos(teta); y1=-x*cos(teta)*sin(phi)-y*sin(teta)*sin(phi)+z*cos(phi); z1=-x*sin(teta)*cos(phi)-y*cos(teta)*sin(phi)-z*sin(phi)+r; } void chieu3D_2D(float x, float y, float z, float &xp, float &yp) { if (phepchieu==1) { xp=d*x/z; yp=d*y/z;} else { xp=x; yp=y;} } void chuyenmh(float x, float y, int &xm, int &ym) { xm=(int)(tlx*x+xo); ym=(int)(-tly*y+yo); } void chuyenden(float x, float y, float z) Nhóm 26-KHMT3-K5 ĐH Công Nghiệp Hà Nội 10 [...]... chuyenhqs(x,y,z,x1,y1,z1); chieu3D_2D(x1,y1,z1,xp,yp); chuyenmh(xp,yp,xm,ym); lineto(xm,ym);} //t?o các giá tr? m?c d?nh void khoitaohqs() { r=10;d=5; phi=pi/5; teta=pi/4; int i; printf("Phep chieu (1-chieu phoi canh, 0-chieu song song) : "); scanf("%d",&i); phepchieu=i; tlx=70;tly=50;//t? l? phóng xo=320; yo=240;//v? trí d?t g?c t?a d? trên màn hình setcolor(14); } void truc() { setcolor(4); chuyenden(0,0,0); veden(0,0,14);//v?... switch(chon) { case 1: cleardevice(); khoicau(); break; case 2: cleardevice(); // truc(); langtrudung(); break; case 3: cleardevice(); //truc(); langtrunam(); break; case 4: exit(0); break; default: printf("\nBan chon SAI"); getch(); } }while(chon!=4); } Nhóm 26-KHMT3-K5 18 ĐH Công Nghiệp Hà Nội Đồ họa máy tính Nhóm 26-KHMT3-K5 19 ĐH Công Nghiệp Hà Nội . tính CHƯƠNG III . Chương trình #include<graphics.h> #include<conio.h> #include<math.h> #include<iostream.h> #include<stdio.h> #define pi 3.14 float r, phi,teta, d,. setcolor(4); chuyenden(0,0,0); veden(0,0,14);//v? t? di?m A7(0,0,0)->A2(0,0,1) chuyenden(0,0,0); veden(15,0,0);//v? t? di?m A7(0,0,0)->A6(1,0,0) chuyenden(0,0,0); veden(0,15,0);//v? t?. scanf("%d",&n); Nhóm 26- KHMT3-K5 ĐH Công Nghiệp Hà Nội 13 Đồ họa máy tính int i=1; chuyenden(0,0,5); while(i<n) { veden(x,y,z); veden(x1,y1,z1); chuyenden(x,y,z); if(i%2==0)

Ngày đăng: 21/11/2014, 00:44

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan