1. 引言
高等数学不但是高校理工科学生的专业基础课程,而且是其专业课程的工具课程,它内容丰富,理论严谨,应用广泛。在高等数学课程中“曲面及其方程”这一节的教学重点是熟知二次曲面的标准方程和它们的形状。一方面,这些知识对多元函数微积分起到了很大作用,另外,二次曲面被广泛应用于建筑工程、造型设计、模具加工、水利工程、通信工程等领域。
三元二次方程所表示的曲面称为二次曲面,一般通过截痕法和伸缩法讨论曲面形状,该部分内容涉及到空间图形的结构和绘制,需要学生具有较强的空间想象能力。由于其抽象性,这些内容往往是很多学生不易理解的难点。计算机的快速发展和应用的普及,使得多媒体在教学中的运用变得普遍和广泛,国内外的一些教师把多媒体技术引入到高等数学的教学中,常见的有Flash动画、三维动画(3D Studio)、AutoCAD等。这些多媒体技术的应用仅仅是解决了授课时的作图问题,提高了工作效率,但不能精准地反映问题的本质以及图形背后的数学含义。利用数学软件辅助教学,能够提高学生的数学素养,并对课程中的抽象概念有了更加具体透彻的理解。Maple、Mathematica、MATLAB等商业化软件,对计算机配置要求比较高,软件操作和基本语法比较复杂。这些大型数学软件虽然数值计算功能强大,但在课堂上实时交互式的图形演示方面效果有限。一款新兴的数学动态软件GeoGebra是开源免费的,软件集成了几何、代数、微积分、概率论等多种功能模块。GeoGebra软件是由美国佛罗里达州亚特兰大学的数学教授Markus Hohenwarter所设计的,软件最大的特点就是数形结合、交互性强、功能强大、操作简易。它凭借着免费、开源、可脱机、可在线和跨平台使用的优势,在许多国家得到了广泛的应用和推广。通过GeoGebra5.0版本新增加的3D功能绘制空间立体图形,不仅能将复杂的空间曲面方程精准、直观地用三维图形表现出来,还能用鼠标移动控制将复杂曲面任意放缩、旋转,使学生能直观地、全方位地观察、理解空间曲面方程所表示的曲面形状、特征和性质,从而增强了学生的空间想象能力,使学生对课程中的抽象概念有了更加具体透彻的理解。
2. 文献综述
艾玲和李芳[1]总结了利用AutoCAD、3DS、VB等多种软件开发高等数学中二次曲面图形CAI课件的技巧、经验和体会。许超和童新安[2]借助于Maple,对高等数学中的部分曲线、曲面和空间几何体的形成过程进行动态的可视化表示。刘兴元和何宜军[3] [4]引入Mathematica软件作为辅助工具,分别用截痕法和伸缩法直观描述二次曲面空间形态与形变的动态过程。孔祥强[5]借助MATLAB软件,探讨了二次曲面的作图过程。姜兆敏和黄金城[6]探讨了利用MATLAB的绘图和动画制作功能进行高等数学的辅助教学,列举了MATLAB的绘图功能在教学中的一些应用。李建涛[7]介绍了基于GeoGebra辅助高等数学教学的一些案例。吴玉斌等[8]运用GeoGebra软件将高等数学中抽象的旋转体体积问题转化为直观形象的动态演示。
3. 二次曲面交互式动态可视化设计
文献[9]中介绍了截痕法和伸缩法研究空间曲面。伸缩法是空间图形沿坐标轴方向伸缩变形的方法。截痕法是通过一系列平行的平面去截曲面,查看截平面与曲面的截痕形状,进而了解整个曲面的变化和形状。本文,通过截痕法和伸缩法研究二次曲面,包括椭圆抛物面、单叶双曲面、双曲抛物面的空间形态,借助GeoGebra5.0设计了5个交互式的用户界面,并给出程序代码。
3.1. 案例1–利用伸缩法和截痕法研究椭圆抛物面
椭圆抛物面的标准方程为:
用
坐标平面的平行平面
截椭圆抛物面得截线方程为:
用
坐标平面的平行平面
截椭圆抛物面得截线方程为:
用
坐标平面的平行平面
截椭圆抛物面得截线方程为:
3.1.1. 椭圆抛物面交互式动态可视化设计步骤
第一步:利用代数输入法建立滑动条。
选择绘图区,在命令框内输入如下指令,并回车。
a = 滑动条(1, 10, 0.1),b = 滑动条(1, 10, 0.1),k = 滑动条(1, 10, 1),m = 滑动条(−10, 10, 0.1),n = 滑动条(−10, 10, 1);
注释:滑动条名称分别为a,b,k,m,n,其中a = 滑动条(1, 10, 0.1)中a的变化范围从1到10,增量为0.1,这些数值都可以根据需要来修改,其它滑动条类似。
第二步:选择3D绘图区,在命令框内输入如下指令,并回车。
1) F:z = x^2/a^2 + y^2/b^2;
注释:作出椭圆抛物面图形,其中F是为图形的任意起的名称,便于后面调用。
2) p:z = k;
注释:作平行于xoy坐标平面的平面,其中P是为图形的任意起的名称,便于后面调用。
3) d:相交路径(p, F);
注释:作出曲面F与平面p的截线,其中d是为图形起的名称,便于后面调用。
4) q:y = m,r:x = n,e:相交路径(q, F),f:相交路径(r, F);
注释:作出截痕法的另外两组截线。
3.1.2. 交互式操作说明
1) 通过滑动条a,b可以进行椭圆抛物面伸缩法演示,通过滑动条k、m、n进行截痕法演示,如图1。
2) 为了便于观察图形,可以在代数区关闭暂时不需要观察的图形。
Figure 1. Method of cut off mark demonstration—Elliptic paraboloid
图1. 截痕法演示–椭圆抛物面
3) 在代数区右键单击交线方程d、e、f,选择开启跟踪,在通过滑动条进行观察截痕法时,可以看到运动轨迹的变化,使得动态演示更加生动形象。
4) 通过鼠标可以在3D绘图区任意放大、缩小、旋转空间图形。
5) 为了突出演示效果,可以在图形属性窗口改变图形的颜色、线条。也可以在绘图区添加文本、按钮等进阶功能。这样使得整个交互式可视化截面更加美观,操作更加方便。
数学思想:通过滑动条a可以实时动态地观察沿曲面x轴方向伸缩的变形,通过滑动条b可以实时动态地观察曲面沿y轴方向伸缩的变形,直观深刻理解图形变化的数学含义。进行通过滑动条k进行截痕法演示时,作一系列平行于坐标面xoy的平面去截曲面,截痕曲线为椭圆,作一系列平行于坐标面yoz或zox的平面去截曲面,截痕曲线为抛物线,因此曲面称为椭圆抛物面。利用GeoGebra绘制图形,简化了学习过程,增强了学习效果,加深了对二次曲面概念的理解。
3.2. 案例2–利用伸缩法和截痕法研究单叶双曲面
单叶双曲面的标准方程为:
用
坐标平面的平行平面
截单叶双曲面得截线方程为:
用
坐标平面的平行平面
截单叶双曲面得截线方程为:
3.2.1. 单叶双曲面交互式动态可视化设计步骤
第一步:利用几何输入法建立滑动条。
选择“滑动条”工具,点击绘图区,在属性对话框内,名称修改为a,最小值为1,最大值为10,增量为0.1,类似建立滑动条b,c。建立滑动条k、m,在属性中,最小值为−10,最大值为10,增量为1。
注释:建立滑动条只能在绘图区内建立,因此通过工具栏建立滑动条之前,必须用鼠标点击绘图区,这样工具栏才有滑动条按钮出现。
第二步:选3D绘图区,在命令框内输入指令,并回车。
1) F:x^2/a^2 + y^2/b^2 − z^2/c^2 = 1;
注释:作出单叶双曲面图形,其中F是为图形的任意起的名称,便于后面调用。
2) p:z = k;
注释:作平行于xoy坐标平面的平面,其中p是为图形的任意起的名称,便于后面调用。
3) q:y = m;
注释:作平行于zox坐标平面的平面,其中q是为图形的任意起的名称,便于后面调用。
第三步:利用几何输入法建立截线方程及图形。
1) 点击3D绘图区,选择“相交曲线”工具,然后在代数区或3D绘图区分别点击曲面F和平面p,建立截线,重命名为d。
注释:作出曲面F与平面p的截线,其中d是为截线任意起的名称,便于后面调用。
2) 标点击3D绘图区,选择“相交曲线”工具,然后分别点击曲面F和平面q,建立截线,重命名为e。
注释:作出曲面F与平面q的截线,其中e是为截线任意起的名称,便于后面调用。
第四步:为增强交互性以及软件界面的简洁性,建立“播放/暂停”按钮和“显示/隐藏”复选框。
1) 点击绘图区,选择“复选框”工具,在绘图区点击,弹出对话框,标题改为g,点击应用。
2) 点击绘图区,选择“按钮”工具,在绘图区点击,弹出对话框,标题改为“播放/暂停”,脚本代码为:
赋值[g, −g]
启动动画[k, g]
3) 点击绘图区,选择“复选框”工具,在绘图区点击,弹出对话框,标题改为“垂直于z轴的平面产生截痕”,在下拉列表中选取想要隐藏的对象“椭圆d,平面p,数值k,按钮button1,布尔值g”,点击应用。
注释:添加隐藏对象的方式还可以右键点击想要隐藏的对象,在属性–高级–显示条件中,内容改为复选框的名称,本案例中复选框的名称为“垂直于z轴的平面产生截痕”。
4) 点击绘图区,选择“复选框”工具,在绘图区点击,弹出对话框,标题改为“垂直于y轴的平面产生截痕”,在下拉列表中选取想要隐藏的对象“双曲线e,平面q,数值m”,点击应用。
注释:通过复选框,可以观察不同的截线,使得软件界面交互性更强,更加简洁。
3.2.2. 交互式操作说明
通过滑动条a,b,c可以进行实时交互的单叶双曲面伸缩法演示,通过滑动条k,m进行实时交互的单叶双曲面截痕法演示,在代数区右键点击截痕方程点击“开启跟踪”,可以观察曲线轨迹,如图2。通过绘图区的复选框,可以显示或隐藏3D绘图区的部分图形,并通过“播放/暂停”按钮演示动态图形。
Figure 2. Method of cut off mark demonstration—Hyperboloid of one sheet
图2. 截痕法演示–单叶双曲面
数学思想:通过滑动条k进行截痕法演示时,作一系列平行于坐标面xoy的平面去截曲面,截痕曲线为椭圆。通过滑动条m进行截痕法演示时,作一系列平行于zox坐标面的平面去截曲面,截痕曲线为双曲线,但是当m = b时,通过图形动态变化发现,此时的截痕确为两条直线,这也给我们一个启发,单叶双曲面是否是直接纹面?这个问题将在案例4中探讨。
3.3. 案例3–利用伸缩法和截痕法研究双曲抛物面
双曲抛物面的标准方程为:
用
坐标平面的平行平面
截双曲抛物面得截线方程为:
用
坐标平面的平行平面
截双曲抛物面得截线方程为:
用
坐标平面的平行平面
截双曲抛物面得截线方程为:
3.3.1. 双曲抛物面交互式动态可视化设计步骤
第一步:建立滑动条,名称分别为a、b、c、k、m、n,滑动条的变化范围和增量可以根据图形演示的需求自由调整。
第二步:选3D绘图区,在命令框内输入指令并回车。
1) F:G:x^2/a^2 − y^2/b^2 = z;
注释:作出双曲抛物面图形,其中F是为图形的任意起的名称,便于后面调用。
2) p:z = k;q:y = m;r:x = n
注释:作平行于3个坐标平面的平面,其中p、q、r是为图形的任意起的名称,便于后面调用。
3) 相交路径(p, F);相交路径(q, F);相交路径(r, F);
注释:作出曲面F与3组平面的截线。
3.3.2. 交互式操作说明
通过滑动条a,b,c可以进行实时交互的双曲抛物面伸缩法演示,通过滑动条k,m,n进行实时交互的双曲抛物面截痕法演示,如图3。
数学思想:通过滑动条m、n进行截痕法演示时,截痕曲线为抛物线。通过滑动条k进行截痕法演示时,作一系列平行于xoy坐标面的平面去截曲面,截痕曲线为双曲线,整个空间图形分为两部分,故曲面称为双曲抛物面。特别地当k = 0时,通过图形动态变化发现,此时的截痕确为两条直线,这也给我们一个启发,双曲抛物面是否是直接纹面?这个问题将在案例5中探讨。
Figure 3. Method of cut off mark demonstration—Hyperbolic paraboloid
图3. 截痕法演示–双曲抛物面
3.4. 案例4–利用截痕法研究单叶面的直纹性
直纹曲面(即曲面的直纹性)是指在空间由一族直线生成的曲面,这些构成曲面的直线称直母线。二次曲面中的单叶双曲面和双曲抛物面,其面光滑而弯曲,它们的直纹性很难直观地观察。张子杰等[10]讨论了单叶双曲面的直纹性的工程应用。董志龙等[11]给出了单叶双曲面的直母线方程以及在建筑、机械中的应用。
单叶双曲面
由两族直母线构成,两族直母线方程分别为:
和
其中
为任意正实数,其中
为任意实数
3.4.1. 单叶双曲面直纹性的交互式动态可视化设计步骤
第一步:建立滑动条,名称分别为a、b、c、u、v、s、t,滑动条的变化范围和增量可以根据图形演示的需要自由调整。
第二步:选3D绘图区,在命令框内输入指令,并回车。
1) F:x^2/a^2 + y^2/b^2 − z^2/c^2 = 1;
注释:作出单叶双曲面图形,其中F是为图形的任意起的名称,便于后面调用。
2) p:s (x/a + z/c) = t (1 − y/b),p_1:t (x/a − z/c) = s (1 + y/b);
注释:建立第一组直母线所在的平面,其中p、p_1是为图形的任意起的名称,便于后面调用。
3) 相交路径(p, p_1);
注释:作出曲面的一组直母线。
4) v (x/a − z/c) = u (1 − y/b),u (x/a + z/c) = v (1 + y/b);
注释:建立第二组直母线所在的平面,其中q、q_1是为图形的任意起的名称,便于后面调用。
5) 相交路径(q, q_1);
注释:作出曲面的一组直母线。
3.4.2. 交互式操作说明
通过滑动条s,t进行实时交互的演示,观察第一组直母线,启用轨迹跟踪,更加直观的观察直母线的变化轨迹。通过滑动条u,v进行实时交互的演示,观察第二组直母线,启用轨迹跟踪,更加直观的观察直母线的变化轨迹。如图4。
Figure 4. Ruled surface demonstration—Hyperboloid of one sheet
图4. 直纹面演示–单叶双曲面
数学思想:通过滑动条u、v、s、t演示图形动态变化,观察直母线的变化轨迹,可以看出双曲抛物面是直纹面,如图4。动态演示也体现了线动成面的数学思想。
3.5. 案例5–利用截痕法研究双曲抛物面的直纹性
董志龙等[11]给出了双曲抛物面的直母线方程以及在建筑、在水渠连接中的应用中的应用。
双曲抛物面
由两族直母线构成,两族直母线方程分别为:
和
其中
为任意正实数,其中
为任意实数。
3.5.1. 双曲抛物面直纹性的交互式动态可视化设计步骤:
第一步:通过几何输入或代数输入法建立滑动条,名称分别为a、b、u、v,滑动条的变化范围和增量可以根据图形演示的需要自由调整。
第二步:选3D绘图区,在命令框内输入指令并回车。
1) F:x^2/a^2 − y^2/b^2 = z;
注释:作出双曲抛物面图形,其中F是为图形的任意起的名称,便于后面调用。
2) p:x/a − y/b = 2v并回车,q:x/a + y/b = 2u并回车;
注释:建立2组直母线分别所在的2组平面,其中p、q是为图形的任意起的名称,便于后面调用。
3) 相交路径(p, F);相交路径(q, F);
注释:作出曲面F与2组平面的截线,即为两组直母线。
3.5.2. 交互式操作说明
通过滑动条m,n进行实时交互的双曲抛物面截痕法演示,如图5。观察截线都为直线,启用轨迹跟踪,更加直观的观察直母线的变化轨迹。
Figure 5. Ruled surface demonstration—Hyperbolic paraboloid
图5. 直纹面演示–双曲抛物面
数学思想:通过滑动条m、n进行截痕法演示时,通过图形动态变化发现,此时的截痕为两组直线,同构直母线的变化轨迹,可以看出双曲抛物面是直纹面,如图5。动态演示也体现了线动成面的数学思想。
4. 结束语
数学动态软件GeoGebra拥有强大的三维可视化功能,它所绘制的二次曲面图形是精细标准的也是实时动态和交互可控的,这也正是GeoGebra作为动态可视化工具的魅力所在,其灵活的动态可视化工具是其它一些绘图和数学软件无法比拟的。利用GeoGebra对空间几何体的形态进行动态可视化设计,其形式直观、生动,不仅便于学生深刻理解所学的知识,提高认知水平,而且利于教师更好地进行现代化的教学改革,提高教学水平。将GeoGebra的动画技术融于高等教学是一件非常值得深入研究的工作。
基金项目
2024年度沈阳航空航天大学校级教改立项:利用GeoGebra技术提升“高等数学”课程教学效果的探究与实践。