羅翔升,李軍成
(湖南人文科技學院 數學與金融學院,湖南 婁底 417000)
MATLAB是一種科學計算軟件,它將強大的數值計算以及可視化集成在一起,能廣泛用于科學計算、控制系統的設計與仿真、數字圖像處理等領域[1]。MATLAB的圖形用戶界面(GUI)是一種可視化工具,用戶可以借助GUI的圖形化控件和靜態元進行簡單設置并編寫回調函數,創建與設計可視化的交互界面,從而實現仿真、繪圖等可視化操作[2]。
解析幾何是高校數學類專業的一門基礎課程,也是各理工科專業高等數學課程中的一個重要教學模塊。在解析幾何的教學實踐中,基本的教學任務是幫助學生理解和正確認識幾何空間,培養學生的空間想象能力[3]。目前解析幾何課程的教學手段還較為傳統,許多曲線與曲面的圖形很難通過傳統的教學手段展示出來,不利于教學的進行以及學生的掌握和理解。若能基于MATLAB_GUI設計一個用于演示解析幾何課程中一些常見曲線與曲面圖形的系統,對該課程的教學與學習具有重要的輔助作用。然而,利用MATLAB_GUI設計解析幾何圖形演示系統的卻并不多見。為此,本文基于MATLAB_GUI設計了一個解析幾何圖形演示系統,該系統包含平面曲線、空間曲線、曲面等3個子界面,各個子界面分別包括一些特殊曲線曲面和自定義曲線曲面的演示模塊,用戶只需點擊相應的按鈕或輸入相應的參數即可實現圖形的演示。
當所設計的界面包含多個子界面時,為了便于訪問不同的子界面,需要設計一個總界面,在總界面通過鼠標交互實現各子界面的訪問[4]。由于解析幾何中的圖形可分為平面曲線、空間曲線、曲面,故本文設計了一個包括3個子界面的總界面,用戶通過點擊不同的按鈕進入相應的子界面。總界面的設計如圖1所示,運行后的演示效果如圖2所示。
利用GUIDE工具建立GUI界面,在界面中放置坐標軸、按鈕組、單選按鈕控件[5-6],將各個控件的屬性設置成與平面曲線相關的元素。按照按鈕組內的單選按鈕同時只能選中一個為原理,對按鈕組編寫SelectionChangedFcn回調函數,在生成的m文件中,利用get函數獲取按鈕組內各個單選按鈕的Tag值[7-8],然后再利用switch語句,以Tag值為分支條件編寫不同的繪圖語句繪出相應的圖形。所設計的平面曲線子界面包括心形線、星形線、四葉玫瑰線、對數螺線、笛卡爾葉形線、結、伯努利雙紐線、三葉草等平面曲線的演示,用戶只需點擊右側按鈕組內的單選按鈕即可在左側的坐標系中繪出相應的圖形,同時也可點擊返回按鈕退回到總界面。平面曲線子界面如圖3所示,運行后的演示效果如圖4所示。
另外,為了滿足繪制其它平面曲線的需求,本文還在平面曲線子界面中設計了自定義平面曲線的繪圖模塊。利用該模塊,用戶可自行輸入平面曲線的參數表達式并指定X、Y軸的寬度來實現自定義平面曲線的繪制。在設計自定義平面曲線繪圖模塊之前,為了更為便捷地訪問該模塊,本設計使用菜單編輯器在平面曲線子界面上設置菜單欄,并設置相關屬性以及回調函數,通過鼠標交互即可彈出自定義平面曲線繪圖模塊。自定義平面曲線繪圖模塊的設計如圖5所示,運行后的演示效果如圖6所示。

圖1 總界面的設計

圖2 總界面的演示

圖3 平面曲線子界面的設計

圖4 平面曲線子界面的演示

圖6 自定義繪圖模塊的演示
類似平面曲線GUI演示界面的設計,使用GUIDE工具,擺放相關控件并編寫按鈕組的SelectionChangedFcn的回調函數,利用分支語句寫入不同的繪圖代碼實現空間曲線子界面的設計。所設計的空間曲線子界面包括花瓶線、等高線、“冒頂”曲線、“酒精燈”線、圓錐螺線等空間曲線的演示,用戶只需點擊右側按鈕組內的單選按鈕即可在左側的坐標系中繪出相應的圖形,同時也可點擊返回按鈕退回到總界面。空間曲線子界面的設計如圖7所示,運行后的演示效果如圖8所示。

圖7 空間曲線GUI 演示界面的設計

圖8 空間曲線GUI 繪圖演示
利用類似的方法可以設計出曲面子界面,所設計的曲面常見二次曲面的演示,用戶只需點擊右側按鈕組內的單選按鈕即可在左側的坐標系中繪出相應的圖形,同時也可點擊返回按鈕退回到總界面。空間曲線子界面的設計如圖9所示,運行后的演示效果如圖10所示。

圖9 曲面子界面

圖10 曲面子界面的演示
另外,與平面曲線子界面中自定義繪圖模塊的設計類似,本設計也為也為空間曲線、曲面這2個子界面設計了自定義圖形的繪圖模塊,這里不再贅述。
為了便捷地演示解析幾何中的一些特殊圖形和自定義圖形,本文基于MATLAB的GUI平臺設計了一個解析幾何圖形演示系統。該系統由平面曲線、空間曲線、曲面等3個子界面組成,用戶只需點擊相應的按鈕或輸入相應的參數即可實現解析幾何中一些特殊圖形與自定義圖形的繪制。所涉及的演示系統界面美觀、操作簡便、功能齊全,為解析幾何的教學與學習提供一個有效的輔助平臺。