第五章 三维图形
Plot3D命令的选项
例4 Plot3D[1-y^2,{x,-5,5},{y,-5,5},BoxRatios->{1,1,2}, Boxed->False,Axes->False]; Plot3D[1-y^2,{x,-5,5},{y,-5,5},BoxRatios->{1,1,2}, Boxed->False,Axes->False,Shading->False]; Plot3D[1-y^2,{x,-5,5},{y,-5,5},BoxRatios->{1,1,2}, Boxed->False,Axes->False,HiddenSurface->False];
5.1 绘制二元函数的图形
PlotPoints->n:指定在每个方向上取n个点 PlotPoints->{nx,xy}:指定在x轴和y轴的采样点个 数 例2 f[x_,y_]=x^2 y^2 Exp[-(x^2+y^2)]; Plot3D[f[x,y],{x,-2,2},{y,-2,2}]; Plot3D[f[x,y],{x,-2,2},{y,-2,2},PlotPoints->25]; Plot3D[f[x,y],{x,-2,2},{y,-2,2},PlotPoints->40];
5.2 其它的绘图命令
ContourPlot[f[x,y],{x,xmin,max},{y,ymin,ymax}]: 绘制函数f[x,y]在给定矩形上的等高线 Mathematica中绘制的等高线采用了与地图中等高 线绘制的类似处理,采用颜色的深浅来表示值的大 小:值越大的区域,颜色越浅,反之亦反。 Contours->n:确定要绘制的轮廓数,缺省为10 Contours->{k1,k2,...}:指定等高线的值 ContourShading->False:不显示阴影 ContourLines->False:去掉轮廓段
ListContourPlot[array]:生成二维数组的轮廓图 ListDensityPlot[array]:生成二维数组的密度图 例11 lst=Table[Random[],{x,1,10},{y,1,10}]; ListContourPlot[lst,MeshRange->{{-5,5},{3,7}}]; ListDensityPlot[lst,MeshRange->{{-5,5},{3,7}}];
Plot3D命令的选项
AxesEdge->Automatic 由系统确定显示哪个边界轴 BoxStyle:指定包围盒的绘制方式,如Dashing, Thickness,GrayLevel或RGBColor Mesh:确定在曲面上是否显示格线 Shading:确定是否给曲面加阴影效果。默认值为 Shading->True 下面以几种不同方式绘制抛物柱面z=x^2
5.1 绘制二元函数的图形
例3 Plot3D[x^2,{x,-2,2},{y,-2,2}] Plot3D[x^2,{x,-2,2},{y,-2,2},Mesh->False] Plot3D[x^2,{x,-2,2},{y,-2,2},Shading->False] Plot3D[x^2,{x,-2,2},{y,-2,2},BoxRatios->{1,1,1}] Plot3D[x^2,{x,-2,2},{y,-2,2},FaceGrids->{{1,0,0}, {0,1,0}}] Plot3D[x^2,{x,-2,2},{y,-2,2},AxesEdge->{{-1,1},{1,1}, {1,-1}}]
柱形图
例15 <<Graphics`Graphics3D` lst={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; BarChart3D[lst,AxesLabel->{"x","y","z"}]; BarChart3D[lst,XSpacing->.5,YSpacing>.5,AxesLabel->{"x","y","z"}];
例12 <<Graphics`ContourPlot3D` ContourPlot3D[z-x^2-y^2,{x,-5,5},{y,-5,5},{z,0,10}, Contours->{0.,5.}, BoxRatios->{1,1,1}, PlotPoints->5];
Байду номын сангаас
ListContourPlot3D是ContourPlot3D的离散形式, 包含在软件包Graphics`ContourPlot3D`中 ListContourPlot3D[array]:绘制由三维数组f中的 数确定的轮廓图
科学计算软件
三维图形
第五章
5.1 绘制二元函数的图形
具有两个变量的函数可以看作是三维空间中的曲面。 绘制曲面的最简单命令是Plot3D Plot3D[f[x,y],{x,xmin,xmax},{y,ymin,ymax}] 绘制函数f[x,y]在矩形xmin<=x<=xmax,ymin <=y<=ymax上定义的三维曲面 例1 Plot3D[Sin[x-y],{x,-Pi,Pi},{y,-Pi,Pi}]
等高线图
例9 给出抛物面z=x^2+y^2的等高线图。 ContourPlot[x^2+y^2,{x,-10,10},{y,-10,10}] ContourPlot[x^2+y^2,{x,-10,10},{y,-10,10}, ContourLines->False] ContourPlot[x^2+y^2,{x,-10,10},{y,-10,10}, ContourShading->False] ContourPlot[x^2+y^2,{x,-10,10},{y,-10,10}, ContourShading->False, ContourLines->False]
密度图
与等高线图不同,密度图将定义域分成规则的网格, 在每个网格上由一个采样值的大小确定颜色的深浅。 越淡的区域表示的值越高 DensityPlot[f[x,y],{x,xmin,xmax},{y,ymin,ymax}]
例10 DensityPlot[x^2+y^2,{x,-10,10},{y,-10,10}]; DensityPlot[x^2+y^2,{x,-10,10},{y,-10,10},Mesh>False];
5.3 特殊的三维图形
在软件包Graphics`Graphics3D`中包含大量实用的 绘图命令 BarChart3D[array]:利用array确定高度,构造三 维的柱形图。array={{z11,z12,...}, {z21,z22,...},...} zij表示柱(i,j)的高度 XSpacing与YSpacing:确定在x方向与y方向上柱之 间的距离,取值在[0,1]之间 SolidBarEdge->False:去掉柱之间的边界
5.1 绘制二元函数的图形
f[x,y]在给定的矩形内有无数个值,使用计算机绘 图只能计算出其中有限个点处的值,绘制出的曲面 实际上是由有限块简单曲面构成的(类似的一维函 数的图形是由若干段直线段构成的) PlotPoints选项指定生成图形式在每个方向(x、y)上 所用的点数(采样点),默认值为15。 也就是说将给定的矩形(xmin,xmax)*(ymin,ymax) 分成14*14的网格,先计算出每个网格点上的函数 值(共有15*15个),再由相邻的4个点确定一个曲面
空间参数曲线的绘制
ParametricPlot3D[{x[t],y[t],z[t]},{t,tmin,tmax}]: 绘制以t为参数的三维曲线 ParametricPlot3D[{x[s,t],y[s,t],z[s,t]},{s,smin,smax}, {t,tmin,tmax}]]绘制由s,t为参数的三维曲面
透视效果:观察的角度
例5 Plot3D[x^2-y^2,{x,-5,5},{y,-5,5},BoxRatios->{1,1,1}]; Plot3D[x^2-y^2,{x,-5,5},{y,-5,5},BoxRatios->{1,1,1}, ViewPoint->{2,2,2}]; Plot3D[x^2-y^2,{x,-5,5},{y,-5,5},BoxRatios>{1,1,1},ViewPoint->{1.5,-2.6,-1.5}];
Plot3D命令的选项
Axes->False:不显示坐标轴 Axes->{True|False,True|False,True|False}:分别控 制三个坐标轴是否显示 Boxed->False:不显示包围图形的盒子 BoxRations->{sx,sy,sz}:指定三维图形包围盒各边 长度的比率 Ticks->False:不显示所有坐标轴上的刻度以及相 应的标签
透视效果:观察的角度
三维图形的透视图的效果与观察点的位置密切相关 ViewPoint->{x,y,z}:给出相当于要绘制曲面的包围 盒中心的视点位置 对于视点坐标而言,包围盒的最长边被缩放为1, 视点必须在包围盒的外部 ViewPoint参数的默认值为{1.3,-2.4,2.0} Input->3D ViesPoint Selector:图形界面交互观察不 同视点的透视效果
空间参数曲线的绘制