Maple图形功能在投影柱面中的应用研究
2020-05-07刘卓
刘卓
(中国建筑第五工程局有限公司安徽分公司,安徽 亳州,233500)
在利用二重积分的几何意义求空间图形的体积时,要知道相应的曲顶柱体的“底”区域,即空间立体图形在坐标面上的投影区域;在求曲面的面积时,要确定所求部分曲面在坐标面上的投影区域;在求对面积或对坐标的曲面积分时都要确定所给曲面在坐标面上的投影区域;在求三重积分时,不管用哪种方法(利用直角坐标计算三重积分,利用柱面坐标计算三重积分,利用球面坐标计算三重积分)都要确定相应的积分变量的取值范围,而相应的积分变量范围的确定,都先要确定空间区域Ω在坐标面上的投影区域;而要确定上述“投影区域”就必须先确定投影柱面[1],再由投影柱面来确定投影区域,由此可见投影柱面在多元函数积分学中有着举足轻重的地位和作用。
1 相关理论
设有空间曲面[1]S1:F(x,y,z)=0和S2:G(x,y,z)=0
(1)
显然方程组(1)为两曲面的交线C的一般方程。
从(1)式中消去变量z得
H(x,y)=0
(2)
则(2)式表示以空间曲线C为准线,母线平行于z轴的柱面,称此柱面为空间曲线C关于xOy面的投影柱面,简称为投影柱面。
显然
表示投影柱面与xOy的面的交线,称为空间曲线C在xOy面上的投影曲线,简称为投影。
因此
表示两曲面所围空间区域在xOy面上的投影区域。
同理,从方程组(1)中的消去变量x或变量y,再分别和x=0或y=0联立,就可以得到空间曲线C在yOz面或xOz面上的投影曲线方程
两曲面所围空间区域在在yOz面或xOz面上的投影区域分别为
从学习过程中体会到,当学习完上述内容后,在学习后续内容时觉得对投影柱面的内容掌握不够,具体表现在学习重积分时,不能准确地确定相应的“投影区域”,从而不能快速得到所涉及积分变量的取值范围。究其原因是绘制空间曲线、曲面及曲面所围成的空间区域的图形存在局限性,教材中不能给出直观、形象的空间图形,限制了学习者对所学知识的理解和掌握;作者刘兴元在文献[2-3]中,曾利用Mathematica软件[4]的绘图功能,通过绘制空间曲线、投影柱面、投影曲线来进行辅助学习,但效果也不尽人意,原因是利用Mathematica软件绘制的图形比较简单,不能很好地反映出投影柱面的本质特征。然而,若利用Maple软件[5]的绘图功能,则可以将曲面、曲线的交线,投影柱面、投影曲线、投影区域的图形汇集于1个图形中,图形直观、清晰、明了,因此如果利用Maple软件的绘图功能进行辅助学习,则可以起到事半功倍的作用。
2 投影柱面作图举例
在Maple中,要作曲面S1,S2及其交线C与投影柱面、投影曲线、投影区域的图形,只需4次利用绘制空间曲面的命令(Plot3d),2次利用绘制空间曲线的命令(Spacecurve),具体命令及格式如下:
ai:=Plot3d([x(u,v),y(u,v),z(u,v)],u=初值..终值,v=初值..终值,color=颜色,style=样式):
aj=spacecurve([x(t),y(t),z(t)],t=初值..终值,color=颜色,thickness=数字):
从ai命令中得知,要绘制曲面S1,S2、投影柱面、投影区域(坐标平面的一部分)的图形,必须明了各曲面的参数方程及其2个参数的取值范围。一般方法是由投影区域来确定,即由投影区域来确定x(u,v),y(u,v)中参数u和v选取及确定参数u和v的取值范围,再将x(u,v)和y(u,v)代入任一曲面方程确定z(u,v);同理,利用aj命令绘制两曲面交线C及投影曲线的图形时,先写出投影曲线的参数方程x=x(t),y=y(t),z=0 并确定参数t的取值范围,再代入任一曲面方程求得空间曲线C的纵坐标z(t)[1-3,6-8]。
投影区域的参数方程为x=r·cos(s),y=r·sin(s),z=0。
参数r和s的取值范围分别为r:0→1,s:0→2π。
参数r和s的取值范围分别为s:0→2π,r:0→1。
锥面的参数方程(柱面坐标方程)为x=r·cos(s),y=r·sin(s),z=r。
参数r和s的取值范围分别为s:0→2π,r:0→1。
投影柱面的参数方程为x=cos(s),y=sin(s),z=v。
参数s和v的取值范围分别为t:0→2π,v:0→1.01。
故投影曲线的参数方程为x=cos(s),y=sin(s),z=0,参数s的取值范围为s:0→2π。
交线C的参数方程为x=cos(s),y=sin(s),z=1, 参数s的取值范围为s:0→2π。
在Maple命令窗口中输入下列命令
>restart:with(plots):with(plottools):
a1:=plot3d([r*cos(s),r*sin(s),sqrt(2-r^2)],r=0..1,s=0..2*Pi,color=yellow,style=patch):
a2:=plot3d([r*cos(t),r*sin(t),r],r=0..1,t=0..2*Pi,color=blue,style=wireframe):
a3:=spacecurve([cos(t),sin(t),1],t=0..2*Pi,color=red,thickness=4):
a4:=plot3d([cos(u),sin(u),v],u=0..2*Pi,v=0..1.01,color=green,style=wireframe):
a5:=spacecurve([cos(t),sin(t),0],t=0..2*Pi,color=cyan,thickness=4):
a6:=plot3d([r*cos(thcta),r*sin(thcta),0],r=0..1,thcta=0..2*Pi,color=brown,style=patchcontour):
x_axis:=plot3d([u,0,0],u=-1..1.5,v=0..0.01,thickness=3):
y_axis:=plot3d([0,u,0],u=-1..1.5,v=0..0.01,thickness=3):
z_axis:=plot3d([0,0,u],u=-.3..1.8,v=0..0.01,thickness=3):
xyz:=display(x_axis,y_axis,z_axis,thickness=3):
display(xyz,a1,a2,a3,a4,a5,a6,scaling=constrained);
运行上述命令得到如图1所示的图形。
图1 锥面与球面的交线、投影柱面、投影曲线、投影区域示意图Fig.1 A sketch map of intersection line,projection cylinder,projection curve and projection area between cone and sphere
图2 锥面与抛物柱面的交线、投影曲线投影曲线、投影区域示意图Fig.2 A sketch map of intersection line,projection cylinder,projection curve and projection area between cone and parabolic cylinder
注1:若要求题中两曲面所转成空间立体的图形体积,则可以转化为求两曲面在投影区域上的二重积分,即两曲顶柱体的体积之差,也可计算1个被积分函数为1的三重积分,而对此三重积分的计算,利用柱面坐标较为方便。
仿照例1的思路和方法,可以做任一投影柱面、投影曲线、投影区域的图形。
解 在Maple命令窗口中输入下列命令:
>restart:with(plots):
a1:=plot3d([r*cos(s),r*sin(s),r],r=0..2.2,s=0..2*Pi,color=yellow,style=patch):
a2:=plot3d([(1/2)*z^2,v,z],z=-2..2.,v=-2..2,color=blue,style=patch):
a3:=plot3d([1+cos(t),sin(t),z],z=-2..2.,t=0..2*Pi,color=green,style=wireframe):
a4:=spacecurve([1+cos(t),sin(t),sqrt(2+2*cos(t))],t=0..2*Pi,color=red,thickness=8):
a5:=plot3d([1+r*cos(thcta),r*sin(thcta),0],r=0..1,thcta=0..2*Pi,color=brown,style=patchcontour):
a6:=spacecurve([1+cos(t),sin(t),0],t=0..2*Pi,color=yellow,thickness=8):
x_axis:=plot3d([u,0,0],u=-1..3,v=0..0.01,thickness=3):
y_axis:=plot3d([0,u,0],u=-1..2.5,v=0..0.01,thickness=3):
z_axis:=plot3d([0,0,u],u=-.3..2.5,v=0..0.01,thickness=3):
xyz:=display(x_axis,y_axis,z_axis,thickness=3):
display(xyz,a1,a2,a3,a4,a5,a6,scaling=constrained):
运行上述命令得到如图2所示的图形。显然,锥面为图2中的黄色曲面,抛物柱面为图2中的蓝色曲面,两曲面的交线为图2中的红色曲线,投影柱面为图2中带网格绿色曲面,投影曲线为图2中青色圆周,投影区域为图2中棕色圆面。
若将a1命令中参数r限制为在投影区域的取值范围,即将r限制为0→1,去掉作抛物柱面的命令a2,可得到锥面被抛物柱面所截下的部分锥面的图形,如图3所示。
注2:若要求题中锥面被抛物柱面所截下部分锥面的面积,则可以转化为求在投影区域即在圆域上的1个相应的二重积分。
图3 锥面被抛物柱面截下部分锥面示意图Fig.3 A sketch map of a cone truncated by a parabolic cylinder
图4 两椭圆抛物面的交线、所围图形、投影柱面、投影曲线、投影区域示意图Fig.4 A sketch map of intersection line,enclosed geometry,projection cylinders,projection curves and projection area between two elliptic paraboloids
例3 画出两椭圆抛物面z=6-2x2-y2,z=x2+2y2所围空间立体的图形、两曲面的交线、投影柱面、投影曲线及立体在xOy面上的投影区域。
解 在Maple工作窗口中输入命令:
>restart:with(plots):
a:=sqrt(2):u:=(x,y)→x^2+2*y^2:v:=(x,y)→6-2*x^2-y^2:
a1:=plot3d(u(x,y),x=-a..a,y=-sqrt(a^2-x^2)..sqrt(a^2-x^2),color=yellow):
a2:=plot3d(v(x,y),x=-a..a,y=-sqrt(a^2-x^2)..sqrt(a^2-x^2),color=green):
a3:=spacecurve([a*cos(t),a*sin(t),u(a*cos(t),a*sin(t))],t=0..2*Pi,color=red,thickness=4):a4:=plot3d([a*cos(t),a*sin(t),z],t=0..2*Pi,z=0..6,color=blue,style=wireframe):
a5:=spacecurve([a*cos(t),a*sin(t),0],t=0..2*Pi,color=cyan,thickness=4):
a6:=plot3d([r*a*cos(t),r*a*sin(t),0],r=0..1,t=0..2*Pi,color=brown,style=patch):
x_axis:=plot3d([u,0,0],u=-2..2,v=0..0.01,thickness=3):
y_axis:=plot3d([0,u,0],u=-2..2,v=0..0.01,thickness=3):
z_axis:=plot3d([0,0,u],u=-.2..7,v=0..0.01,thickness=3):
xyz:=display(x_axis,y_axis,z_axis,thickness=3):
display(a1,a2,a3,a4,a5,a6,xyz,scaling=constrained,orientation=[40,60]);
运行上述命令得到如图4所示的图形。
注3:若要求题中两椭圆抛物面所围立体图形的体积,则可以转化为求在圆域上的1个相应的二重积分之差(即2个同底的曲顶柱体的体积之差)。
3 结论
由上述讨论可知,要做空间曲面、空间曲面的交线、投影柱面、投影曲线、投影区域的图形,所需命令是非常简单的,而且所作图形也是非常直观的.对做好图形材料,在学习中主要有以下2种利用方法:第1种方法是在Maple软件的命令窗口中直接运行上述编制的绘图程序命令,直接观看图形来帮助理解曲面、曲面的交线、投影柱面、投影曲线、投影区域的概念(可以拖动鼠标从不同的角度观看图形,这是maple绘图优于Mathematics绘图的一种典型表现),与文献[2]中方法相比较,图形更加直观、清晰,更便于理解;第2种方法是将在Maple平台下做好的图形利用QQ截图的方式插入PPT中,对照图形标注好各曲面、曲面的交线、投影柱面、投影曲线、投影区域并对照学习。在投影柱面的学习中,若利用Maple软件的绘图功能绘制图形来进行辅助学习,较之传统看书学习或利用其他绘图软件如Mathematica来帮助学习,直观性大大加强,学习者对于空间曲面、空间曲线、及以空间曲线为准线的柱面(即投影柱面)、空间曲线的投影曲线、空间曲面所围成的空间图形在坐标面上的投影区域都会有深刻的理解,可为多元函数积分学的学习打下坚实的基础。