刘兴元
(邵阳学院 理学院,湖南 邵阳,422000)
二次柱面[1-2]是二次曲面中的一个重要内容,传统的教学模式下的教学过程如下:
定义1 给定一条曲线C及定直线l,则平行于定直线l且沿曲线C移动的直线L所形成的曲面叫做柱面,定曲线C叫做柱面的准线,动直线L叫做柱面的母线(见图1)。
图1 柱面示意图 图2 柱面示意图Fig.1 Schematic diagram of a cylinder Fig.2 Schematic diagram of a cylinder
为方便起见,文中仅讨论定直线l为z轴的情形。
如果柱面的准线是xoy面上的曲线C,其方程为f(x,y)=0,柱面的母线平行于z轴,则方程f(x,y)=0就是这柱面的方程,因为在此柱面上(见图2)任取一点M(x,y,z),过点M作直线平行于z轴,此直线与xoy面的交点M0(x,y,0),点M0是点M在xoy面上的投影,于是M0必落在准线C上,它在xoy面上的坐标(x,y)必满足方程f(x,y)=0,这个方程不含z项,所以点M的坐标x,y,z也满足方程
f(x,y)=0
(1)
因此,在空间直角坐标系中,方程f(x,y)=0所表示的图形就是母线平行z轴的柱面。
同理可知,只含y,z而不含x的方程φ(y,z)=0,表示母线平行于x轴的柱面。只含x,z而不含y的方程φ(x,z)=0,表示母线平行于y轴的柱面。
讲完上述内容及书中的例题后,发现学生对所学的内容掌握不够,主要表现在对后续的投影柱面不能很好的理解和掌握。而Maple软件[3]具有强大的绘图功能,其辅助教学功能也有独到之处,Maple软件的动画制作命令,使得教师可使用animate命令能方便地制作出各种柱面的动画,为此利用Maple软件的动画功能和多媒体进行辅助教学,用动画的形式给出柱面的动态图形,从直观上帮助学生理解柱面。
例1 用Maple做出以xoy面上的圆x2+y2=16为准线,母线平行z的圆柱面的动画图形。
解 在Maple命令窗口中输入动画制作命令
>restart:with(plots):with(plottools):
a1:=plot3d([4*cos(s),4*sin(s),t],t=0..6,s=0..2*Pi):
A:=[0,0,0]:B:=[1,0,0]:C:=[0,1,0]:
a2:=project(a1,[A,B,C]):
a3:=animate(plot3d,[[4*cos(s),4*sin(s),t],s=0..x,t=0..6],x=0..2*Pi,axes=normal,labels=[x,y,z]):
a4:=spacecurve([4,0,t],t=0..6,color=red,thickness=4):
x_axis:=plot3d([u,0,0],u=-5..5,v=0..0.01,thickness=3):
y_axis:=plot3d([0,u,0],u=-5..5,v=0..0.01,thickness=3):
z_axis:=plot3d([0,0,u],u=0..8,v=0..0.01,thickness=3):
xyz:=display(x_axis,y_axis,z_axis,thickness=3):
display(xyz,a2,a3,a4);
运行上述命令即得动画基图(如图5),选中动画基图在Maple工作窗口中出现动画控制工具条(如图3).
图3 maple 动画播放工具Fig.3 Maple animation player
为了便于观察,可以降低柱面动画的速度,将动画速度每秒帧数10更改为1(见图4)。
图4 低速动画播放工具Fig.4 Low-speed animation player
基图5中显示有三条坐标轴,xoy面上的圆即准线,平行于z轴的母线(红色的直线段),在Maple窗口中,选中图5,然后单击动画控制工具条中的“插放”按钮,可以观看圆柱面形成动画过程,插放完毕即得圆柱面的图形见图7。也可选择“分帧播放”按钮,图6是其第16帖的形状,此例的程序命令中涉及到曲面和曲线的参数方程及其参数范围的确定,具体方法见参考文献[4-8]。
图5 圆柱面基图Fig.5 A cylindrical base graph
图6 圆柱面分帧显示图Fig.6 A cylindrical framed display
图7 圆柱面图Fig.7 A cylindrical diagram
例2 用Maple做出以xoy面上的抛物线y2=x为准线,母线平行z的抛物柱面的动画图形。
解 在Maple命令窗口中输入动画制作命令
>restart:with(plots):with(plottools):
a1:=plot3d([s,s^2,t],t=0..6,s=-2..2):
A:=[0,0,0];B:=[1,0,0];C:=[0,1,0]:
a2:=project(a1,[A,B,C]):
a3:=animate(plot3d,[[s,s^2,t],s=-2..x,t=0..6,color=yellow],x=-2..2,axes=normal,labels=[x,y,z]):
a4:=spacecurve([-2,4,t],t=0..6,color=red,thickness=4):
x_axis:=plot3d([u,0,0],u=-2.5..2.5,v=0..0.01,thickness=3):
y_axis:=plot3d([0,u,0],u=0..4,v=0..0.01,thickness=3):
z_axis:=plot3d([0,0,u],u=0..6,v=0..0.01,thickness=3):
xyz:=display(x_axis,y_axis,z_axis,thickness=3):
display(xyz,a2,a3,a4);
运行上述命令即得动画基图(如图8),选中图8,单击动画控制工具条中“插放”按钮,可以观看抛物柱面形成动画过程,插放完毕即得抛物柱面的图形见图10。也可选择“分帧播放”按钮,图9是其第18帧时的形状。
图8 抛物柱面基图Fig.8 A parabolic cylindricalbase graph
图9 抛物柱面分帧显示图Fig.9 A parabolic cylindricalframed display
图10 抛物柱面Fig.10 A parabolic cylindricaldiagram
例3 用Maple做出以xoy面上的双曲线x2-y2=1为准线,母线平行z的双曲柱面的动画图形。
解 在Maple命令窗口中输入动画制作命令
>restart:with(plots):with(plottools):
a1:=plot3d([sqrt(1+s^2),s,t],t=0..6,s=-2.2..2.2):
A:=[0,0,0];B:=[1,0,0];C:=[0,1,0]:
a2:=project(a1,[A,B,C]):
a3:=animate(plot3d,[[sqrt(1+s^2),s,t],s=-2..x,t=0..6],x=-2..2,axes=normal,labels=[x,y,z]):
b1:=plot3d([-sqrt(1+u^2),u,t],t=0..6,u=-2..2):
a:=[0,0,0];b:=[1,0,0];c:=[0,1,0]:
b2:=project(b1,[a,b,c]):
b3:=animate(plot3d,[[-sqrt(1+u^2),u,t],u=-2..x,t=0..6],x=-2..2):
a4:=spacecurve([-2.4,-sqrt(5),t],t=0..6,color=red,thickness=4):
a5:=spacecurve([2.1,-sqrt(5),t],t=0..6,color=red,thickness=4):
x_axis:=plot3d([u,0,0],u=-2.5..2.5,v=0..0.01,thickness=3):y_axis:=plot3d([0,u,0],u=-2.5..2.5,v=0..0.01,thickness=3):z_axis:=plot3d([0,0,u],u=0..6,v=0..0.01,thickness=3):xyz:=display(x_axis,y_axis,z_axis,thickness=3):
display(xyz,a2,a3,b2,b3,a4,a5);
运行上述命令即得动画基图,如图11,在Maple窗口中选中图11,单击动画控制工具条中“分帧播放”按钮,图12是其第18帧的形状,插放完毕即得双曲柱面的图形,见图13。
图11 双曲柱面基图Fig.11 A hyperbolic cylindricalbase graph
图12 双曲柱面分帧显示图Fig.12 A hyperbolic cylindricalframed display
图13 双曲柱面Fig.13 A hyperbolic cylindricaldiagram
例4 用Maple做出以xoy面上的双曲线y=1+sinx为准线,母线平行z的柱面的动画图形。
解 在Maple命令窗口中输入动画制作命令
>restart:with(plots):with(plottools):
b1:=plot3d([t,1+sin(t),s],s=0...1,t=0..2*Pi):
A:=[0,0,0];B:=[1,0,0];C:=[0,1,0]:
b2:=project(b1,[A,B,C]):
b3:=animate(plot3d,[[s,1+sin(s),t],s=0..x,t=0..4,color=yellow],x=0..2*Pi,axes=normal,labels=[x,y,z]):
b4:=spacecurve([0,1,s],s=0..4,color=red,thickness=8):
x_axis:=plot3d([u,0,0],u=-.5..6.5,v=0..0.01,thickness=3);y_axis:=plot3d([0,u,0],u=-.5..2.5,v=0..0.01,thickness=3);z_axis:=plot3d([0,0,u],u=-.3..5,v=0..0.01,thickness=3):
xyz:=display(x_axis,y_axis,z_axis,thickness=3):
display(xyz,b2,b3,b4);
运行上述命令即得动画基图,如图14,选中图14,单击动画控制工具条中“插放”按钮,可以观看以xoy面上的正弦曲线为准线,母线平行于z轴的柱面形成动画过程,插放完毕即得正弦柱面的图形,见图16。也可单击动画控制工具条中“分帧播放”按钮,图15其第18帧的形状。
图14 正弦柱面基图Fig.14 A sinusoidal cylindricalbase graph
图15 正弦柱面分帧显示图Fig.15 A sinusoidal cylindricalframed display
图16 正弦柱面Fig.16 A sinusoidal cylindricaldiagram
文中通过四个例子,介绍了圆柱面、抛物柱面、双曲柱面、正弦柱面的动画制作命令,当然也可以做出任何柱面的动画图形,教师事先在Maple中做好各种柱面的动画图形,在多媒体教学中,可以切换到Maple平台,演示上述动画;也可以将Maple中各柱面的动画基图贮存为gif格式文件,将此gif格式文件粘贴到PowerPoimt课件的幻灯片中,并标注好准线、母线,播放幻灯片就可以看到柱面的形成动画,然后再讲述柱面定义并引出各种柱面的方程,将起到事半功倍的作用。