基于Matlab_GUI的解析几何图形演示系统
2021-07-30罗翔升李军成
罗翔升,李军成
(湖南人文科技学院 数学与金融学院,湖南 娄底 417000)
0 引言
MATLAB是一种科学计算软件,它将强大的数值计算以及可视化集成在一起,能广泛用于科学计算、控制系统的设计与仿真、数字图像处理等领域[1]。MATLAB的图形用户界面(GUI)是一种可视化工具,用户可以借助GUI的图形化控件和静态元进行简单设置并编写回调函数,创建与设计可视化的交互界面,从而实现仿真、绘图等可视化操作[2]。
解析几何是高校数学类专业的一门基础课程,也是各理工科专业高等数学课程中的一个重要教学模块。在解析几何的教学实践中,基本的教学任务是帮助学生理解和正确认识几何空间,培养学生的空间想象能力[3]。目前解析几何课程的教学手段还较为传统,许多曲线与曲面的图形很难通过传统的教学手段展示出来,不利于教学的进行以及学生的掌握和理解。若能基于MATLAB_GUI设计一个用于演示解析几何课程中一些常见曲线与曲面图形的系统,对该课程的教学与学习具有重要的辅助作用。然而,利用MATLAB_GUI设计解析几何图形演示系统的却并不多见。为此,本文基于MATLAB_GUI设计了一个解析几何图形演示系统,该系统包含平面曲线、空间曲线、曲面等3个子界面,各个子界面分别包括一些特殊曲线曲面和自定义曲线曲面的演示模块,用户只需点击相应的按钮或输入相应的参数即可实现图形的演示。
1 总界面的设计
当所设计的界面包含多个子界面时,为了便于访问不同的子界面,需要设计一个总界面,在总界面通过鼠标交互实现各子界面的访问[4]。由于解析几何中的图形可分为平面曲线、空间曲线、曲面,故本文设计了一个包括3个子界面的总界面,用户通过点击不同的按钮进入相应的子界面。总界面的设计如图1所示,运行后的演示效果如图2所示。
2 平面曲线子界面的设计
利用GUIDE工具建立GUI界面,在界面中放置坐标轴、按钮组、单选按钮控件[5-6],将各个控件的属性设置成与平面曲线相关的元素。按照按钮组内的单选按钮同时只能选中一个为原理,对按钮组编写SelectionChangedFcn回调函数,在生成的m文件中,利用get函数获取按钮组内各个单选按钮的Tag值[7-8],然后再利用switch语句,以Tag值为分支条件编写不同的绘图语句绘出相应的图形。所设计的平面曲线子界面包括心形线、星形线、四叶玫瑰线、对数螺线、笛卡尔叶形线、结、伯努利双纽线、三叶草等平面曲线的演示,用户只需点击右侧按钮组内的单选按钮即可在左侧的坐标系中绘出相应的图形,同时也可点击返回按钮退回到总界面。平面曲线子界面如图3所示,运行后的演示效果如图4所示。
另外,为了满足绘制其它平面曲线的需求,本文还在平面曲线子界面中设计了自定义平面曲线的绘图模块。利用该模块,用户可自行输入平面曲线的参数表达式并指定X、Y轴的宽度来实现自定义平面曲线的绘制。在设计自定义平面曲线绘图模块之前,为了更为便捷地访问该模块,本设计使用菜单编辑器在平面曲线子界面上设置菜单栏,并设置相关属性以及回调函数,通过鼠标交互即可弹出自定义平面曲线绘图模块。自定义平面曲线绘图模块的设计如图5所示,运行后的演示效果如图6所示。
图1 总界面的设计
图2 总界面的演示
图3 平面曲线子界面的设计
图4 平面曲线子界面的演示
图6 自定义绘图模块的演示
3 空间曲线、曲面子界面的设计
类似平面曲线GUI演示界面的设计,使用GUIDE工具,摆放相关控件并编写按钮组的SelectionChangedFcn的回调函数,利用分支语句写入不同的绘图代码实现空间曲线子界面的设计。所设计的空间曲线子界面包括花瓶线、等高线、“冒顶”曲线、“酒精灯”线、圆锥螺线等空间曲线的演示,用户只需点击右侧按钮组内的单选按钮即可在左侧的坐标系中绘出相应的图形,同时也可点击返回按钮退回到总界面。空间曲线子界面的设计如图7所示,运行后的演示效果如图8所示。
图7 空间曲线GUI 演示界面的设计
图8 空间曲线GUI 绘图演示
利用类似的方法可以设计出曲面子界面,所设计的曲面常见二次曲面的演示,用户只需点击右侧按钮组内的单选按钮即可在左侧的坐标系中绘出相应的图形,同时也可点击返回按钮退回到总界面。空间曲线子界面的设计如图9所示,运行后的演示效果如图10所示。
图9 曲面子界面
图10 曲面子界面的演示
另外,与平面曲线子界面中自定义绘图模块的设计类似,本设计也为也为空间曲线、曲面这2个子界面设计了自定义图形的绘图模块,这里不再赘述。
4 结语
为了便捷地演示解析几何中的一些特殊图形和自定义图形,本文基于MATLAB的GUI平台设计了一个解析几何图形演示系统。该系统由平面曲线、空间曲线、曲面等3个子界面组成,用户只需点击相应的按钮或输入相应的参数即可实现解析几何中一些特殊图形与自定义图形的绘制。所涉及的演示系统界面美观、操作简便、功能齐全,为解析几何的教学与学习提供一个有效的辅助平台。