BÁO CÁO ĐỒ HỌA: VẼ HYPEBOL

22 1.9K 1
BÁO CÁO ĐỒ HỌA: VẼ HYPEBOL

Đ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

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN  BÁO CÁO BÀI TẬP LỚN MÔN ĐỒ HỌA MÁY TÍNH ĐỀ TÀI: VẼ HYPEBOL. GVHD : ThS. Nguyễn Thị Cẩm Ngoan Nhóm thực hiện: NHÓM 29 Thành viên: - Bùi Thiên Hùng - Dương Văn Quý - Phạm Văn Vinh Hà Nội, tháng 2 năm 2013 Vẽ Hình Hypebol 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ọa Kỹ 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ày cà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, đẹp mắ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ễn mộ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 đến sự 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ân kỹ 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ẽ vẽ Hypebol bằng ngôn ngữ C++ 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 2 Đồ họa máy tính MỤC LỤC 3 Vẽ Hình Hypebol 1. GIỚI THIỆU NỘI DUNG, YÊU CẦU CỦA ĐỀ TÀI 1.1. NỘI DUNG Xây dựng phần mềm vẽ Hypebol YÊU CẦU  Mỗi thành viên phải hiểu và làm chủ được toàn bộ đề tài của nhóm mình.  Ngôn ngữ lập trình: C++ hoặc .NET (Visual C++, Visual C#). 1.2. LÝ DO CHỌN ĐỀ TÀI Trong chương trình toán bậc phổ thông trung học, các bài tập hình học về vẽ Hypebol gặp rất nhiều. Từ đó chúng em tiến hanh xây dựng bộ công cụ giúp vẽ bài toán Hypebol được nhanh hơn và chính xác hơn. Học sinh không phải lúc nào cũng gặp những hàm số đơn giản, để có thể tính đạo hàm và và vẽ dễ dàng. Một thiết bị hỗ trợ đối với học sinh trong lãnh vực này là rất cần thiết. Tuy nhiên, một chiếc máy tính có thể vẽ đồ thị, hay các hình cơ bản trong hình học thường là “hàng hiếm” trên thị trường và một món hàng xa xỉ đối với nhiều người. Còn sử dụng Microsoft Excel thì vô cùng rắc rối do có quá nhiều công đoạn phải làm. Vì thế chúng em chọn đề tài này để có thể giúp đỡ các em học sinh cấp 3 dễ dàng hơn trong việc học khảo sát và vẽ đồ thị hàm số,vẽ các hình học. Dù đã cố gắng hoàn thiện nhưng do bài không thể tránh khỏi thiếu sót mong cô góp ý để chúng em hoàn thiện hơn. 4 Đồ họa máy tính 2. PHÂN TÍCH CHỨC NĂNG ,LÝ THUYẾT. Giúp vẽ Hpebol cơ bản trong chương trình lớp 12: Trường hợp 1 : Trường hợp 2 : Người dùng chỉ cần nhập vào hệ số tương ứng của 2 phương trình chính tắc Hypebol, sau đó nó sẽ tự động vẽ ra các nhánh của Hypebol và 2 đường tiệm cân. • Định nghĩa đường Hypebol. • Cho 2 điểm cố định F1,F2 có khoảng cách F1F2=2c (c>0). • M (H) |MF1 – MF2| =2a (0<a<c). • Hai điểm F1,F2 gọi là các tiêu điểm của Hypebol. • Khoảng cách F1F2 = 2c gọi là tiêu cự của Hypebol. • Phương trình chính tắc Hypebol Cho hypebol (H) như định nghĩa. Chọn hệ trục tọa độ Oxy có gốc O là trung điểm đoạn F1F2, trục Oy là trung trực của F1F2. Khi đó . Ta có …. - Hình dạng của Hypebol • O là tâm đối xứng; Ox,Oy là 2 trục đối xứng của (H). • Trục thực nằm trên Ox, độ dài 2a. • Trục ảo nằm trên Oy, độ dài 2b. • 2 đỉnh (-a;0) và (a;0) • 2 tiêu điểm . • Tâm sai e=c/a (e>1). • Phương trình các cạnh của hình học cơ sở . 5 Vẽ Hình Hypebol • Phương trình 2 đường tiệm cận . • Bk qua tiêu điểm của M thuộc (H): 3. THUẬT TOÁN SỬ DỤNG CÔNG THỨC CHUYỂN ĐỔI QUAN SÁT Void cuaso(float x1,float y1,float x2,float y2 { xw1=x1;yw1= y1; xw2= x2,yw2= y2; } Void khungnhin(float x1,float y1,float x2,float y2) { xv1= x1; yv1=y1; xv2= x2; yv2=y2; tlx=(xv2-xv1)/(xw2-xw1);tly=(yv2-yv1)/(yw2-yw1); } BỘ CÔNG CỤ 2D * void chuyenden(float x, float y): Con trỏ chuyển tương ứng đến điểm (xm, ym) trên màn hình * void veden(float x, float y): Vẽ đến điểm (xm, ym) tương ứng trên màn hình *Cài Đặt: 6 Đồ họa máy tính void chuyenDen(float x, float y){ int xm = (int) (tlx*(x - xw1)+xv1); int ym = (int) (tly*(yw2 - y)+yv1); moveto(xm,ym); } void veDen(float x, float y){ int xm = (int) (tlx*(x - xw1)+xv1); int ym = (int) (tly*(yw2 - y)+yv1); lineto(xm,ym); } 4.CODE CHƯƠNG TRÌNH #include<graphics.h> #include<math.h> #include<dos.h> #include<stdio.h> #include<iostream> #include<conio.h> #include<stdlib.h> #define pi 3.14 #include<iomanip> 7 Vẽ Hình Hypebol using namespace std; float xw1,yw1,xw2,yw2; int xv1,yv1,xv2,yv2; float tlx,tly; void veOXY(); void cuaSo(float x1, float y1, float x2, float y2){ xw1 = x1; yw1 = y1; xw2 = x2; yw2 = y2; } void khungNhin(int x1, int y1, int x2, int y2){ xv1 = x1; yv1 = y1; xv2 = x2; yv2 = y2; tlx = (xv2 - xv1)/(xw2 - xw1), tly = (yv2 - yv1)/(yw2 - yw1); } void chuyenDen(float x, float y){ int xm = (int) (tlx*(x - xw1)+xv1); int ym = (int) (tly*(yw2 - y)+yv1); moveto(xm,ym); } void veDen(float x, float y){ int xm = (int) (tlx*(x - xw1)+xv1); int ym = (int) (tly*(yw2 - y)+yv1); lineto(xm,ym); 8 Đồ họa máy tính } void chu(float x, float y,char *s){ int xm = (int) (tlx*(x - xw1)+xv1); int ym = (int) (tly*(yw2 - y)+yv1); outtextxy(xm,ym,s); } int ktra(char *s){ for(int i=0; i<strlen(s);i++) if(s[i]>'9'||s[i]<'0') return 0; return 1; } void veOXY(){ float x = -12, y = -0.2,dx = 0.01; while (x < 11){ chuyenDen(x,y); veDen(x,0.2); x = x+1; } y = -12; x = -0.1; while (y < 12){ chuyenDen(x,y); 9 Vẽ Hình Hypebol veDen(0.1,y); y = y+1; } setcolor(4); x = -13,y = 0; chuyenDen(x,y); x=12; veDen(x,y); veDen(x - 0.4,y - 0.1); chuyenDen(x,y); veDen(x - 0.4,y + 0.1); chu(x +0.5,y,"x"); x = 0; y = -13; chuyenDen(x,y); y=12; veDen(x,y); veDen(x + 0.09,y - 0.4); chuyenDen(x,y); veDen(x -0.09,y - 0.4); chu(x ,y + 0.5,"y"); 10 [...]... cout . BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN  BÁO CÁO BÀI TẬP LỚN MÔN ĐỒ HỌA MÁY TÍNH ĐỀ TÀI: VẼ HYPEBOL. GVHD : ThS. Nguyễn Thị Cẩm Ngoan Nhóm. 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

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

Mục lục

  • 1.2. LÝ DO CHỌN ĐỀ TÀI

  • 3. THUẬT TOÁN SỬ DỤNG

  • TÀI LIỆU THAM KHẢO

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

Tài liệu liên quan