ĐẠ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 A萎K"J窺E"SW渦E"IKC"VR0JEO E浦PI"JñC"ZÊ"J浦K"EJ曳"PIJ C"XK烏V"PCO ---------- A瓜e"n壱r"- V詠"fq"- J衣pj"rj¿e VT姶云PI"A萎K"J窺E"DèEJ"MJQC KHOA: KH & KT MÁY TÍNH PJK烏O"X影"NW一P"èP"V渦V"PIJK烏R D浦"OðP< KHMT Ej¿"#<"Ukpj"xk‒p"rjVk"fƒp"vぜ"p {"x q"vtcpi pjXv"eてc"dVp"vjw{xv"vt·pj J窺"XÉ"VçP< NGUY右P"RJ萎O"RJ姶愛PI"VY MSSV: 1614198 NGÀNH: KHOA H窺E"OÁY TÍNH N閏R< 30"A亥w"8隠"nw壱p"ƒp< EJ姶愛PI"VTîPJ"J姥"VT営"F萎["XÉ"J窺E"OðP"JîPJ"J窺E"N閏R"33 40"Pjk羽o"x映"*{‒w"e亥w"x隠"p瓜k"fwpi"x "u嘘"nk羽w"dcp"8亥w+< c+"V·o"jk吋w"QrgpIN"x "OHE d+"V·o"jk吋w"x隠"o»p"j·pj"j丑e"n噂r"33 e+"V·o"jk吋w eƒe"ik違k"vjw壱v"x胤"j·pj"rj映e"x映"ejq"o»p"j·pj"j丑e"n噂r"33 f+"Xk院v"ej逢挨pi"vt·pj 50"Pi {"ikcq"pjk羽o"x映"nw壱p"ƒp< 04/09/2021 60"Pi {"jq p"vj pj"pjk羽o"x映< 28/02/2022 70"J丑"v‒p"ik違pi"xk‒p"j逢噂pi"f磯p< VT井P"IKCPI"U愛P Rj亥p"j逢噂pi"f磯p< vq p"d瓜 P瓜k"fwpi"x "{‒w"e亥w"NXVP"8«"8逢嬰e"vj»pi"swc"D瓜"o»p0 Pi {"47"vjƒpi"2:"p<o"4243 EJ曳"PJK烏O"D浦"OðP IK謂PI"XKçP"J姶閏PI"F郁P"EJëPJ *M#"x "ijk"t "jが"tên) *M#"x "ijk"t "jが"v‒p+ Jw pj"V逢運pi"Piw{‒p Vt亥p"Ikcpi"U挨p RJYP"FÉPJ"EJQ"MJQC."Dし"OðP< Pi逢運k"fw{羽v"*ej医o"u挨"d瓜+<________________________ A挨p"x鵜< _______________________________________ Pi {"d違q"x羽< __________________________________ Ak吋o"v鰻pi"m院v< _________________________________ P挨k"n逢w"vt英"nw壱p"ƒp< _____________________________ VT姶云PI"A萎K"J窺E"DèEJ"MJQC E浦PI"JñC"ZÊ"J浦K"EJ曳"PIJ C"XK烏V"PCO KHOA KH & KT MÁY TÍNH A瓜e"n壱r"- V詠"fq"- J衣pj"rj¿e ---------------------------- Ngày 28 tháng 2 p<o 2022 RJK蔭W"EJ遺O"D謂Q"X烏"NXVP (Dàpj"ejq"pi⇔ぜk"j⇔ずpi"fdp) 30"J丑"x "v‒p"UX< Piw{宇p"Rj衣o"Rj逢挨pi"Vy MSSV: 1614198 Ngành (chuyên ngành): 40"A隠"v k< EJ姶愛PI"VTîPJ"J姥"VT営"F萎["XÉ"J窺E"OðP"JîPJ"J窺E"N閏R"33 3. J丑"v‒p"pi逢運k"j逢噂pi"f磯p: Vt亥p"Ikcpi"U挨p 60"V鰻pi"swƒv"x隠"d違p"vjw{院v"okpj< U嘘"vtcpi< 79 U嘘"ej逢挨pi< 6 U嘘"d違pi"u嘘"nk羽w: 17 U嘘"j·pj"x胤< 52 U嘘"v k"nk羽w"vjco"mj違q< 7 Rj亥p"o隠o"v pj"vqƒp< Jk羽p"x壱v"*u違p"rj育o+<"Ej逢挨pi"vt·pj"oƒ{"v pj 70"V鰻pi"swƒv"x隠"eƒe"d違p"x胤< - U嘘"d違p"x胤< D違p"C3< D違p"C4< Mj鰻"mjƒe< - U嘘"d違p"x胤"x胤"vc{ U嘘"d違p"x胤"vt‒p"oƒ{"v pj< 80"Pj英pi"逢w"8k吋o"ej pj"e栄c"NXVP< - Ukpj"xk‒p"8«"eぐ"ihpi"tXv"pjkzw"vtqpi"swƒ"vt·pj"vjばe"jkうp"8z"e⇔¬pi"nwfp"x<p"vぐv"pijkうr"e pi" pj⇔"nwfp"x<p"vぐv"pijkうr0 - Ukpj"xk‒p"8«"v·o"jkあw"pjのpi"e»pi"pijう"x "mkxp"vjとe"pzp"vVpi"eZp"vjkxv"8あ"vjばe"jkうp"nwfp"x<p" vぐv"pijkうr"pj⇔"QrgpIN."OHE0 - Z¤{"fばpi"8⇔ぢe"ej⇔¬pi vt·pj"jざ"vtぢ"vjZ{"e»"ikƒq"x "jがe"ukpj"vtqpi"xkうe"fT{"x "jがe"o»p"j·pj" jがe"nずr"330 90"Pj英pi"vjk院w"u„v"ej pj"e栄c"NXVP< - Vjcq"vƒe"ejえpj"uぬc"eƒe"j·pj"xv"rjVk"vj»pi"swc"eƒe"dkあw"odw."p‒p"ejq"ejえpj"uぬc"vtばe"swcp" ngay trên hình.
:0"A隠"pij鵜<"A逢嬰e"d違q"x羽"Z D鰻"uwpi"vj‒o"8吋"d違q"x羽"¸ Mj»pi"8逢嬰e"d違q"x羽"¸ ;0"5"e¤w"j臼k"UX"rj違k"vt違"n運k"vt逢噂e"J瓜k"8欝pi< 320"Aƒpj"ikƒ"ejwpi"*d茨pi"ej英<"ik臼k."VD+< Ak吋o"<"";/10 M#"v‒p"*ijk"t "j丑"v‒p+ VT姶云PI"A萎K"J窺E"DèEJ"MJQC E浦PI"JñC"ZÊ"J浦K"EJ曳"PIJ C"XK烏V"PCO KHOA KH & KT MÁY TÍNH A瓜e"n壱r"- V詠"fq"- J衣pj"rj¿e ---------------------------- Ngày 28 tháng 02 p<o 2022 RJK蔭W"EJ遺O"D謂Q"X烏"NXVP *F pj"ejq"pi⇔ぜk"j⇔ずpi"fdp1rjVp"dkうp+ 30"J丑"x "v‒p"UX< Ngw{宇p"Rj衣o"Rj逢挨pi"X{ MSSV: 1614198 Ngành (chuyên ngành): Mjqc"J丑e"Oƒ{"V pj 40"A隠"v k< CH姶愛PI"VTîPJ"J姥"VT営"F萎["XÉ"J窺E"OðP"JîPJ"J窺E"N閏R"33 50"J丑"v‒p"pi逢運k"j逢噂pi"f磯p1rj違p"dk羽p< Piw{宇p"Pi丑e"N宇 60"V鰻pi"swƒv"x隠"d違p"vjw{院v"okpj< U嘘"vtcpi< 78 U嘘"ej逢挨pi< 6 U嘘"d違pi"u嘘"nk羽w 17 U嘘"j·pj"x胤< 52 U嘘"v k"nk羽w"vjco"mj違q< 7 Rj亥p"o隠o"v pj"vqƒp< Jk羽p"x壱v"*u違p"rj育o+<"Ej逢挨pi"vt·pj"oƒ{"v pj 70"V鰻pi"swƒv"x隠"eƒe"d違p"x胤< - U嘘"d違p"x胤< D違p"C3< D違p"C4< Mj鰻"mjƒe< - U嘘"d違p"x胤"x胤"vc{ U嘘"d違p"x胤"vt‒p"oƒ{"v pj< 80"Pj英pi"逢w"8k吋o"ej pj"e栄c"NXVP< - J厩"vt嬰"v逢挨pi"vƒe"vt詠e"swcp"ejq"j丑e"ukpj"n噂r"33"o»p"j·pj"j丑e"mj»pi"ikcp - A逢c"tc"v瑛pi"d逢噂e"x胤"j·pj"違pj"ejq"pi逢運k"f́pi"mk吋o"vtc"t "t pi - Ej逢c"vj医{"rj亥p"o隠o"p q"j厩"vt嬰"o»p"j·pj"j丑e"ejq"j丑e"ukpj 90"Pj英pi"vjk院w"u„v"ej pj"e栄c"NXVP< - Xk院v"dƒq"eƒq"nw壱p"x<p"e”p"swƒ"e»"8瓜pi."ej逢c"vtk吋p"mjck"ejk"vk院v"j挨p"8吋"vj医{"8逢嬰e"mk院p"vj泳e."vjw壱v" vqƒp"o "ukpj"xk‒p"8«"x壱p"f映pi"e pi"pj逢"swƒ"vt·pj"n o :0"A隠"pij鵜<"A逢嬰e"d違q"x羽"Z D鰻"uwpi"vj‒o"8吋"d違q"x羽"¸ Mj»pi"8逢嬰e"d違q"x羽"¸ ;0"5"e¤w"j臼k"UX"rj違k"vt違"n運k"vt逢噂e"J瓜k"8欝pi< a. Skpj"xk‒p"ej丑p"v丑c"8瓜"e詠e"o "mj»pi"ej丑p"v丑c"8瓜"8欝pi"pj医v, lý do? b. N#"fq"ejw{吋p"o»"j·pj"8«"z¤{"f詠pi"v瑛"ikcq"fk羽p"inwv"x q"ikcq"fk羽p"OHEA c. A«"v·o"jk吋w"eƒej"8吋"ej衣{"vt‒p"8c"p隠p"v違pi"ej逢cA 320"Aƒpj"ikƒ"ejwpi"*d茨pi"ej英<"ik臼k."VD+< Ik臼k Ak吋o"<"""""""8.5/10 M#"v‒p"*ijk"t "j丑"v‒p+ 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.1 Động cơ nghiên cứu .2 Mục tiêu đề tài .1 Kết quả cần đạt .3 Các giai đoạn thực hiện đề tài .5 Cấu trúc báo cáo luận văn.
4 2 Công trình nghiên cứu liên quan 5 2.2 Thực nghiệm với Geogebra .3 Một số thực nghiệm khác .2 Thực nghiệm với Cabri 3D. 10 iv Mục lục 2. 11 3 Kiến thức nền tảng 12 3.1 Lý thuyết cơ bản về hình học 11 .1 Hình học phẳng .2 Hình học không gian .2 Cơ chế hoạt động của OpenGL .3 Tác dụng của OpenGL .4 Các hàm của OpenGL được sử dụng trong chương trình .1 Single-Document Interface (SDI): .2 Multiple-Document Interface (MDI):. 31 4 Thiết kế chương trình 32 4.1 Kiến trúc hệ thống .2 Các đối tượng chính của chương trình .1 Các class ứng với mô hình MDI của MFC .2 Các class và namespace của mô hình bài toán - Problem .3 Yêu cầu hệ thống .1 Yêu cầu phi chức năng .2 Yêu cầu chức năng.
40 5 Hiện thực chương trình 56 5.1 Các bài toán và khó khăn gặp phải .1 Lượng tính toán nhiều .2 Bài toán thay đổi góc nhìn bằng thao tác chuột (trong không gian 3D) .3 Bài toán hiển thị nét đứt cho các đường bị khuất (trong không gian 3D) .4 Bài toán kéo dài đường thẳng tới giao điểm .2 Giao diện chương trình .1 Hiển thị mục luc - danh sách các bài toán được thiết kế sẵn 62 5.2 Hiển thị danh sách các đối tượng hình vẽ của bài toán .3 Thay đổi thuộc tính của hình vẽ .4 Phóng to/ Thu nhỏ .6 Thay đổi góc nhìn .7 Thêm hình vẽ có sẵn .8 Hiển thị thuộc tính .9 Trình bày bài toán theo các bước .10 Hiển thị 2 cửa số song song .11 Biểu mẫu thêm hình vẽ .12 Thanh công cụ .1 Kết quả đạt được .2 Đánh giá chương trình .2 Nhược điểm .3 Hướng phát triển. 77 Tài liệu tham khảo 78 vi Danh sách bảng 4.4 Chức năng thêm đối tượng hình vẽ bằng cách chọn hình vẽ có sẵn .5 Chức năng thêm đối tượng hình vẽ bằng cách nhập thông số .6 Chức năng chọn giao diện vẽ 2D/3D .7 Chức năng mở tệp tin .8 Chức năng lưu bài toán .9 Chức năng lưu bài toán thành tệp .10 Chức năng đặt lại bài toán về mặc định .11 Chức năng hiển thị bài toán .12 Chức năng phóng to/ Thu nhỏ mô hình hiển thị .13 Chức năng dịch chuyển mô hình hiển thị .14 Chức năng thay đổi góc nhìn của mô hình hiển thị .15 Chức năng chuyển bước kế tiếp/ lùi bước .16 Chức năng hiển thị thuộc tính .17 Chức năng thay đổi thuộc tính. 55 vii Danh sách hình vẽ 2.1 Phép biến hình .2 Phép tịnh tiến .3 Phép đối xứng trục .4 Phép đối xứng tâm .6 Phép dời hình .7 Phép vị tự .8 Phép đồng dạng .9 Đường thẳng và mặt phẳng .11 Hình tứ diện .12 Hai đường thẳng chéo nhau .13 Hai đường thẳng song song .14 Vị trí tương đối giữa đường thẳng và mặt phẳng .15 Hai mặt phẳng song song .16 Hình lăng trụ .18 Hình chóp cụt .19 Góc giữa hai đường thẳng trong không gian .20 Đường thẳng vuông góc với mặt phẳng .21 Hai mặt phẳng vuông góc. 23 viii Danh sách hình vẽ 3.22 Hình lăng trụ đứng .23 Hình hộp chữ nhật .24 Hình lập phương .25 Hình chóp đều .26 Hình chóp cụt đều .2 Luồng thực thi khi mở và lưu bài toán .3 Cấu trúc của một Bài toán - Problem .1 Minh họa bài toán hiển thị nét đứt .2 Minh họa bài toán kéo dài đường thẳng tới giao điểm .3 Danh sách mục lục bài toán .4 Danh sách mô hình .5 Thay đổi thuộc tính: Đổi màu .6 Thay đổi thuộc tính: Hiện -> ẩn .7 Phóng to / Thu nhỏ .9 Thay đổi góc nhìn .10 Thêm hình vẽ có sẵn .11 Hiển thị thuộc tính .12 Trình bày bài toán theo các bước .13 Trình bày bài toán theo các bước .14 Hiển thị 2 cửa sổ song song .15 Biểu mẫu thêm điểm 3D .16 Biểu mẫu tạo đường thẳng hoặc đoạn thẳng 3D .17 Thanh công cụ.
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.