实验空间图形的画法基础实验.docx
《实验空间图形的画法基础实验.docx》由会员分享,可在线阅读,更多相关《实验空间图形的画法基础实验.docx(21页珍藏版)》请在冰豆网上搜索。
实验空间图形的画法基础实验
项目二一元函数积分学与空间图形的画法
实验2空间图形的画法(基础实验)
实验目的掌握用Mathematica绘制空间曲面和曲线的方法.熟悉常用空间曲线和空间曲面
的图形特征,通过作图和观察,提高空间想像能力.深入理解二次曲面方程及其图形.
基本命令
1.空间直角坐标系中作三维图形的命令Plot3D
命令Plot3D主要用于绘制二元函数
的图形.该命令的基本格式为
Plot3D[f[x,y],{x,x1,x2},{y,y1,y2},选项]
其中f[x,y]是
的二元函数,x1,x2表示x的作图范围,y1,y2表示y的作图范围.
例如,输入
Plot3D[x^2+y^2,{x,-2,2},{y,-2,2}]
则输出函数
在区域
上的图形(图2.1)
图2.1
与Plot命令类似,Plot3D有许多选项.其中常用的如PlotPoints和ViewPoint.PlotPoints的用
法与以前相同.由于其默认值为PlotPoints->15,常常需要增加一些点以使曲面更加精致,可能要
用更多的时间才能完成作图.选项ViewPoint用于选择图形的视点(视角),其默认值为
ViewPoint->{1.3,-2.4,2.0},需要时可以改变视点.
2.利用参数方程作空间曲面或曲线的命令ParametricPlot3D
用于作曲面时,该命令的基本格式为
ParametricPlot3D[{x[u,v],y[u,v],z[u,v]},{u,u1,u2},{v,v1,v2},选项]
其中x[u,v],y[u,v],z[u,v]是曲面的参数方程表示式.u1,u2是作图时参数u的范围,v1,v2是参数v的
范围.
例如,对前面的旋转抛物面,输入
ParametricPlot3D[{u*Cos[v],u*Sin[v],u^2},{u,0,3},{v,0,2Pi}]
同样得到曲面
的图形(图2.2).
图2.2
由于自变量的取值范围不同,图形也不同.不过,后者比较好的反映了旋转曲面的特点,因
而是常用的方法.
又如,以原点为中心,2为半径的球面.它是多值函数,不能用命令Plot3D作图.但是,它的
参数方程为
因此,只要输入
ParametricPlot3D[{2Sin[u]*Cos[v],2Sin[u]*Sin[v],2Cos[u]},{u,0,Pi},{v,0,2Pi}]
便作出了方程为
的球面(图2.3).
图2.3
.用于作空间曲线时,ParametricPlot3D的基本格式为
ParametricPlot3D[{x[t],y[t],z[t]},{t,t1,t2},选项]
其中x[t],y[t],z[t]是曲线的参数方程表示式.t1,t2是作图时参数t的范围.
例如,空间螺旋线的参数方程为
输入
ParametricPlot3D[{Cos[t],Sin[t],t/10,RGBColor[1,0,0]},{t,0,8Pi}]
则输出了一条红色的螺旋线(图2.4).
图2.4
在这个例子中,请读者注意选项RGBColor[1,0,0]的位置.
用于作空间曲线时,ParametricPlot3D的选项PlotPoints的默认值是30,选项ViewPoint的默
认值没有改变.
3.作三维动画的命令MoviPlot3D:
无论在平面或空间,先作出一系列的图形,再连续不断地放映,便得到动画.
例如,输入调用作图软件包命令
<执行后再输入
MoviePlot3D[Cos[t*x]*Sin[t*y],{x,-Pi,Pi},{y,-Pi,Pi},{t,1,2},Frames->12]
则作出了12幅曲面图,选中任一幅图形,双击它便可形成动画.
实验举例
一般二元函数作图
例2.1(教材例2.1)作出平面
的图形,其中
.
输入
Plot3D[6-2x-3y,{x,0,3},{y,0,2}]
则输出所作平面的图形(图2.5).
图2.5
如果只要位于第一卦限的部分,则输入
Plot3D[6-2x-3y,{x,0,3},{y,0,2},PlotRange->{0,6}]
观察图形.其中作图范围选项为PlotRange->{0,6},而删除的部分显示为一块水平平面(图2.6).
图2.6
例2.2(教材例2.2)作出函数
的图形.
输入
k[x_,y_]:
=4/(1+x^2+y^2)
Plot3D[k[x,y],{x,-2,2},{y,-2,2},PlotPoints->30,
PlotRange->{0,4},BoxRatios->{1,1,1}]
则输出函数的图形2.7.观察图形,理解选项PlotRange->{0,4}和BoxRatios->{1,1,1}的含义.选项
BoxRatios的默认值是{1,1,0.4}.
图2.7
例2.3(教材例2.3)作出函数
的图形.
输入命令
Plot3D[-x*y*Exp[-x^2-y^2],{x,-3,3},{y,-3,3},
PlotPoints->30,AspectRatio->Automatic];
则输出所求图形(图2.8).
图2.8
例2.4(教材例2.4)作出函数
的图形.
输入
Plot3D[Cos[4x^2+9y^2],{x,-1,1},{y,-1,1},Boxed->False,
Axes->Automatic,PlotPoints->30,Shading->False]
则输出网格形式的曲面图2.9,这是选项Shading->False起的作用,同时注意选项Boxed->False
的作用.
图2.9
二次曲面
例2.5(教材例2.5)作出椭球面
的图形.
这是多值函数,用参数方程作图的命令ParametricPlot3D.该曲面的参数方程为
(
).
输入
ParametricPlot3D[{2*Sin[u]*Cos[v],3*Sin[u]*Sin[v],Cos[u]},
{u,0,Pi},{v,0,2Pi},PlotPoints->30]
则输出椭球面的图形(图2.10).其中选项PlotPoints->30是增加取点的数量,可使图形更加光滑.
图2.10
例2.6(教材例2.6)作出单叶双曲面
的图形.
曲面的参数方程为
(
)
输入
ParametricPlot3D[{Sec[u]*Sin[v],2*Sec[u]*Cos[v],3*Tan[u]},
{u,-Pi/4,Pi/4},{v,0,2Pi},PlotPoints->30]
则输出单叶双曲面的图形(图2.11).
图2.11
例2.7作双叶双曲面
的图形.
曲面的参数方程是
其中参数
时对应双叶双曲面的一叶,参数
时对应双叶双曲面的另一叶.输入
sh1=ParametricPlot3D[{1.5*Cot[u]*Cos[v],1.4*
Cot[u]*Sin[v],1.3/Sin[u]},{u,Pi/1000,Pi/2},{v,-Pi,Pi},
DisplayFunction->Identity];
(*DisplayFunction->Identity是使图形暂时不输出的选项*)
sh2=ParametricPlot3D[{1.5*Cot[u]*Cos[v],1.4*
Cot[u]*Sin[v],1.3/Sin[u]},{u,-Pi/2,-Pi/1000},
{v,-Pi,Pi},DisplayFunction->Identity];
Show[sh1,sh2,DisplayFunction->$DisplayFunction]
(*命令Show[sh1,sh2]是把图形sh1,sh2放置在一起,DisplayFunction->$DisplayFunction是恢复显示图形的选项*)
输出为图2.12.
图2.12
例2.8可以证明:
函数
的图形是双曲抛物面.在区域
上作出它的图形.
输入
Plot3D[x*y,{x,-2,2},{y,-2,2},BoxRatios->{1,1,2},
PlotPoints->30]
输出图形略.也可以用ParametricPlot3命令作出这个图形,输入
ParametricPlot3[{r*Cos[t],r*Sin[t],r^2*Cos[t]
*Sin[t]},{r,0,2},{t,0,2Pi},PlotPoints->30]
输出为图2.13比较这些图形的特点.
图2.13
例2.9(教材例2.7)作出圆环
(
)
的图形.
输入
ParametricPlot3D[{(8+3*Cos[v])*Cos[u],(8+3*Cos[v])*Sin[u],
7*Sin[v]},{u,0,3*Pi/2},{v,Pi/2,2*Pi}];
则输出所求圆环的图形(图2.14).
图2.14
例2.10画出参数曲面
的图形.
输入命令
ParametricPlot3D[{Cos[u]*Sin[v],
Sin[u]Sin[v],Cos[v]+Log[Tan[v/2]+u/5]},
{u,0,4*Pi},{v,0.001,2}];
则输出所求图形(图2.15).
图2.15
曲面相交
例2.11(教材例2.8)作出球面
和柱面
相交的图形.
输入
g1=ParametricPlot3D[{2Sin[u]*Cos[v],2Sin[u]*Sin[v],2Cos[u]},
{u,0,Pi},{v,0,2Pi},DisplayFunction->Identity];
g2=ParametricPlot3D[{2Cos[u]^2,Sin[2u],v},
{u,-Pi/2,Pi/2},{v,-3,3},DisplayFunction->Identity];
Show[g1,g2,DisplayFunction->$DisplayFunction]
则输出所求图形(图2.16).
图2.16
例2.12作出锥面
和柱面
相交的图形.
输入
g3=ParametricPlot3D[{r*Cos[t],r*Sin[t],r},
{r,-3,3},{t,0,2Pi},
DisplayFunction->Identity];
Show[g2,g3,DisplayFunction->$DisplayFunction]
输出为图2.17.
图2.17
例2.13画出以平面曲线
为准线,母线平等Z轴的柱面的图形.
写出这一曲面的参数方程为
取参数s的范围为[0,8].输入命令
ParametricPlot3D[{t,Cos[t],s},{t,-Pi,Pi},{s,0,8}]
则输出所求图形(图2.18).
图2.18
例2.14(教材例2.9)作出曲面
及
面所围成的立体图形.
输入
g1=ParametricPlot3D[{r*Cos[t],r*Sin[t],r^2},{t,0,2*Pi},{r,0,1},PlotPoints->30];
g2=ParametricPlot3D[{Cos[t]*Sin[r],Sin[t]Sin[r],Cos[r]+1},{t,0,2*Pi},
{r,0,Pi/2},PlotPoints->30];
Show[g1,g2]
则输出所求图形(图2.19).
图2.19
例2.15(教材例2.10)作出螺旋线
(
)在
面上的正投影曲线的图形.
所给螺旋线在
面上的投影曲线的参数方程为
.
输入
ParametricPlot[{2t,10Cos[t]},{t,-2Pi,2Pi}];
则输出所求图形(图2.20).
图2.20
注:
将表示曲线的方程组,消去其中一个变量,即得到曲线在相应于这一变量方向上的正投
影曲线的方程,不考虑曲线所在平面,它就是投影柱面方程;对于参数方程,只要注意将方程中
并不存在的那个变元看成第二参数而添加第三个方程即可.
例2.16(教材例2.11)作出默比乌斯带(单侧曲面)的图形.
输入
Clear[r,x,y,z];
r[t_,v_]:
=2+0.5*v*Cos[t/2];
x[t_,v_]:
=r[t,v]*Cos[t]
y[t_,v_]:
=r[t,v]*Sin[t]
z[t_,v_]:
=0.5*v*Sin[t/2];
ParametricPlot3D[{x[t,v],y[t,v],z[t,v]},{t,0,2Pi},
{v,-1,1},PlotPoints->{40,4},Ticks->False]
则输出所求图形(图2.21).观察所得到的曲面,理解它是单侧曲面.
图2.21
空间曲线
例2.17(教材例2.12)作出空间曲线
的图形.
输入
ParametricPlot3D[{t*Cos[t],t*Sin[t],2*t,RGBColor[1.0,0,0.5]},{t,0,6Pi}]
则输出所求图形(图2.22).
图2.22
例2.18绘制参数曲线
的图形.
输入命令
ParametricPlot3D[{Sin[t],2Cos[t],t.2},{t,0,12}];
则输出所求图形(图2.23).
图2.23
例2.19绘制参数曲线
的图形.
输入命令
ParametricPlot3D[{Cos[t]^2,1/(1+2*t),ArcTan[t]},{t,0,8}];
则输出所求图形(图2.24).
图2.24
动画制作
例2.20平面正弦曲线的运动.
输入
Table[Plot[Sin[x+t*Pi],{x,0,6Pi}],{t,0,2,1/8}]
则作出了16幅具有不同相位的正弦曲线(输出图形略).双击屏幕上某一幅画,则可形成动画.下面是动画的最后一幅图(图2.25).
图2.25
例2.21(教材例2.13)作模拟水波纹运动的动画.
输入调用软件包命令
<执行后再输入
MoviePlot3D[Sin[Sqrt[x^2+y^2]+t*2*Pi],{x,-8Pi,8Pi},{y,-8Pi,8Pi},
{t,1,0},PlotPoints->50,AspectRatio->0.5,
ViewPoint->{0.911,-1.682,2.791},Frames->12]
则输出12幅具有不同相位的水面图形,双击屏幕上任意一幅图,均可观察动画效果.下图是第一幅图(图2.26).
图2.26
例2.22(教材例2.14)用动画演示由曲线
绕z轴旋转产生旋转曲面的过程.该曲线绕z轴旋转所得旋转曲面的方程为
其参数方程为
输入
For[i=1,i<=30,i++,ParametricPlot3D[{Sin[z]*Cos[u],Sin[z]*Sin[u],z},
{z,0,Pi},{u,0,2*Pi*i/30},AspectRatio->1,AxesLabel->{"X","Y","Z"}]];
则输出连续变化的30幅图形.双击屏幕上任意一幅图,均可观察动画效果.下面是生成旋转曲面的过程中的第23幅图(图2.27).
图2.27
例2.23将一张薄膜贴在
的方框上,薄膜振动的函数取为
其中t为参数,作出图形随t的变动而引起薄膜振动的动画.
初始位置是
通过t的不同值得到多幅画面,然后将这些图形连续地一张张显示出来,即可达到运动的动画效果.输入命令
<Clear[x,y,t,m,n];
u[x_,y_,t_]:
=Sum[16*(1+Cos[n*Pi])*(1-Cos[m*Pi])
*Sin[n*Pi*x]*Sin[m*Pi*y]*Cos[Sqrt[m^2+n^2]*Pi*t]
/(m^2*n^2*Pi*2),{m,1,4},{n,1,4}]
Animate[Plot3D[u[x,y,t],{x,0,1},{y,0,1},
PlotRange->{-8,8}],{t,0,1.75,0.25}];
则输出相应动画.下面动画的最后一幅图(图2.28).
图2.28
实验习题
1.用Plot3D命令作出函数
的图形,采用选项
PlotPoints->40.
2.作出函数
的图形.
3.用Plot3D命令作出函数
在
上的图形,
采用选项PlotPoints->60.
4.二元函数
在点(0,0)处不连续,用Plot3D命令作出在区域
上的图形(采用选项PlotPoints->40).观察曲面在(0,0)附近的变化情况.
5.一个环面的参数方程为
试用命令ParametricPlot3D作出它的图形.
6.一个称作正螺面的曲面的参数方程为
试用命令ParametricPlot3D作出它的图形.
7.用命令Plot3D作双曲抛物面
其中
(用选项
BoxRatios->{1,1,1},PlotPoints->30).
8.用命令ParametricPlot3D作出圆柱面
和圆柱面
相交的图形.
9.用命令ParametricPlot3D作出抛物柱面
和平面
相交的图形.
10.用命令ParametricPlot3D作出圆柱面
和圆柱面
相交所成的空间曲线
在第一封内的图形.
11.用命令ParametricPlot3D作出球面
和柱面
相交所成的空
间曲线的图形.