APP下载

利用Matlab辅助高等数学空间解析几何的教学

2020-09-26严静钱克仕

江苏理工学院学报 2020年4期
关键词:绘图动画

严静 钱克仕

摘    要:针对高等数学空间解析几何教学中的常见问题,介绍了Matlab在绘制曲面的交线和曲面围成的几何体、制作旋转曲面形成过程动画等方面的应用,并且给出了相应的Matlab程序代码。运用Matlab的绘图和动画制作功能辅助几何教学,极大地提高了教学效果。

关键词:Matlab;绘图;动画

中图分类号:TP391.72          文献标识码:A               文章编号:2095-7394(2020)04-106-05

在学习高等数学课程中的“空间解析几何与向量代数”内容时,需要绘制大量的空间图形。如果教师仅仅用板书的教学手段,对于一些复杂的空间图形的教学相当困难,要画在黑板上,颇要一定的功力和时间,而且即使画出来了,图形也不是很直观,也不能随意地变换角度去观察。而对学生来说,如果不知道这些空间图形的形状和相对位置,将会影响多元函数积分的学习。借助计算软件Matlab,我们就可以轻松解决这些问题。

Matlab是美国Math Works公司出品的商业数学软件,它是当今最具影响力的科学计算软件[1]。Matlab具有强大的绘图功能,高等数学中的各种图形,包括空间曲面和曲线都可以精准地描绘出来。有了这个工具,可以使得空间解析几何和多元函数积分学这部分教学内容变得直观生动,既培养了学生的空间想象力,又提高了学生的学习兴趣和教学效果。除了强大的绘图功能,Matlab还具有精巧的动画制作功能,在讲授旋转曲面的概念时,教师可以动态地演示旋转曲面的形成过程,从而加深学生对所学内容的理解。利用Matlab进行高等数学的辅助教学已经做了很多探讨[2-4],但是侧重点各有不同,文献[2]侧重于曲面位置关系的判定,文献[3]侧重于对曲线在几何直观上的体现,而文献[4]则是利用挖补的方法解决某些特殊的绘图问题。

高等数学中一元函数和多元函数的微积分、解常微分方程、无穷级数等都可以利用Matlab计算。本文主要探讨利用Matlab的绘图、动画制作功能进行空间解析几何教学中常见曲面问题的辅助教学。

1    利用Matlab的绘图功能进行辅助教学

Mesh grid是Matlab中用于生成网格采样点的函数,可以是二维网格矩阵,也可以是三维,在使用Matlab进行3D图形绘制方面有着广泛的应用。对于空间曲线和曲面,根据其参数方程,先利用mesh grid函数生成绘制3D图形所需的网格数据,再运用plot3、surf或mesh函数就可以画出空间曲线、曲面。

Matlab提供了设置视点的函数view,可以获得最佳的视觉效果,从不同角度观察空间图形。如view(0,0)为正视图,view(90,0)为侧视图,view(0,90)为俯视图,view([x,y,z])还可以将点(x,y,z)设置为视点。

在画空间曲面时,为了观察内部曲面的形状,可以把外部曲面设置为透明状态。Matlab中的alpha函数,可以用于设置在当前坐标轴上对象的透明度属性,使用格式为alpha(v),v可取0~1之间的数值,0为完全透明,1为不透明,0.5为半透明。

在高等数学的教学中,学生在涉及空间几何计算时经常有如下几个需要解决的问题。

问题1:利用重积分计算空间立体的体积时,需要搞清楚立体上下左右的曲面分别是哪一张,位置关系如何?例如,计算曲面[z=x2+2y2]和[z=6-2x2-y2]所围立体的体积。

曲面[z=x2+2y2]和[z=6-2x2-y2]所围立体见图1,可以很清楚地看到上下曲面片分别是[z=6-2x2-y2]和[z=x2+2y2],并且也可以看到立体在[xoy]面的投影区域,即两张曲面的交线在[xoy]面投影所围成的区域。

问题2:利用重积分计算曲面片的面积时,很难想象两张曲面相交后出现的是怎样的一张曲面片,如何去寻找准确的曲面片的边界及其投影面用以建立二重积分?例如,计算圆锥面[z=x2+y2]被抛物柱面[z2=2x]截得的曲面片面积。

圆锥面和抛物柱面的交线如图2,可以很清楚看到抛物柱面[z2=2x]是如何截取圆锥面[z=x2+y2]的,而被截得的那一小片曲面在[xoy]面的投影区域也是两张曲面的交线在[xoy]面投影所围成的区域,从而可以帮助我们建立正确的积分表达式来计算曲面片的面积。

2    利用Matlab的动画设计功能进行辅助教学

在Matlab中,旋转曲面每一条母线对应了矩阵中的一列数据,利用mesh(X(:,i-1:i),Y(:,i-1:i),Z(:,i-1:i))或者surf(X(:,i-1:i),Y(:,i-1:i),Z(:,i-1:i))[5]把旋转曲面矩阵的一列列的数据依次画出来,可以形成旋转曲面的动画效果。

问题3:在计算旋转体的体积时,题目往往只给出某条曲线绕哪条直线旋转而成的旋转体,需要想象出整个立体图形。例如,要计算[xoy]面上圆面[(x-2)2+y2≤1]绕[y]轴旋转一周所成的旋转体的体积。

圆环面形成动画的截图见图3。通过观察上述旋转体形成过程的动画,我们就能分析出解决问题的方法,可以利用两个曲边梯形绕[y]轴旋转的体积差来计算该轮胎状立体的体积,这两个曲边梯形的顶也就是这个圆周线的左右两半边。

此外,在高等数学中很多复杂的曲面形成过程如果能以动画的形式呈现在学生面前,无疑比枯燥的板书和讲解更容易让学生接受,课堂氛围也更活泼。

3    讨论

用Matlab绘制空间图形简单易学,绘出的图形准确直观,图形立体性强,不同的图形可以渲染不同的颜色,表现力强,可以弥补手工作图的不足。利用Matlab制作旋转曲面动画直观、生动、准确,能够动态展示旋转曲面的形成全过程,弥补了静态视觉的不足。在高等数学的教学过程中,关于重积分和曲面积分的教学一直是個难点,最大的问题就在于学生的空间想象力不足,对于一些二次曲面的形状和方程不够熟悉,利用Matlab进行空间解析几何的辅助教学,可在很大程度上帮助学生熟悉空间几何体的结构,从而建立正确的积分表达式。

参考文献:

[1] 王沫然. MATLAB与科学计算教程[M]. 北京:电子工业出版社,2016.

[2] 赵亚男,牛言涛. MATLAB在解析几何教学中的应用[J].长春大学学报(自然科学版),2011(4):54-58.

[3] 徐晓华,胡晓飞. MATLAB数据可视化在高等数学中的应用研究[J]. 昭通学院学报(自然科学版),2013 (5):41-44.

[4] 段俊生,安建业,徐立. MATLAB曲面绘制中的挖补方法[J].大学数学,2006, 22(4):36-39.

[5] 向修栋,付云芝. 在matlab中实现旋转曲面的动画设计[J].计算机技术与发展,2011, 21(3):52-55.

责任编辑    祁秀春

猜你喜欢

绘图动画
叮咚鸟
手工绘图与CAD 绘图在制图中的平衡运用
揭秘油画动画 逐帧堆砌的精致艺术
动画迷,变身
绘图机器人
编辑部的故事
新闻浮世绘
动画总动员
新闻浮世绘