ĐẠ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
D7uPKLӇX2SHQ*/Yj0)&
E7uPKLӇXYӅP{QKuQKKӑFOӟS
F7uPKLӇX FiFJLҧLWKXұWYӁKuQKSKөFYөFKRP{QKuQKKӑFOӟS
G9LӃ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\ӋWFKҩ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ұWVҧ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͉XWURQJTXiWUuQKWKFKL͏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ÿ͋WKFKL͏QOX̵QYăQ
W͙WQJKL͏SQK˱2SHQ*/0)&
;k\GQJÿ˱ͫ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͵DWUFTXDQ
ngay trên hình.
ĈӅQJKӏĈѭӧFEҧRYӋ;
%әVXQJWKrPÿӇEҧRYӋ
FkXKӓL69SKҧLWUҧOӡLWUѭӟF+ӝLÿӗQJ
ĈiQKJLiFKXQJEҵQJFKӳJLӓLNKi7%
.K{QJÿѭӧFEҧRYӋ
ĈLӇP/10
.êWrQJKLU}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ұWVҧ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"
ĈiQKJLiFKXQJEҵQJFKӳJLӓLNKi7% *LӓL
ĈLӇP8.5/10
.êWrQJKLU}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 -