Đăng ký Đăng nhập
Trang chủ Chương trình hỗ trợ dạy và học môn hình học lớp 11 ...

Tài liệu Chương trình hỗ trợ dạy và học môn hình học lớp 11

.PDF
92
1
137

Mô tả:

ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC CHƯƠNG TRÌNH HỖ TRỢ DẠY VÀ HỌC MÔN HÌNH HỌC LỚP 11 NGÀNH: KHOA HỌC MÁY TÍNH HỘI ĐỒNG: KHOA HỌC MÁY TÍNH GVHD: THS. TRẦN GIANG SƠN GVPB: NGUYỄN NGỌC LỄ —o0o— SVTH: NGUYỄN PHẠM PHƯƠNG VY - 1614198 TP. Hồ Chí Minh, Tháng 02/2021 ĈҤ,+Ӑ&48Ӕ&*,$73+&0 ---------75ѬӠ1*ĈҤ,+Ӑ&%È&+.+2$ KHOA: KH & KT MÁY TÍNH %Ӝ0Ð1 KHMT &Ӝ1*+Ñ$;­+Ӝ,&+Ӫ1*+Ƭ$9,ӊ71$0 ĈӝFOұS- 7ӵGR- +ҥQKSK~F 1+,ӊ09Ө/8Ұ1È17Ӕ71*+,ӊ3 &K~ê6LQKYLrQSK̫LGiQWͥQj\YjRWUDQJ QK̭WFͯDE̫QWKX\͇WWUuQK +Ӑ9¬7Ç1 NGUYӈ13+Ҥ03+ѬѪ1*VY NGÀNH: KHOA HӐ&0ÁY TÍNH MSSV: 1614198 /Ӟ3 ĈҫXÿӅOXұQiQ &+ѬѪ1*75Î1++Ӛ75Ӧ'Ҥ<9¬+Ӑ&0Ð1+Î1++Ӑ&/Ӟ3 1KLӋPYө \rXFҫXYӅQӝLGXQJYjVӕOLӋXEDQÿҫX  D 7uPKLӇX2SHQ*/Yj0)& E 7uPKLӇXYӅP{QKuQKKӑFOӟS F 7uPKLӇX FiFJLҧLWKXұWYӁKuQKSKөFYөFKRP{QKuQKKӑFOӟS G 9LӃWFKѭѫQJWUuQK 1Jj\JLDRQKLӋPYөOXұQiQ 04/09/2021 1Jj\KRjQWKjQKQKLӋPYө 28/02/2022 +ӑWrQJLҧQJYLrQKѭӟQJGүQ 75Ҫ1*,$1*6Ѫ1 3KҫQKѭӟQJGүQ WRjQEӝ 1ӝLGXQJYj\rXFҫX/971ÿmÿѭӧFWK{QJTXD%ӝP{Q 1Jj\WKiQJQăP &+Ӫ1+,ӊ0%Ӝ0Ð1 *,Ҧ1*9,Ç1+ѬӞ1*'Ү1&+Ë1+ .êYjJKLU}K͕tên) .êYjJKLU}K͕WrQ +XǤQK7ѭӡQJ1JX\rQ 7UҫQ*LDQJ6ѫQ 3+̮1'¬1+&+2.+2$%͠0Ð1 1JѭӡLGX\ӋW FKҩPVѫEӝ ________________________ ĈѫQYӏ _______________________________________ 1Jj\EҧRYӋ __________________________________ ĈLӇPWәQJNӃW _________________________________ 1ѫLOѭXWUӳOXұQiQ _____________________________ 75ѬӠ1*ĈҤ,+Ӑ&%È&+.+2$ KHOA KH & KT MÁY TÍNH &Ӝ1*+Ñ$;­+Ӝ,&+Ӫ1*+Ƭ$9,ӊ71$0 ĈӝFOұS- 7ӵGR- +ҥQKSK~F ---------------------------Ngày 28 tháng 2 QăP 2022 3+,ӂ8&+Ҩ0%Ҧ29ӊ/971 (DàQKFKRQJ˱ͥLK˱ͣQJG̳Q) +ӑYjWrQ69 1JX\ӉQ3KҥP3KѭѫQJVy MSSV: 1614198 Ngành (chuyên ngành): ĈӅWjL &+ѬѪ1*75Î1++Ӛ75Ӧ'Ҥ<9¬+Ӑ&0Ð1+Î1++Ӑ&/Ӟ3 3. +ӑWrQQJѭӡLKѭӟQJGүQ: 7UҫQ*LDQJ6ѫQ 7әQJTXiWYӅEҧQWKX\ӃWPLQK 6ӕWUDQJ 79 6ӕEҧQJVӕOLӋX: 17 6ӕWjLOLӋXWKDPNKҧR 7 +LӋQYұW VҧQSKҭP &KѭѫQJWUuQKPi\WtQK 7әQJTXiWYӅFiFEҧQYӁ - 6ӕEҧQYӁ %ҧQ$ - 6ӕEҧQYӁYӁWD\ 1KӳQJѭXÿLӇPFKtQKFӫD/971 - 6ӕFKѭѫQJ 6 6ӕKuQKYӁ 52 3KҫQPӅPWtQKWRiQ %ҧQ$ .KәNKiF 6ӕEҧQYӁWUrQPi\WtQK 6LQKYLrQÿmF͙J̷QJṶWQKL͉XWURQJTXiWUuQKWK͹FKL͏Qÿ͉F˱˯QJOX̵QYăQW͙WQJKL͏SFNJQJ QK˱OX̵QYăQW͙WQJKL͏S 6LQKYLrQÿmWuPKL͋XQKͷQJF{QJQJK͏YjNL͇QWKͱFQ͉QW̫QJF̯QWKL͇Wÿ͋WK͹FKL͏QOX̵QYăQ W͙WQJKL͏SQK˱2SHQ*/0)& ;k\G͹QJÿ˱ͫFFK˱˯QJ WUuQKK͟WUͫWK̯\F{JLiRYjK͕FVLQKWURQJYL͏FG̩\YjK͕FP{QKuQK K͕FOͣS 1KӳQJWKLӃXVyWFKtQKFӫD/971 - 7KDRWiFFK͑QKV͵DFiFKuQKYͅSK̫LWK{QJTXDFiFEL͋XP̳XQrQFKRFK͑QKV͵DWU͹FTXDQ ngay trên hình. ĈӅQJKӏĈѭӧFEҧRYӋ; %әVXQJWKrPÿӇEҧRYӋ† FkXKӓL69SKҧLWUҧOӡLWUѭӟF+ӝLÿӗQJ ĈiQKJLiFKXQJ EҵQJFKӳJLӓLNKi7%  .K{QJÿѭӧFEҧRYӋ† ĈLӇP/10 .êWrQ JKLU}KӑWrQ 75ѬӠ1*ĈҤ,+Ӑ&%È&+.+2$ KHOA KH & KT MÁY TÍNH &Ӝ1*+Ñ$;­+Ӝ,&+Ӫ1*+Ƭ$9,ӊ71$0 ĈӝFOұS- 7ӵGR- +ҥQKSK~F ---------------------------Ngày 28 tháng 02 QăP 2022 3+,ӂ8&+Ҩ0%Ҧ29ӊ/971 'jQKFKRQJ˱ͥLK˱ͣQJG̳QSK̫QEL͏Q +ӑYjWrQ69 NgX\ӉQ3KҥP3KѭѫQJ9\ MSSV: 1614198 Ngành (chuyên ngành): .KRD+ӑF0i\7tQK ĈӅWjL CHѬѪ1*75Î1++Ӛ75Ӧ'Ҥ<9¬+Ӑ&0Ð1+Î1++Ӑ&/Ӟ3 +ӑWrQQJѭӡLKѭӟQJGүQSKҧQELӋQ 1JX\ӉQ1JӑF/Ӊ 7әQJTXiWYӅEҧQWKX\ӃWPLQK 6ӕWUDQJ 78 6ӕFKѭѫQJ 6 6ӕEҧQJVӕOLӋX 17 6ӕKuQKYӁ 52 6ӕWjLOLӋXWKDPNKҧR 7 3KҫQPӅPWtQKWRiQ +LӋQYұW VҧQSKҭP &KѭѫQJWUuQKPi\WtQK 7әQJTXiWYӅFiFEҧQYӁ - 6ӕEҧQYӁ %ҧQ$ %ҧQ$ .KәNKiF - 6ӕEҧQYӁYӁWD\ 6ӕEҧQYӁWUrQPi\WtQK 1KӳQJѭXÿLӇPFKtQKFӫD/971 - +ӛWUӧWѭѫQJWiFWUӵFTXDQFKRKӑFVLQKOӟSP{QKuQKKӑFNK{QJJLDQ - ĈѭDUDWӯQJEѭӟFYӁKuQKҧQKFKRQJѭӡLGQJNLӇPWUDU}UjQJ - &KѭDWKҩ\SKҫQPӅPQjRKӛWUӧP{QKuQKKӑFFKRKӑFVLQK 1KӳQJWKLӃXVyWFKtQKFӫD/971 - 9LӃWEiRFiROXұQYăQFzQTXiF{ÿӝQJFKѭDWULӇQNKDLFKLWLӃWKѫQÿӇWKҩ\ÿѭӧFNLӃQWKӭFWKXұW WRiQPjVLQKYLrQÿmYұQGөQJFNJQJQKѭTXiWUuQKOjP ĈӅQJKӏĈѭӧFEҧRYӋ; %әVXQJWKrPÿӇEҧRYӋ† FkXKӓL69SKҧLWUҧOӡLWUѭӟF+ӝLÿӗQJ a. SLQKYLrQFKӑQWӑDÿӝFӵFPjNK{QJFKӑQWӑDÿӝÿӗQJQKҩW, lý do? .K{QJÿѭӧFEҧRYӋ† b. /êGRFKX\ӇQP{KuQKÿm[k\GӵQJWӯJLDRGLӋQJOXWYjRJLDRGLӋQ0)&" c. ĈmWuPKLӇXFiFKÿӇFKҥ\WUrQÿDQӅQWҧQJFKѭD" ĈiQKJLiFKXQJ EҵQJFKӳJLӓLNKi7%  *LӓL ĈLӇP8.5/10 .êWrQ JKLU}KӑWrQ Lời cam đoan Nhóm xin cam đoan luận văn tốt nghiệp đề tài “Chương trình hỗ trợ dạy và học môn Hình học lớp 11” hoàn toàn là nghiên cứu riêng của nhóm dưới sự hướng dẫn và góp ý của Thạc sĩ Trần Giang Sơn. Những nội dung trình bày phần lớn là nhóm thu thập được đã phân tích và đánh giá chọn lọc trong quá trình nghiên cứu không sao chép, đạo văn. Những nội dung từ những công trình nghiên cứu, nhận xét, tài liệu khác được nhóm sử dụng tham khảo tất cả đều có trích dẫn, chú thích nguồn gốc theo quy định. Nhóm xin chịu trách nhiệm về lời cam đoan này cũng như nội dung luận văn. Nếu có xảy ra những vấn đề vi phạm về bản quyền, trách nhiệm hoàn toàn thuộc về nhóm nghiên cứu và không liên quan đến Trường đại học Bách Khoa - Đại học quốc gia Thành phố Hồ Chí Minh. Sinh viên thực hiện đề tài i Lời cảm ơn Để đề tài luận văn này được hoàn chỉnh đến ngày hôm nay, đầu tiên em xin gửi lời cảm ơn sâu sắc đến thầy Trần Giang Sơn, người đã tận tình hướng dẫn và giải đáp những thắc mắc cho em trong suốt quá trình thực hiện đề tài. Em chân thành biết ơn sự tận tình dạy dỗ, giúp đỡ của các thầy cô trong Khoa Khoa học và Kỹ thuật Máy tính đã truyền đạt những kinh nghiệm, kiến thức, những bài giảng vô cùng sâu sắc và hữu ích để em có thể hoàn thành tốt được đề tài luận văn tốt nghiệp đại học này. Cuối cùng, em gửi lời cảm ơn đến gia đình, người thân, bạn bè, những người đã quan tâm, động viên, giúp đỡ cả về thể chất lẫn tinh thần để em có đủ trí lực, sức khỏe hoàn thành tốt đề tài luận văn tốt nghiệp đại học này. Với lòng biết ơn chân thành, em xin gửi lời chúc sức khỏe, lời biết ơn và những lời chúc tốt đẹp nhất đến thầy Trần Giang Sơn và các thầy cô trong Khoa Khoa học và Kỹ thuật Máy tính - Trường Đại Học Bách Khoa Đại Học Quốc Gia Thành phố Hồ Chí Minh. ii Tóm tắt Việc dạy và học ở môi trường Trung học Phổ thông hiện tại đang trong tình trạng rất sách vở, thiếu đi tính trực quan. Điều này khiến việc dạy của giáo viên cũng như việc tiếp thu kiến thức của học sinh trở nên khó khăn do không có điều khiện quan sát thực tế. Cụ thể hơn, môn hình học lớp 11, 12 nói chung và hình học không gian nói riêng, gần như đã trở thành nỗi ám ảnh với nhiều thế hệ học sinh. Lý do là việc vẽ hình trên giấy chỉ cho cái nhìn hai chiều, rất khó quan sát và tưởng tượng hình vẽ trong không gian ba chiều. Như vậy, chúng ta cần một chương trình có khả năng mô phỏng rõ ràng và trực quan các hình vẽ được tạo ra trong quá trình học môn hình học không gian, đáp ứng đầy đủ nhu cầu vẽ và quan sát dưới nhiều góc độ của giáo viên và học sinh. Đồng thời, chương trình cũng cho phép tùy biến hình vẽ theo nhiều cách để phù hợp với yêu cầu đề bài. Để thuận tiện và đơn giản nhất, các hình vẽ sẽ được vẽ thông qua OpenGL, một thư viện đa nền tảng, đa ngôn ngữ cho việc kết xuất đồ họa 2D và 3D. iii Mục lục Lời cam đoan i Lời cảm ơn ii Tóm tắt iii Danh sách Bảng vii Danh Sách Hình vẽ viii Thuật ngữ và từ viết tắt x 1 Giới thiệu đề tài 1.1 Động cơ nghiên cứu . . . . 1.2 Mục tiêu đề tài . . . . . . 1.2.1 Kết quả cần đạt . . 1.3 Các giai đoạn thực hiện đề 1.4 Ý nghĩa đề tài . . . . . . . 1.5 Cấu trúc báo cáo luận văn . . . . . . 1 1 1 2 2 3 4 . . . . . . . . 5 5 5 6 8 9 10 10 10 . . . . . . tài . . . . . . . . . . . . . . . . 2 Công trình nghiên cứu liên quan 2.1 GeoGebra . . . . . . . . . . . . . 2.1.1 Giới thiệu . . . . . . . . . 2.1.2 Thực nghiệm với Geogebra 2.1.3 Một số thực nghiệm khác 2.1.4 Đánh giá . . . . . . . . . . 2.2 Cabri 3D . . . . . . . . . . . . . . 2.2.1 Giới thiệu . . . . . . . . . 2.2.2 Thực nghiệm với Cabri 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv Mục lục 2.2.3 Đánh giá . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3 Kiến thức nền tảng 3.1 Lý thuyết cơ bản về hình học 11 . . . . . . . . . . . . . . 3.1.1 Hình học phẳng . . . . . . . . . . . . . . . . . . . 3.1.2 Hình học không gian . . . . . . . . . . . . . . . . 3.2 OpenGL . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 OpenGL . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Cơ chế hoạt động của OpenGL . . . . . . . . . . 3.2.3 Tác dụng của OpenGL . . . . . . . . . . . . . . . 3.2.4 Các hàm của OpenGL được sử dụng trong chương 3.3 MFC (Microsoft Foundation Classes) . . . . . . . . . . . 3.3.1 Single-Document Interface (SDI): . . . . . . . . . 3.3.2 Multiple-Document Interface (MDI): . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . trình . . . . . . . . . . . . 4 Thiết kế chương trình 4.1 Kiến trúc hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Các đối tượng chính của chương trình . . . . . . . . . . . . . . . 4.2.1 Các class ứng với mô hình MDI của MFC . . . . . . . . 4.2.2 Các class và namespace của mô hình bài toán - Problem 4.3 Yêu cầu hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.1 Yêu cầu phi chức năng . . . . . . . . . . . . . . . . . . . 4.3.2 Yêu cầu chức năng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 12 12 17 25 25 26 26 27 30 31 31 . . . . . . . 32 32 36 36 36 39 39 40 5 Hiện thực chương trình 5.1 Các bài toán và khó khăn gặp phải . . . . . . . . . . . . . . . . . . 5.1.1 Lượng tính toán nhiều . . . . . . . . . . . . . . . . . . . . . 5.1.2 Bài toán thay đổi góc nhìn bằng thao tác chuột (trong không gian 3D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.3 Bài toán hiển thị nét đứt cho các đường bị khuất (trong không gian 3D) . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.4 Bài toán kéo dài đường thẳng tới giao điểm . . . . . . . . . 5.2 Giao diện chương trình . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Hiển thị mục luc - danh sách các bài toán được thiết kế sẵn 5.2.2 Hiển thị danh sách các đối tượng hình vẽ của bài toán . . . 5.2.3 Thay đổi thuộc tính của hình vẽ . . . . . . . . . . . . . . . . 56 56 56 58 59 61 62 62 63 64 v Mục lục 5.2.4 5.2.5 5.2.6 5.2.7 5.2.8 5.2.9 5.2.10 5.2.11 5.2.12 Phóng to/ Thu nhỏ . . . . . . . . Tịnh tiến . . . . . . . . . . . . . Thay đổi góc nhìn . . . . . . . . Thêm hình vẽ có sẵn . . . . . . . Hiển thị thuộc tính . . . . . . . . Trình bày bài toán theo các bước Hiển thị 2 cửa số song song . . . Biểu mẫu thêm hình vẽ . . . . . . Thanh công cụ . . . . . . . . . . 6 Tổng kết 6.1 Kết quả đạt được . . . 6.2 Đánh giá chương trình 6.2.1 Ưu điểm . . . . 6.2.2 Nhược điểm . . 6.3 Hướng phát triển . . . Tài liệu tham khảo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 67 68 69 70 71 72 73 74 . . . . . 76 76 76 77 77 77 78 vi Danh sách bảng 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 Class Class Class Chức Chức Chức Chức Chức Chức Chức Chức Chức Chức Chức Chức Chức Chức Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SShape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . năng thêm đối tượng hình vẽ bằng cách chọn hình vẽ có sẵn năng thêm đối tượng hình vẽ bằng cách nhập thông số . . . năng chọn giao diện vẽ 2D/3D . . . . . . . . . . . . . . . . năng mở tệp tin . . . . . . . . . . . . . . . . . . . . . . . . năng lưu bài toán . . . . . . . . . . . . . . . . . . . . . . . . năng lưu bài toán thành tệp . . . . . . . . . . . . . . . . . . năng đặt lại bài toán về mặc định . . . . . . . . . . . . . . năng hiển thị bài toán . . . . . . . . . . . . . . . . . . . . . năng phóng to/ Thu nhỏ mô hình hiển thị . . . . . . . . . . năng dịch chuyển mô hình hiển thị . . . . . . . . . . . . . . năng thay đổi góc nhìn của mô hình hiển thị . . . . . . . . năng chuyển bước kế tiếp/ lùi bước . . . . . . . . . . . . . . năng hiển thị thuộc tính . . . . . . . . . . . . . . . . . . . . năng thay đổi thuộc tính . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 36 37 42 43 44 45 46 47 48 49 50 51 52 53 54 55 vii Danh sách hình vẽ 2.1 2.2 2.3 2.4 2.5 GeoGebra-3D-1 . Geogebra-2D-1 . Geogebra-3D-2 . Geogebra-3D-3 . Cabri-3D-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 . 7 . 8 . 9 . 11 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 3.21 Phép biến hình . . . . . . . . . . . . . . . . . . . Phép tịnh tiến . . . . . . . . . . . . . . . . . . . Phép đối xứng trục . . . . . . . . . . . . . . . . Phép đối xứng tâm . . . . . . . . . . . . . . . . Phép quay . . . . . . . . . . . . . . . . . . . . . Phép dời hình . . . . . . . . . . . . . . . . . . . Phép vị tự . . . . . . . . . . . . . . . . . . . . . Phép đồng dạng . . . . . . . . . . . . . . . . . . Đường thẳng và mặt phẳng . . . . . . . . . . . . Hình chóp . . . . . . . . . . . . . . . . . . . . . Hình tứ diện . . . . . . . . . . . . . . . . . . . . Hai đường thẳng chéo nhau . . . . . . . . . . . . Hai đường thẳng song song . . . . . . . . . . . . Vị trí tương đối giữa đường thẳng và mặt phẳng Hai mặt phẳng song song . . . . . . . . . . . . . Hình lăng trụ . . . . . . . . . . . . . . . . . . . . Hình hộp . . . . . . . . . . . . . . . . . . . . . . Hình chóp cụt . . . . . . . . . . . . . . . . . . . Góc giữa hai đường thẳng trong không gian . . . Đường thẳng vuông góc với mặt phẳng . . . . . Hai mặt phẳng vuông góc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 13 14 15 15 16 17 17 18 18 19 19 19 20 20 21 21 21 22 22 23 viii Danh sách hình vẽ 3.22 3.23 3.24 3.25 3.26 Hình Hình Hình Hình Hình lăng trụ đứng hộp chữ nhật . lập phương . . chóp đều . . . chóp cụt đều . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 24 24 25 25 4.1 4.2 4.3 4.4 MDI . . . . . . . . . . . . . . . . . . . Luồng thực thi khi mở và lưu bài toán Cấu trúc của một Bài toán - Problem Sơ đồ use-case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 34 35 41 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13 5.14 5.15 5.16 5.17 Minh họa bài toán hiển thị nét đứt . . . . . . . . . . . Minh họa bài toán kéo dài đường thẳng tới giao điểm Danh sách mục lục bài toán . . . . . . . . . . . . . . . Danh sách mô hình . . . . . . . . . . . . . . . . . . . Thay đổi thuộc tính: Đổi màu . . . . . . . . . . . . . Thay đổi thuộc tính: Hiện -> ẩn . . . . . . . . . . . . Phóng to / Thu nhỏ . . . . . . . . . . . . . . . . . . . Dịch chuyển . . . . . . . . . . . . . . . . . . . . . . . Thay đổi góc nhìn . . . . . . . . . . . . . . . . . . . . Thêm hình vẽ có sẵn . . . . . . . . . . . . . . . . . . . Hiển thị thuộc tính . . . . . . . . . . . . . . . . . . . Trình bày bài toán theo các bước . . . . . . . . . . . . Trình bày bài toán theo các bước . . . . . . . . . . . . Hiển thị 2 cửa sổ song song . . . . . . . . . . . . . . . Biểu mẫu thêm điểm 3D . . . . . . . . . . . . . . . . Biểu mẫu tạo đường thẳng hoặc đoạn thẳng 3D . . . . Thanh công cụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 74 75 ix Thuật ngữ và từ viết tắt • 2-D: two-dimensional: không gian hai chiều. • 3-D: three-dimentional: không gian ba chiều. • API: Application Programming Interface: Phương thức trung gian kết nối các ứng dụng và thư viện khác nhau. • OpenGL: Open Graphics Library. • Render: kết xuất đồ họa - quá trình tạo một hình ảnh hai chiều hoặc ba chiều từ một mô hình hoặc nhiều mô hình bằng các chương trình ứng dụng thành một hình ảnh 3D, một nhân vật hoạt hình hay một cảnh phim nào đó. x 1 Giới thiệu đề tài 1.1 Động cơ nghiên cứu Bắt nguồn từ việc dạy và học ở môi trường Trung học Phổ thông, cụ thể là môn toán phần hình học đang trở nên khó khăn đối với phần lớn học sinh. Nguyên nhân là do các hình vẽ chỉ được phác họa trên nền giấy 2D, khó quan sát. Đồng thời, khi vẽ hình xong học sinh chỉ có thể quan sát một mặt của hình đã vẽ. Trong trường hợp vẽ sai góc độ, sai thông số, các hình vẽ sẽ trở nên rối rắm và phức tạp hơn nhiều lần. Trong khi đó, OpenGL là một thư viện đồ họa miễn phí và dễ tiếp cận, lại đa dụng trong việc vẽ hình, tạo ra hình không gian. Cũng như hiện nay nhóm em nhận thấy hầu như chưa có ứng dụng thiết kế sẵn mô hình các bài toán trong sách giáo khoa hình học lớp. Vì vậy nhóm đã nghiên cứu về OpenGL để có thể tạo ra chương trình giải quyết các vấn đề của hình học cấp Trung học Phổ thông nói chung, mà chủ yếu ở đây là tập trung vào chương trình hình học lớp 11. 1.2 Mục tiêu đề tài Xây dựng được một ứng dụng vẽ hình dễ quan sát, thao tác và thân thiện với người dùng ở lứa tuổi học sinh cũng như giáo viên, hỗ trợ việc giảng dạy cũng như 1 1.3 Các giai đoạn thực hiện đề tài học tập. Mục tiêu và các công việc cần thực hiện được: • Tìm hiểu, phân tích OpenGL và các kiến thức liên quan. • Tìm hiểu mô hình MDI của MFC • Tìm hiểu và tham khảo các công trình nghiên cứu liên quan. • Đề xuất một giải pháp hỗ trợ vẽ hình. • Hiện thực mô hình đã đề xuất, nghiên cứu cải thiện tốc độ, độ chính xác và trực quan của nó. • Đánh giá kết quả đạt được 1.2.1 Kết quả cần đạt Xây dựng một ứng dụng dựng sẵn các mô hình với các bài toán trong hình học phẳng và hình học không gian trong sách giáo khoa toán lớp 11, cũng như các thao tác với mô hình thuận tiện cho việc học và giảng dạy hơn. Đồng thời có thể hỗ trợ người dùng xây dựng mô hình với các bài toán khác. Ứng dụng hỗ trợ việc giải và chứng minh một vài bài toán đơn giản. 1.3 Các giai đoạn thực hiện đề tài Trong đề tài này, nhóm nghiên cứu sử dụng OpenGL cùng các thư viện hỗ trợ như gl, glu, glut phục vụ mục đích vẽ hình. Ngôn ngữ sử dụng sẽ là C++ trên Visual Studio 2022. Thiết kế giao diện với mô hình MFC. Để thực hiện đề tài và hoàn thành các mục tiêu đã đặt ra, nhóm đã tiến hành xây dựng kế hoạch cụ thể như sau: • Vẽ các bài toán đơn giản dựa trên các hàm cơ bản của OpenGL với giao diện được hỗ trợ bởi thư viện glut. 2 1.4 Ý nghĩa đề tài • Thiết kế các mô hình hình vẽ cần thiết dựa trên những bài toán đã vẽ và xây dựng, viết hàm hiển thị cho từng mô hình riêng biệt • Hiện thực các hàm để người dùng thao tác bằng chuột với mô hình hiển thị giúp dễ quan sát hơn • Giải quyết các bài toán nảy sinh: Thay đổi góc nhìn của mô hình trong không gian 3D bằng chuột, vẽ các đường bị khuất bằng nét đứt dựa vào cơ chế chiều sâu của OpenGL • Xây dựng lớp chứa, tạo và quản lý danh sách hình vẽ • Xây dựng lớp quản lý hiển thị và thao tác với hình vẽ để người dùng thao tác bằng chuột với mô hình hiển thị giúp dễ quan sát hơn • Xây dựng lại bài toán dựa trên các lớp đã viết trước đó như lớp quản lý hình vẽ, lớp quản lý hiển thị • Xây dựng các hàm để đọc mô hình từ tệp và lưu mô hình vào tệp thuận tiện cho việc lưu trữ mô hình, cũng như giảm thiểu thời gian biên dịch mã nếu có thay đổi mã trong hệ thống. • Viết giao diện MFC cơ bản • Chuyển mô hình đã xây dựng từ giao diện glut vào giao diện MFC MDI • Hiện thực các tính năng hiển thị, thao tác với màn hình chính như mục lục, hiện mô hình khi chọn bài toán, hiện thông tin bài toán, liệt kê danh sách các mô hình được vẽ, hiển thị và thay đổi thuộc tính của hình vẽ. 1.4 Ý nghĩa đề tài • Giúp cho việc giảng dạy bộ môn một các nhanh chóng, dễ dàng. • Có thể giải quyết các nhu cầu liên quan đến hình học phẳng và không gian. • Tăng cường sự trực quan và quan sát thực tế, nâng cao khả năng truyền đạt kiến thức của giáo viên cũng như khả năng tiếp thu của học sinh. • Tiếp cận và hiểu hơn cơ chế hoạt động của OpenGL cũng như MFC. 3 1.5 Cấu trúc báo cáo luận văn 1.5 Cấu trúc báo cáo luận văn Phần còn lại của luận văn gồm các chương sau: • Chương 2. Công trình nghiên cứu liên quan: Trình bày các mô hình giải pháp sử dụng và công trình nghiên cứu liên quan. Đánh giá được ưu nhược điểm của các mô hình. • Chương 3. Kiến thức nền tảng Trình bày các kiến thức nền tảng liên quan, các thư viện sẽ áp dụng trong chương trình • Chương 4. Thiết kế chương trình: Mô tả chi tiết các kiến trúc được sử dụng. Hiện thực, xây dựng chương trình sử dụng các kiến trúc đã mô tả. • Chương 5. Hiện thực chương trình: Trình bày các bài toán và khó khăn gặp phải trong quá trình xây dựng chương trình, các hình ảnh của chương trình • Chương 6. Tổng kết: Tổng kết kết quả đạt được, đánh giá ưu nhược điểm và nêu ra phương hướng phát triển trong tương lai. 4 2 Công trình nghiên cứu liên quan 2.1 GeoGebra 2.1.1 Giới thiệu GeoGebra là phần mềm học toán được thiết kế bởi giáo sư người Áo tên Markus Hohenwate dành cho các lớp học toán ở trường trung học cơ sở và bất cứ người dùng nào sử dụng hình học, đại số, ưu điểm của phần mềm học toán là kết hợp công cụ hình học linh hoạt, cho phép bạn nhập trực tiếp các phương trình và toạ độ, khả năng tạo các điểm, vector, đường thẳng, đoạn thẳng, tiết diện conic, sử dụng các công cụ cài sẵn khác và xử lý các biến vector, số và điểm. GeoGebra hỗ trợ nhiều ngôn ngữ, bao gồm tài liệu Trợ giúp trên Web hữu ích, diễn đàn và wiki nhờ có cộng đồng người dùng và nhà phát triển. GeoGebra yêu cầu hoạt động trong môi trường thời gian thực Java. Geogebra có thể vẽ tất cả các hình trong toán học như đường thẳng, hình tròn, hình tam giác, hình vuông, ngũ giác, lục giác. . . và các hình đồ thị cho đại số như parabol, hypebol, hỗ trợ vẽ nhiều hàm số trên cùng một trục tung và trục hoành để thuận tiện hơn cho việc học tập. Ngoài ra, đây cũng là một trong những phần mềm vẽ hình không gian hiệu quả. 5 2.1 GeoGebra 2.1.2 Thực nghiệm với Geogebra Chương trình thực nghiệm bài toán trong sách giáo khoa hình học lớp 11 Trong mp(P) cho tứ giác lồi ABCD có các cạnh AB và CD không song song ; ngoài mp(P) cho một điểm S. Hãy tìm giao tuyến của : a) Hai mặt phẳng (SAC) và (SBD). b) Hai mặt phẳng (SAB) và (SCD). "Bài 4 - Trang 44 SGK hình học lớp 11 nâng cao" Hình 2.1: GeoGebra-3D-1 6
- Xem thêm -

Tài liệu liên quan