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ểudiễn đồ họa Kỹ thuật đồ hoạ cũng là công cụ không
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘIKHOA CÔNG NGHỆ THÔNG TIN
- Dương Văn Quý
- Phạm Văn Vinh
Hà Nội, tháng 2 năm 2013
Trang 2LỜ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ểudiễn đồ họa Kỹ thuật đồ hoạ cũng là công cụ không thể thiếu trong các ngànhkhoa học kỹ thuật, giáo dục, nghệ thuật, giải trí, quảng cáo (để diễn đạt máymó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 ảnhminh hoạ ) Chính vì vậy, đồ họa là một vấn đề được quan tâm trong ngànhcô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ânthiện, đẹp mắt nhờ các thể hiện đồ họa Sự hổ trợ của tin học cho các ngànhkhá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ảnthâ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ọcphứ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épgiả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ếusó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 3MỤC LỤC
Trang 41 GIỚI THIỆU NỘI DUNG, YÊU CẦU CỦA ĐỀ 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ãnhvự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
Trang 52 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à trungtrực của F1F2
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)
• Tâm sai e=c/a (e>1)
• Phương trình các cạnh của hình học cơ sở
Trang 6• 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
* 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:
Trang 7void chuyenDen(float x, float y){
Trang 8void 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);
Trang 13
}
*/
/****************************************************/
/* Ve nhanh thuoc truc y*/
void hypebolduongy(int a, int b)
Trang 14void hypebolamy(int a, int b)
// Ve nhanh thuoc truc x
void hypebolduongx(int a, int b)
{
Trang 17void veduongthangy(int a,int b){
Trang 19cout<<"\n\t1 Nhanh Thuoc Truc y ";
cout<<"\n\t2 Nhanh Thuoc Truc x ";
cout<<"\n Moi Ban Chon :";cin>>n;
Trang 21LỜI KẾT
Vận dụng kiến thức cơ sở về đồ họa 2 chiều đã được học ở trường, kếthợp với những tài liệu tham khảo trên mạng , sách báo, và đặc biệt là sựhướng dẫn của cô nhóm thực hiện chúng em đã hoàn thành bài tập lớn Qua
bài báo chúng em muốn gửi lời cảm ơn cô giáo hướng dẫn, cô ”Nguyễn Thị Cẩm Ngoan” rất cảm ơn cô đã 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ôngtránh khỏi thiếu sót Vì thế , nhóm 29 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
Nhóm em xin chân thành cảm ơn!
Trang 22TÀI LIỆU THAM KHẢO
Slide Đồ họa máy tính: ThS Vũ Minh Yến
Giáo trình Kĩ thuật đồ họa
Sách giáo khoa lớp 12