劉 培,張嘉璇,陳永強,于 翔
(天津城建大學,天津)
隨著計算機科學技術的發展,人們對數學的學習和交流產生了更高的需求。然而,由于數學公式不能像字母和文字那樣易于在互聯網中傳播,數學圖形的在線編輯也存在很大的難度,這不利于數學知識的有效傳播。
當前,數學網站可分為兩個主要類別,一類是提供數學知識的在線教育平臺,例如Coursera、Khan Academy、edX 等;另一類是提供數學工具和資源的在線平臺,例如Wolfram Alpha、Desmos 等。這兩類平臺在數學學習和研究方面都非常有用,但它們在數學公式和圖形顯示上都存在一些缺陷。
為了解決這些問題,需要建立一個數學網站,支持LaTeX 語言、數學可視化以及數學公式和圖形的在線組合顯示。
網站應具備以下功能:
(1) 支持LaTeX 語言:數學網站應該具備La-TeX 語言的編寫和顯示功能,能夠讓用戶更容易輸入復雜的數學公式,并確保數學公式的排版質量。
(2) 數學可視化:數學網站應提供強大的數學可視化工具,使用戶更好地理解和研究數學問題。這些工具可以包括二維和三維圖形的繪制、動畫演示、交互式作圖等功能。
(3) 在線編輯和組合顯示:數學網站應該支持在線編輯數字,并能夠結合數學公式和圖形進行顯示。這可以讓用戶更直觀地理解數學公式和圖形之間的關系,同時方便用戶進行教學和學習。
除此之外,數學網站也應該具備其他需求,例如可以上傳、下載和共享數學公式和圖形、提供各種數學文獻的數據庫、提供在線的數學測試和題庫等。這些功能對于數學愛好者、學生和研究員來說都非常重要。這樣的網站體現了美學和功能性的結合,促進了數學學者之間的交流和交流數學思想和知識的傳播。它還滿足了大學教師和學生以及數學愛好者的教學和學習需求[1]。
開發工具:Moodle 系統。Moodle 是一種廣泛使用的開源學習管理系統,可創建在線課程和虛擬學習環境。依據其具有的可擴展性和靈活性特點,可以根據不同的學習和教學需求進行自定義配置。Moodle 也可以與其他系統集成,例如視頻會議系統、課程管理系統等,以支持更多的學習和教學功能。
依據其具有的可擴展性和靈活性特點,可以根據不同的學習和教學需求進行自定義配置[2]。以下為具體開發流程:
(1) 下載虛擬機和Moodle 系統,虛擬機是為了在本地搭建Moodle 平臺的開發環境,Moodle 則是我們要在搭建的環境中運行的學習管理系統。
(2) 在虛擬機中配置Moodle 的運行環境,包括數據庫、Web 服務器、PHP 等多個組件,保證Moodle 能夠正常運行。
(3) 申請一個動態域名,這個域名將會作為Moodle 平臺的訪問地址,便于學習者在任何地方都能夠方便地訪問Moodle 平臺,從而進行學習和教學。
(4) 將申請到的動態域名映射到虛擬機的IP地址,這樣能通過域名來訪問Moodle 平臺。需要注意的是,如果IP 地址是動態的,那么每次重新撥號后IP 地址會發生變化,這時候需要重新更新DNS記錄,確保域名仍然能夠正確地映射到新的IP 地址上。
(5) 通過步驟3 中申請的動態域名來生成Moodle 平臺的網址,這個網址將會作為訪問Moodle平臺的入口。
此設計不需要購買域名、服務器,只需要一臺能夠上網的計算機,極大減小了試錯成本。開發流程如圖1 所示。

圖1 開發流程
開發工具:MathJax 插件。MathJax 是一種用于網頁中呈現數學公式的開源Java-Script 引擎。它可以在支持JavaScript 的任何網頁中使用,因此它可跨平臺使用,包括可以在不同操作系統和瀏覽器中使用,這就使得開發的網站具有良好的跨瀏覽器兼容性。此外,MathJax 也支持移動設備和屏幕閱讀器,為網站提供了一種便捷、靈活和可訪問的數學公式呈現解決方案[3]。下面介紹具體操作。
首先在MathJax 官網上下載最新的插件安裝包,然后進入Moodle 系統中的插件管理,再將下載好的插件包安裝進Moodle 系統,最后調整公式編輯器的優先級,即將MathJax 編輯器設置為最高級。公式編輯器效果如圖2 所示。

圖2 公式編輯器效果
開發工具:GeoGebra 軟件。GeoGebra 是一款集代數、幾何、統計、微積分及其他數學功能于一體的動態數學軟件,也是一款免費開源軟件,同時,GeoGebra 還提供了一些工具和功能,例如動畫、求解器、3D 視圖等。網站中集成GeoGebra,使網站真正實現了數學可視化功能,增強了數學知識與理論的直觀性,提供了優秀的數學探索工具,增加了數學學習的趣味性,便于學習者借助數形結合的思想來更好地理解和探索數學概念和問題、提高學習效率[4]。下面介紹具體操作。
首先進入Moodle 系統官方插件下載網頁,再搜索GeoGebra,然后下載所有的GeoGebra 安裝包,最后將GeoGebra 植入Moodle 系統。完成上述步驟之后我們就可以在網站內打開圖像編輯器。
我們不僅提供了豐富的數學內容和資源,還通過在線交互、測試和評估等方式,幫助用戶提升數學能力和素質,促進數學教育的發展和進步。用戶可以通過該網站參與線上學習,訪問不同級別的數學課程和學習資源,還可以通過論壇等在線工具與其他學習者交流討論數學問題。
圖3 為基礎功能的簡要介紹。

圖3 網站基礎功能
3.2.1 數學公式
我們為用戶提供數學公式編輯器頁面,此頁面允許用戶據提供的函數及符號自主選擇自己需要的符號并進行排版公式,也允許用戶使用LaTeX 編碼自主排版數學公式,系統會根據輸入的值自動生成數學公式代碼嵌入網頁,使所需公式可以規范地展示在頁面中。圖4 以式子為例展示了數學公式網頁代碼。

圖4 數學公式網頁代碼
3.2.2 在線畫圖
通過本網站,用戶可以創建、編輯和共享各種數學對象和公式,包括點、線、面、體、場、函數、矢量、導數、積分等等。我們提供了一個直觀的圖形用戶界面,使用戶可以輕松地、規范地創建和操作數學對象,并將它們組合在一起以形成更復雜的結構。
圖形用戶界面:用戶可以用鼠標輕松地創建和編輯數學對象,而不需要復雜的編程或代碼知識。我們的用戶界面是基于圖形編輯器的,而非LaTeX 代碼編輯器。
共享和合作:支持用戶間的共享和協作,每個用戶都可以創建自己的工作區,將數學對象和公式保存到個人的存儲空間中。同時,用戶還可以與其他用戶或共享工作區中的對象和公式合作,完成更復雜、更有創意的數學建模和設計。
多種格式輸出:支持多種格式輸出數學對象和公式,包括圖片、矢量圖形、LaTeX 代碼等,方便用戶進行文檔或演示時的展示與應用。
網頁特色功能的效果如圖5 所示。

圖5 網頁效果
測試用例:
UI 測試:檢查各頁面的風格是否統一,圖片是否可以正常顯示,欄目名稱、文章內容等地方文字是否正確,特別檢查數學符號、公式等是否可以正常顯示,沒有亂碼,是否可以正常使用GeoGebra 進行可視化。
兼容性測試:檢查網站是否可以在不同的瀏覽器中正常使用,例如日常作用較多的瀏覽器:Edge 瀏覽器、Chrome 瀏覽器、Firefox 瀏覽器、Safari 瀏覽器等。
性能測試:檢查網站的性能表現是否理想,例如頁面加載速度、響應時間、并發用戶數等,以確保網站在大流量情況下也能保持優秀的性能。
安全性測試:檢查網站的安全性表現是否良好,例如是否存在SQL 注入、XSS 攻擊、CSRF 攻擊等網絡攻擊行為,是否有足夠的安全防護措施等。
維護性測試:檢查網站是否容易維護,例如是否有易于維護的代碼、易于修改布局和設計的模板、合理的文件組織結構等等。
通過以上各項測試,可以確保平臺的功能完整、穩定性好、性能表現優秀、安全性高、易于維護等,為用戶提供一個高品質的數學建模和設計平臺。
經過以上各方面的測試,本網站完全達到設計要求和目標。
本網站基于Moodle 系統,集成了當前最流行的MathJax 插件和GeoGebra 軟件,利用其強大的跨平臺性和兼容性及有益的功能,設計和開發了具有規范排版數學公式及數學可視化功能的數學學習交流網站。網站的建立,為用戶提供了良好的學習平臺,有利于數學知識與理論的交流與傳播。隨著互聯網技術的發展,我們也會就如何為數學愛好者提供更好的學習交流服務,如何讓網站更加具有準確性,如何提升網站的使用體驗等提出更多思考與解答。