第08章-Maple的3D绘图包函数
- 格式:pdf
- 大小:736.19 KB
- 文档页数:23
第二章Maple的2D绘图包函数图2-01~04 plots包函数polarplot绘图程序实例with(plots):polarplot(cos(t));图2- 1 没有任何人为设置的polarplotpolarplot(sin(3*x), thickness=3);图2- 2 polarplot的线宽设置polarplot(sin(3*x),x=0..2*Pi/3,thickness=3,color=blue);图2- 3 polarplot的线色和弧段设置polarplot(abs(sin(3*x)));图2- 4 带有绝对值表达式的polarplotpolarplot(abs(sin(3*x)),coord=cartesian);Error, (in plot/options2d) unknown or bad argument, coord = cartesian polarplot(abs(sin(3*x)),coord=logarithmic);Error, (in plot/options2d) unknown or bad argument, coord = logarithmic以上两个语句的返回结果说明:在polarplot函数中,人为地硬性设置坐标系是无效的,一定会出现报错信息。
图2-05~15 plots包函数coordplot绘图程序实例with(plots):coordplot(polar,color=[red,red],scaling=CONSTRAINED,labelling= true);u range: 0 .. 1v range: 0 .. 2*Pigrid:[7,13]view:[-1.1..1.1,-1.1..1.1]图2- 5 极坐标系的有限完整坐标网coordplot(polar,view=[-1..1,0..1],scaling=CONSTRAINED,labelling=true);u range: 0 .. 1v range: 0 .. 2*Pigrid: [ 7 13 ]view: [-1.1..1.1,-1.1..1.1]图2- 6 极坐标系中部分显示的有限完整坐标网coordplot(polar,[0..3,-Pi/6..Pi],view=[-3..3,-3..3],color=[red ,blue],grid=[4,12],axes=NORMAL,scaling=CONSTRAINED,labelling=t rue);图2- 7 用设置项grid控制极坐标网线的条数coordplot(cartesian,color=[green,green],scaling=CONSTRAINED,la belling=true);图2- 8 直角坐标网,线族编号在边缘coordplot(cartesian,axes=NORMAL,color=[green,green],scaling=CO NSTRAINED,);图2- 9 直角坐标网,没有线族编码coordplot(cartesian,color=[green,green],labelling=middle);图2- 10 直角坐标网,线族编码在中间coordplot(cartesian,view=[0..10,0..10],color=[green,green],sca ling=CONSTRAINED,labelling=true,axes=NORMAL);图2- 11 直角坐标网,部分显露coordplot(cartesian,view=[-15..15,-15..15],color=[green,green] ,scaling=CONSTRAINED,labelling=false,axes=NORMAL);图2- 12 网的范围与view的关系coordplot(elliptic);图2- 13 椭圆坐标网coordplot(parabolic);图2- 14 抛物坐标网coordplot(hyperbolic,[-96..96,-24..24],view=[0..16,0..13]);图2- 15 双曲坐标网图2-16~24 plots包函数implicitplot绘图程序实例with(plots): implicitplot(x^2/16+y^2/9=1,x=-4..4,y=-3..3);图2- 16 没有人为设置项的implicitplotimplicitplot(x^2/16+y^2/9=1,x=-4..4,y=-3..3,view=[-3..3,-4..4] );图2- 17 view设置的优先权implicitplot((x^2+y)^2-y-2,x=-2..2,y=-2..2,grid=[7,7]);图2- 18 grid设置项可以控制图形质量implicitplot({seq(x*y=k,k=1..5)},x=.1..3,y=.1..3,grid=[71,141] ,color=blue,thickness=3);图2- 19 seq的implicitplotimplicitplot(y=2*x,x=0..2*Pi,y=0..12*Pi,coords=polar,thickness =3);图2- 20 implicitplot函数可以接受坐标系转换implicitplot((x^2+y)^2-y,x=-2..2,y=-2..1,grid=[54,54],coords=p olar,thickness=3);图2- 21 不是方程的极坐标表达式也有implicitplotimplicitplot({y=2*x^2,y=x},x=0..2*Pi,y=0..12*Pi,coords=polar,g rid=[72,144],style=LINE,color=blue,thickness=3);图2- 22 两个单元函数的极坐标implicitplot图形下面绘制一个比较复杂的隐函数曲线。
maple函数Maple 函数用法一、基本命令重新开始:restart 命名:名字:= 引用前值:% 字符连接:||保护命名:protect 解除保护命名:unprotrct 变量类型:whattype检验命名:assigned 别名:alias 宏:macro 帮助:?函数名map 把命令作用到每一个元素,seq 生成序列,add 生成和,mul 生成积二、基本运算1. 近似计算:evalf(表达式,小数位数),用Digits 命令提前设定小数位数2. 取整运算: round 四舍五入,trunc 向 0 取整, ceil 向-∝取整, floor 向∝取整3. 范围限定:assume(限定变量范围)frac 小数部分4. 绝对值(模):abs(表达式),复数求其模5. 同余:mod(数 1,数 2),或者:数 1 mod 数 26. 平方根:sqrt(表达式),平方根最接近整数:isqrt(表达式)7. 分解质因数:ifactor(数),分解质因数成组 ifactors(数)8. 商与余数:商 iquo(除数,被除数),余数 irem(除数,被除数)9. 最大公约数:igcd(数 1,数 2),最小公倍数:ilcm(数 1,数 2)10.形如 as+bt=(a,b)分解:igcdex(a,b,’s’,’t’)11.数组最大最小值:max(数1,数2,…),min(数1,数2,…)12.实部、虚部与幅角:实部Re(复数),虚部Im(复数),幅角 argument13.共轭复数:conjugate(复数)14.形如 a+bi 整理:evalc(表达式)15.并集:集合 1 union 集合 2,交集:intersect,差集:minus16.元素个数:nops(集合),用 op 可把集合转化成表达式三、多项式1. 降幂排列:sort(多项式),字典排序 plex(第三个参数)2. 次数:degree(多项式),系数:coeff(多项式,项),首项系数:lcoeff尾项系数:tcoeff,所有系数:coeffs(多项式,变量,‘power‘)3. 合并同类项:collect(多项式,合并参数)4. 商式:quo(除式,被除式,变量),余式:rem,整除检验:divide5. 最大公因式:gcd(多项式 1,多项式 2),最小公倍式 lcm6. 因式分解:factor(多项式),可用第二个参数限定数域缺省代表有理数域7. 分母有理化:rationalize(多项式),有理分式化简:normal 或者 factor8. 化简表达式:simplify,带假设化简:simplify(表达式,assume=范围)附加关系化简:simplify(表达式,{条件})代换:subs(条件,表达式)9. 展开与合并:展开 expand(表达式),合并 combine(表达式)10.等价转换:convert(函数,转化成的函数)四、解方程1. 方程(组):solve({方程(组)},{未知量(缺省对所有变量求解})2. 数值解:fsolve(方程,变量范围(可缺省),数域(可缺省))3. 三角方程:添加_EnvAllSolutions:=ture 以求得所有解4. 多项式方程解的区间:realroot(多项式)5. 不等式(组):solve({不等式(组)},{变量})6. 整数解:isolve(方程,变量)7. 模 m 的解:msolve(方程,模 m)8. 递推关系的通项:rsolve({递推关系,初值},{通项})9. 函数方程:solve(函数方程,函数)10.系数匹配:match(式子 1=式子 2,变量,’sln’)11.Grobner 基原理:先调用with(grobner),此命令将方程的解等价化简Gsolve({式子 1,式子 2,…},[变量 1,变量 2,…]12.微分方程:dsolve({方程,初值(可缺)},函数,’explicit’(可缺))13.微分方程组:dsolve({方程 1、2,…,初值},{函数 1,函数2,…})14.拉普拉斯变换法:dsolve({微分方程},函数,method=laplace)15.微分方程级数解:dsolve({微分方程},函数,type=series)16.微分方程数值解:dsolve({微分方程},函数,type=numeric)17.微分方程图形解:DEplot 图形表示微分方程,dfielplot 箭头表示向量场,phaseportrait 向量场及积分曲线,DEplot3d 三维空间图形表示微分方程18.偏微分方程:pdsolve(偏微分方程,求解函数)19.分离变量解偏微分方程:pdsolve(方程,函数,HINT=’*’,’build’)20.偏微分方程图形解:PDEplot(方程,函数,ini 边界s,s 范围)五、数据处理1. 统计软件包:先调用程序包with(stats) ,有7 个子包:anova 方差分析,describe 描述数据分析,fit 拟合回归分析,transform 数据形式变换,random 分布产生随机数,statevalf 分布的数值计算,statplots 统计绘图2. 基本命令:平均值mean,方差variance,标准差standarddeviation,中位数median,众数mode,数据求和sumdata,协方差covariance,相对标准差(标准差/平均值)coefficientofvariation,计数(非缺失)count,计缺失数 countmissing,范围 range,几何平均值 geometricmean,线性相关数linearcorrelation3. 统计图形:直方图 histogram,散点图 scatter2d、quantile2(先从小到大排序再作图),箱式图 boxplot4. 统计分布函数值:正态分布随机分布命令 normald[期望,方差]先调用程序包 with(statevalf)用法 statevalf(分布函数,求解函数)连续分布:cdf 累积密度函数,icdf 逆累积密度函数,pdf 概率密度函数离散分布:dcdf 离散累积概率函数,idcdf 逆离散累积函数,pf 概率函数5. 插值:整体插值命令 f:=interp(数据 1,数据 2,变量)分段插值命令 f:=spline(数据 1,数据 2,变量,次数)6. 回归:leastsquare[[x,y],y=多项式,{多项式系数}]([数据 1,数据 2])f:=fit(数据 1,数据 2,拟合函数,变量)文中函数不详尽之处还望发邮件至shuxuekuangren@/doc/5610985545.html, 以便大家共同学习,谢谢六、微积分1. 函数定义:函数名:=->表达式,复合函数:f(g(x)):=f@g2. 表达式转换成函数:unapply(表达式,函数变量)3. 极值:极大值maximize(函数,变量,范围,location=true (极值点))极小值minimize(函数,变量,范围,location=true(极值点))条件极值:extreme(函数,约束条件,{变量},’s’(极值点))4. 极限:limit(函数,x=趋值,方向(省缺,left,right,complex))5. 连续性:判断iscont(函数,x=范围)第三个参数closed 表示闭区间求解 discont(函数,变量)6. 微分:显函数 diff(函数,变量)对 x 多次求导用 x&n 微分算子 D隐函数 implicitdiff(函数,依赖关系 y(x),对象 y,变量 x)7. 切线作图:showtangent(函数,x=点,view=[x 范围,y 范围])8. 不定积分:int(函数,积分变量),定积分:int(函数,x=下限..上限)9. 复函数积分:先求奇点solve(denom(函数)),再用留数规则求解2*Pi*I(residue(f,z=奇点1)+ residue(f,z=奇点2)+…)10.定积分矩形:下矩形:作图 leftbox(f,x=范围,块数)面积leftsum(f,x=范围,块数)。
Maple三维图命令介绍
图形是平面图与立体图形之分。
平面图形是二维,而立体图形是三维的。
在用Maple计算设计工程上的研发时,会图形有不同的要求,二维与三维要同时兼备。
下面就介绍常用的Maple三维图形的命令使用。
Maple三维图形示例
一.曲面图:plot3d(二元函数,x范围,y 范围,选项);后面为选项如前。
二.动画图animate3d(函数,自变量范围,参数范围,…)。
用with(plots)先调入图形包。
三.三维曲线图:plot3d([x(t),y(t),z(t)],t=t1..t2],z=z1..z2,选项);
四.参数方程曲面图:plot3d([f(x,y),g(x,y),h(x,y)],x=a..b,y=c..d,选项);
五.隐函数图:implicitplot3d(三元方程,x=a..b,y=c..d,z=z1..z2,选项);
以上内容向大家介绍了Maple三维命令的使用操作命令。
与二维绘图的命令有相似之处,只是参数变多,以及调用的命令有所区别,大体上还是相通的。
Maple绘图的功能给大家的计算处理提供了不少便利,其简洁的页面也使用户非常喜欢。
Maple绘图的基本指令和参数二维绘图基本指令plot (f(x), x=xmin .. xmax);plot (f(x), x=xmin .. xmax, y=ymin .. ymax);plot ([f1(x), f2(x), …], x=xmin .. xmax);plot (f(x), x=xmin .. xmax, option);其中,xmin..xmax为x的变化范围,ymin..ymax为y(即f(x))的变化范围.常用参数:axes:设定坐标轴的显示方式, 一般有FRAME(坐标轴在图形的左边与下面)、BOXED(坐标轴围绕图形)、NORMAL(一般方式显示)或NONE(无)color:设定图形所要涂的颜色(可选用也可自设)coords:指定绘图时所用的坐标系(笛卡尔坐标系(cartesian,默认)、极坐标系(polar)、双极坐标系(bipolar)、logarthmic(对数坐标系)等discont:设定函数在不是否用线段连接起来(discont=true则不连接, 默认是discont=false)labels:设定坐标轴的名称(labels=[x, y], x与y分别为x与y坐标轴的名称)linestyle:设定所绘线条的线型(linestyle=n, n为1是实线, 2为点, 3为虚线, 4为虚线与点交错) numpoints:设定产生一个函数图形所需的最少样点scaling:设置x与y轴的比例(unconstrained非约束,constrained约束,比例为1:1)style:设定图形的显示样式(LINE(线形)、POINT(点)、PATCH(显示多边形与边线)、PATCHNOGRID(只显示色彩而无边界)symbol:设定点的格式(主要有BOX(方块)、CROSS(十字)、CIRCLE(圆形)、POINT(点)、DIAMOND(菱形)等几项)thickness:设定线条的粗细(0、1、2、3几种参数, 数值越大线条越粗)tickmarks:设定坐标轴刻度的数目(设定tickmarks=[m, n], 则x轴刻度为m, y轴为n)title:定义图形的标题(要用" "把标题引起来)view:设定屏幕上图形显示的最大坐标和最小坐标,缺省是整个曲线三维绘图基本指令三维空间的绘图比二维空间更有变化性和趣味性, 其命令函数为plot3d, 可直接调用. 命令格式如下:plot3d(f(x,y), x=xmin .. xmax, y=ymin .. ymax);plot3d({f(x,y), g(x,y), …}, x=xmin .. xmax, y=ymin .. ymax);plot3d(f(x,y), x=xmin .. xmax, y=ymin .. ymax, options);其中,xmin..xmax为x的变化范围,ymin..ymax为y(即f(x))的变化范围. Option选项参数与二维时的情形相似,这里只列示新增指令的意义:cotours:设定等高线的数目或者等高线的值grid:设定组成曲面的样点数或方形网格的数量gridstyle:设定网格的形状(rectangular—矩形,triangular—三角形)orientation:设定观看图形的视角(但设定视角的最佳方式是用鼠标拖动图形)projection:设定投影的模式shading:设定曲面着色的方式与二维情形相同,在Maple中三维绘图坐标系的选定使用命令coords,缺省坐标系为笛卡尔坐标系(cartesian),此外还有:bipolarcylindrical(双极坐标), bispherical(双球面坐标), cardioidal(心脏线坐标), cardioidcylindrical(心形柱坐标), casscylindrical( ), confocalellip(共焦椭球坐标), confocalparab(共焦抛物线坐标), conical(锥形坐标), cylindrical(柱坐标), ellcylindrical(椭柱坐标), ellipsoidal(椭球坐标), hypercylindrical (超圆柱坐标), invcasscylindrical, invellcylindrical(逆椭球坐标), invoblspheroidal( ), invprospheroidal( ), logcoshcylindrical(双数双曲余弦柱坐标), logcylindrical(对数柱坐标), maxwellcylindrical(麦克斯韦柱坐标), oblatespheroidal( ), paraboloidal(抛物面坐标), paracylindrical(参数柱坐标), prolatespheroidal(扁类球坐标), rosecylindrical(玫瑰形柱坐标), sixsphere(六球坐标), spherical(球坐标), tangentcylindrical(正切柱坐标), tangentsphere(正切球坐标)和toroidal(圆环面坐标).。
第八章Maple的3D绘图包函数图8-01~17生成图形的3d绘图包命令图8-01用plots[pointplot3d]绘制多点list的3D图形with(plots):pointplot3d([[0,1,1],[1,-1,2],[3,0,5],[0,1,0],[1,-1,0],[3,0,2 ]],axes=BOXED,style=LINE,thickness=3);图1绘制多点list的3D图形图8-02用plots[spacecurve]绘制参数方程表达的空间曲线spacecurve([cos(t),sin(t),t],t=0..4*Pi);图2绘制参数方程表达的空间曲线图8-03函数spacecurve也可绘制孤点或折线的图形,并且可以绘制多条折线。
从这一点看,它的功能强于point3d()。
spacecurve([[1,2,1],[3,2,4],[2,4,1],[1,3,3]],thickness=3,axes =BOX,color=black);spacecurve([[1,2,1]],axes=BOX,color=blue,style=point,symbol=b ox,symbolsize=12);图3spacecurve可绘制折线也可绘制孤点图8-04plots[listplot3d]设置项gridstyle的作用在于控制网格线是三角形还是四边形with(plots):>M:=[[1,2],[3,4],[0,3],[3,1]];listplot3d(M,color=magenta,gridstyle=triangular,axes=frame,la bels=[x,y,z],orientation=[92,40]);listplot3d(M,color=green,gridstyle=rectangular,orientation=[9 2,40]);图4设置项gridstyle的作用在于控制网格线是三角形还是四边形图8-05plots[matrixplot]观察矩阵元素值与曲面样点高度的关系with(LinearAlgebra):L:=HilbertMatrix(4,5):matrixplot(L);图5观察矩阵元素值与曲面样点高度的关系图8-06设置项color的取值是一个operatorF:=(x,y)->sin(x*y):matrixplot(A+B,heights=histogram,axes=frame,gap=0.25,style=pa tch,color=F);图6设置项color的取值是一个operator图8-07plots[polygonplot]with(plots):polygonplot3d([[0,1,-6],[1,-1,2],[3,6,5],[1,-4,-18],[3,0,9]], axes=boxed,thickness=3,color=green);polygonplot3d([[0,1,-6],[1,-1,2],[3,6,5],[1,-4,-18],[3,0,9]], axes=boxed,thickness=3,color=green,style=LINE);polygonplot3d([[0,1,-6],[1,-1,2],[3,6,5],[1,-4,-18],[3,0,9]], axes=boxed,thickness=3,color=red,style=POINT,symbol=DIAMOND,s ymbolsize=16);图7带有不同设置选项的polygonplot3d(对象信息相同)图8-08可以绘制多边形list的图形M:=3:list_polys:=[seq([seq([-T/M,S/(2*M),sin(T*S*Pi/(M^2))],T=0..M) ],S=1..M)]:polygonplot3d(%,axes=FRAME,orientation=[-68,66],thickness=2);图8可以绘制多边形list的图形图8-09plots[cylinderplot]with(plots):cylinderplot(1,u=0..2*Pi,v=-1..1,axes=box);图9F(u,v)=1的cylinderplot图形图8-10cylinderplot中当F(u,v)=cons.时变量名符号可任选但范围顺序不可调换restart:with(plots):W1:=1:cylinderplot(W1,u=0..1*Pi,v=-1..1,view=[-1..1,-1..1,0..2],ori entation=[40,75],axes=FRAME,color=yellow);cylinderplot(W1,v=0..1*Pi,u=-1..1,view=[-1..1,-1..1,0..2],ori entation=[40,75],axes=FRAME,color=yellow);cylinderplot(W1,u=-1..1,v=0..1*Pi/2,view=[-1..1,-1..1,0..2],o rientation=[40,75],axes=FRAME,color=yellow);图10当F(u,v)=cons.时变量名符号可任选但范围顺序不可调换图8-11cylinderplot 中两个变量范围设置项的位置顺序至关重要with(plots):;g :=(u,v)->cos(v)+2;cylinderplot(g,0..2*Pi,-Pi/2..3/2*Pi,style=PATCH,color=magent a,axes=NORMAL,orientation=[44,65]);cylinderplot(g,-Pi/2..3/2*Pi,0..2*Pi,style=PATCH,color=green,axes=NORMAL,orientation=[44,65]);图11两个变量范围设置项的位置顺序至关重要图8-12cylinderplot 中二元函数表达式和参数方程表达式之间的关系f:=z->piecewise(z>=1/2and z<1,3.5,z>=1and z<3/2,-6*(z-3/2)+1/2,z>=3/2and z<4,1/2,z>=4and z<=25,1.0*(z-4)^(1/2)+1/2);with(plots):cylinderplot(f(z),t=0..2*Pi,z=1/2..20,grid=[24,40],style=PATC H,orientation=[34,76]);cylinderplot([f(z),t,z],t=0..2*Pi,z=1/2..20,grid=[24,40],styl e=PATCHNOGRID,orientation=[34,76]);图12二元函数表达式和参数方程表达式之间的关系图8-13cylinderplot中在参数方程表达式中参变量的变量名不可颠倒with(plots):;Q:=[cos(v),u,v]:cylinderplot(Q,u=0..2*Pi,v=-Pi/2..Pi/2,color=cyan,axes=NORMAL, orientation=[54,76]);cylinderplot(Q,v=0..2*Pi,u=-Pi/2..Pi/2,color=cyan,axes=NORMAL, orientation=[54,76]);图13在参数方程表达式中参变量的变量名不可颠倒图8-14plots[sphereplot]绘制球面最为简便sphereplot(1,u=0..2*Pi,v=0..Pi,axes=box);sphereplot([1,u,v],u=0..2*Pi,v=0..Pi,axes=box);图14绘制球面最为简便图8-15plots[sphereplot]中两种表达形式是等效的sphereplot(v,u=0..Pi,v=0..Pi,axes=box);sphereplot([v,u,v],u=0..Pi,v=0..Pi,axes=box);图15两种表达形式是等效的图8-16plots[sphereplot]中二元表达式与参数表达式之间的关系sphereplot(1,u=0..2*Pi,v=0..u/2,axes=box);sphereplot([u,v,1],u=0..2*Pi,v=0..u/2,axes=box);sphereplot([1,u,v],u=0..2*Pi,v=0..u/2,axes=box);图16plots[sphereplot]中二元表达式与参数表达式之间的关系图8-17sphereplot用参数表达式绘制曲面上的部分片段sphereplot(1,u=0..2*Pi,v=0..u^2/12,axes=box,orientation=[-147, 77]);sphereplot([1,u,v],u=0..2*Pi,v=0..u^2/12,axes=box,view=[-1..1, -1..1,-1..1],orientation=[-147,77]);sphereplot([1,u,v],u=0..2*Pi,v=0..Pi,axes=box,view=[-1..1,-1.. 1,-1..1],orientation=[-147,77]);图17用参数表达式绘制曲面上的部分片段图8-18用plots[surfdata]绘制最简单的数据曲面ww:=[[[0,0,0],[0,0,8],[2,4,12]],[[2,2,4],[3,5,6],[3,7,4]],[[4, 1,2],[5,5,1],[4,7,5]]]:surfdata({ww},axes=frame,labels=[x,y,z],orientation=[-29,76]) ;图18最简单的数据曲面图8-19使用seq of seq给出的数据曲面with(plots):N:=12:QQQ:=[seq([seq(evalf([sin(i*Pi/N)*cos(j*2*Pi/(2*N)),sin(i*Pi/ N)*sin(j*2*Pi/(2*N)),cos(i*Pi/N)]),i=0..N)],j=0..N)]: surfdata(QQQ,axes=frame,labels=[x,y,z],scaling=constrained,or ientation=[-60,70]);图19使用seq of seq给出的数据曲面图8-20用surfdata同时绘制多个数据曲面u:=(i,j)->(i+j)/5:cosdat:=[seq([seq([i,j,evalf(cos(u(i,j)))],i=-5..5)],j=-5..5) ]:sindat:=[seq([seq([i,j,evalf(sin(u(i,j)))],i=-5..5)],j=-5..5) ]:surfdata({sindat,cosdat},axes=frame,labels=[x,y,z]);图20同时绘制多个数据曲面图8-21用plots[implicitplot3d]绘制一个高次代数方程确定的隐函数的图形implicitplot3d(x^3+y^3+z^3+1=(x+y+z+1)^3,x=-2..2,y=-2..2,z=-2. .2,grid=[13,13,13],labels=[x,y,z],axes=normal);图21一个高次代数方程确定的曲面(隐函数的图形)图8-22函数mplicitplot3d可以变换坐标系implicitplot3d(x=2,x=0..2,y=0..Pi/2,z=0..3*Pi/2,labels=[x,y,z ],scaling=constrained,coords=spherical,orientation=[-72,66],a xes=frame);sphereplot(2,u=0..Pi/2,v=0..3*Pi/2,labels=[x,y,z],scaling=con strained,coords=spherical,orientation=[-72,66],axes=frame,gri d=[10,10],gridstyle=triangular);图22函数mplicitplot3d可以变换坐标系图8-23用plots[polyhedraplot]绘制一个点上的正12面体polyhedraplot([0,0,0],polytype=dodecahedron,style=PATCH,scali ng=CONSTRAINED,orientation=[71,66]);图23一个点上的正12面体图8-24用plots[polyhedraplot]绘制同一个点集[P]上的3种多面体群pi:=evalf(Pi):;N:=36:R:=18:r:=5:p:=seq([cos(t*pi/N)*(R+r*sin(9*(t*pi/N))),sin(t*pi/N)*(R+r*si n(9*(t*pi/N))),r*cos(9*(t*pi/N))],t=0..1*N):polyhedraplot([p],polyscale=1,polytype=hexahedron,scaling=CON STRAINED,orientation=[70,65]);polyhedraplot([p],polyscale=2.5,polytype=octahedron,scaling=C ONSTRAINED,orientation=[70,65]);polyhedraplot([p],polyscale=2,polytype=tetrahedron,scaling=CO NSTRAINED,orientation=[70,65]);图24同一个点集[P]上的3种多面体群图8-25用plots[tubeplot]绘制管状曲面tubeplot([7*cos(t),7*sin(t),0],t=0..1*Pi,radius=2.2,scaling=u nconstrained);tubeplot([cos(t),sin(t),0,t=Pi..2*Pi,radius=0.25*(t-Pi)],scal ing=constrained);图25观察轴线和环线上的样点数目图8-26tubeplot具有完全的Multiple功能,注意第三语句中分别设置颜色的方法tubeplot({[cos(t),sin(t),0],[0,sin(t)-1,cos(t)]},t=0..2*Pi,ra dius=1/4);tubeplot({[cos(t),sin(t),0],[0,sin(t)-1,cos(t)]},t=0..2*Pi,ra dius=1/10*t);tubeplot({[cos(t),sin(t),0,t=Pi..2*Pi,numpoints=15,radius=0.2 5*(t-Pi),color=green],[0,cos(t)-1,sin(t),t=0..2*Pi,numpoints=45,radius=0.25,color=c yan]});图26具有完全的Multiple功能,注意第三语句中分别设置颜色的方法图8-27tubeplot中使用operator设置管状曲面的颜色F:=(x,y)->sin(x):tubeplot({[cos(t),sin(t),0],[0,sin(t)-1,cos(t)]},t=0..2*Pi,ra dius=1/4,color=F,style=patch);图27使用operatorF设置管状曲面的颜色图8-28~30用plots[coordplot3d]绘制坐标面restart:infolevel[all]:=2:with(plots):coordplot3d(rectangular,grid=[4,4,4]);coordplot3d:u const values:[0]coordplot3d:v const values:[0]coordplot3d:w const values:[0]coordplot3d:u range:-2..2coordplot3d:v range:-2..2coordplot3d:w range:-2..2coordplot3d:view:-2..2,-2..2,-2..2图28直角坐标系的三个默认坐标面coordplot3d(cylindrical,[0..1.3,0..3/2*Pi,0..1],[[3/4],[3/2*P i],[0]]);coordplot3d:u const values:[3/4]coordplot3d:v constvalues:[3/2*Pi]coordplot3d:w const values:[0]coordplot3d:u range:0..1.3coordplot3d:v range:0..3/2*Picoordplot3d:w range:0..1coordplot3d:view:-1.5..1.5,-1.5..1.5,-1..1图29圆柱坐标系的三个默认坐标面infolevel[all]:=2:coordplot3d(spherical);coordplot3d:u const values:[.5]coordplot3d:v const values:[1/3*Pi]coordplot3d:w const values:[1/3*Pi]coordplot3d:u range:0..1coordplot3d:v range:0..2*Picoordplot3d:w range:0..Picoordplot3d:view:-1..1,-1..1,-1..1图30球面坐标系的三个指定坐标面图8-31~32用plots[fieldplot3d]绘制向量场with(plots):fieldplot3d([y*cos(x),2*y+x*z,y*z*x+1],x=-1..1,y=-1..1,z=-1.. 1,grid=[5,5,5],axes=box,color=red,orientation=[28,48],arrows= THICK);图31由表达式确立的向量场fieldplot3d([y*cos(x),2*y+x*z,y*z*x+1],x=-1..1,y=-1..1,z=-1.. 1,grid=[5,5,5],axes=box,color=red,orientation=[28,48],arrows= THICK);fieldplot3d([y*cos(x),2*y+x*z,y*z*x+1],x=-1..1,y=-1..1,z=-1.. 1,grid=[5,5,5],axes=box,color=red,orientation=[28,48],arrows= THICK,coords=cylindrical);fieldplot3d([y*cos(x),2*y+x*z,y*z*x+1],x=-1..1,y=-1..1,z=-1.. 1,grid=[5,5,5],axes=box,color=red,orientation=[28,48],arrows= THICK,coords=spherical);图32可以进行坐标变换图8-33~34用plots[gradplot3d]绘制梯度场gradplot3d(x^2+2*y^2+z+1,x=-1..1,y=-1..1,z=-1..1,grid=[5,5,5], orientation=[9,80],color=black);图33笛卡儿直角坐标系中三元函数x^2+2*y^2+z+1的梯度场gradplot3d((x^2+y^2+z^2+1)^(1/2),x=-2..2,y=-2..2,z=-2..2,grid=[2,2,2],ax es=boxed,arrows=THICK,orientation=[40,75]);gradplot3d((x^2+y^2+z^2+1)^(1/2),x=-2..2,y=-2..2,z=-2..2,grid=[2,2,2],ax es=boxed,arrows=THIN,orientation=[40,75]);图34减少样点个数,设置不同的箭头样式图8-35~39用plots[contourplot3d]绘制空间等高线图with(plots):contourplot3d(125-(x^2+y^2),x=-8..8,y=-8..8,axes=BOX,grid=[9, 9],contours=[10,20,30,40,50,60,70,80,90,100,110,120],orientat ion=[-53,60]);contourplot(125-(x^2+y^2),x=-8..8,y=-8..8,axes=BOX,grid=[9,9], contours=[10,20,30,40,50,60,70,80,90,100,110,120],scaling=con strained);contourplot3d(125-(x^2+y^2),x=-8..8,y=-8..8,axes=BOX,grid=[9, 9],contours=[10,20,30,40,50,60,70,80,90,100,110,120],orientat ion=[-53,60],filled=true);图35函数contourplot和contourplot3d的关系with(plots):contourplot3d(x^2+y^2,x=-8..8,y=-8..8,axes=BOX,orientation=[-20,65]);contourplot3d(x^2+y^2,x=-8..8,y=-8..8,axes=BOX,orientation=[-20,65],contours=[25,50,75,100]);contourplot3d(x^2+y^2,x=-8..8,y=-8..8,axes=BOX,orientation=[-20,65],filled=true);图36设置选项contours和filled=true的作用contourplot3d((1.3)^x*sin(y),x=-1..2*Pi,y=0..x,coords=spheric al);图37可以进行坐标系转换,区域范围也可是变量contourplot3d(x^2+y^2,x=-8..8,y=-8..x^2+4,filled=true,colori ng=[blue,red],axes=BOX,grid=[4,4]);图38有的版本可能同时生成投影(左,9.0,右,6.0)图8-39用plots[listcontourplot3d]绘制棱面上的等高线with(plots):listcontplot3d([[3,5,7],[4,0,7],[1,5,0]],axes=frame,color=blu e,thickness=3,orientation=[-13,69]);listcontplot3d([[3,5,7],[4,0,7],[1,5,0]],axes=frame,filled=tr ue,thickness=3,orientation=[-13,69],coloring=[cyan,yellow]);图39设置选项filled=true的作用图8-40用plots[textplot3d]在图形中写字textplot3d([[1,2,3,[1,2,3]],[3,2,1,[3,2,1]]],axes=box,font=[T IMES,ROMAN,18],color=black,axesfont=[TIMES,ROMAN,8]);textplot3d([[1,2,3,"first point in3d"],[3,2,1,"second point in3d"]],color=green,axes=box,font=[TIMES,ROMAN,18],color=black, axesfont=[TIMES,ROMAN,8],orientation=[35,77]);图40输入的字符串要加英文双引号,但图形中不出现引号图8-41~59再造图形的3d绘图包命令plots[display3d]plot(sin(y),y=-Pi..Pi);Q1:=%:plots[cylinderplot](1,u=0..2*Pi,v=0..Pi);Q2:=%:display(Q1,Q2);display3d(Q1,Q2);Error,(in display)cannot display2-D and3-D plots togetherError,(in display3d)cannot display2-D and3-D plots together图41display和display3d都无法将不同维数的图形进行组合plots[changecoords]with(plots):plot3d(1,x=0..Pi,y=0..Pi,axes=frame);Q1:=%:changecoords(Q1,spherical);changecoords(Q1,cylindrical);图42同一个表达式在三个坐标系中的图形(自左而右:直角系、柱面系、球面系)plot3d(x^2+y^2,x=-1..1,y=-1..1,grid=[3,3]);Q:=%:lprint(%);changecoords(Q,spherical);lprint(%);changecoords(Q,cylindrical);lprint(%);PLOT3D(GRID(-1...1.,-1...1.,Array(1..3,1..3,{(1,2)=1.,(1,1)=2.,(2,3)=1.,(3,1)=2.,(3,2)=1.,(3,3)=2.,(1,3)=2.,(2,1)=1.},datatype=float[8],storage=rectangular,order=C_order)),AXESLABELS(x,y,""))图43plot3d(x^2+y^2,x=-1..1,y=-1..1,grid=[3,3])的图形和数据结构PLOT3D(MESH([[[-.4912954964,.7651474012,.4161468365],[-.8414709848,-0.,-.5403023059],[-.4912954964,-.7651474012,.4161468365]],[[0.,-0.,0.],[0.,0.,0.],[0.,0.,0.]],[[.4912954964,-.7651474012,-.4161468365],[.8414709848,0.,.5403023059],[.4912954964,.7651474012,-.4161468365]]]))图44changecoords(Q,spherical)的图形和数据结构PLOT3D(MESH([[[-.5403023059,.8414709848,2.],[-1.,-0., 1.],[-.5403023059,-.8414709848,2.]],[[0.,-0.,1.],[0.,0.,0.],[0.,0.,1.]],[[.5403023059,-.8414709848,2.],[1.000000000,0.,1.],[.5403023059,.8414709848,2.]]]))图45changecoords(Q,cylindrical)的图形和数据结构plottools[reflect](反射)restart:with(plottools):p:=plot3d(x^2+y^2+1,x=0..1,y=0.1..1,color=blue,grid=[7,7],sty le=HIDDEN,orientation=[-26,96],axes=NORMAL,tickmarks=[0,0,0]): q1:=reflect(p,[0,0,0]):q2:=reflect(p,[[0,0,0],[1,0,0]]):q3:=reflect(p,[[0,0,0],[1,0,0],[0,1,0]]):plots[display]([p,q1],view=[-1.2..1.2,-1.2..1.2,-3..3]);plots[display]([p,q2],view=[-1.2..1.2,-1.2..1.2,-3..3]);plots[display]([p,q3],view=[-1.2..1.2,-1.2..1.2,-3..3]);图46一个图形和它的三种反射像(点反射、线反射、平面反射)plottools[translate](平移)with(plottools):with(plots):q:=plots[sphereplot](1,theta=0..2*Pi,phi=0..Pi):display([q,translate(q,1,2,3)]);图47一个图形数据结构和它的平移像的数据结构with(plottools):with(plots):q:=cuboid([0,0,0],[1,1,1]):display([q,translate(q,1,2,3)]);图48一个图形数据对象和它的平移像的数据对象plottools[rotate](旋转)restart:with(plottools):with(plots):plot3d([(1.3)^x*sin(y),x,y],x=-1..2*Pi,y=0..Pi,axes=frame); P:=%:rotate(P,Pi/3,Pi/4,Pi/5);Q:=%:display(P,Q,axes=frame);图49原像图形,旋转像图形,以及它们的组合plottools[scale](放缩)with(plottools):plot3d(sin(x+y),x=-1..2*Pi,y=0..Pi,axes=frame,style=wireframe,orientation=[95,54]);q1:=%:scale(q1,.3,.5,1.9);q2:=%:plots[display](q1,q2,orientation=[95,54]);图50原像图形,放缩像图形,以及它们的组合plottools[homothty](位似)with(geom3d):icosahedron(p1,point(o,0,0,0),1.):p :=draw(p1):q :=plottools[homothety](p,1.5,[3,3,3]):plots[display](p,scaling=constrained,style=wireframe,color=bl ack,thickness=2,axes=frame,orientation=[30,70]);Q1:=%:plots[display](q,scaling=constrained,style=wireframe,color=bl ue,thickness=2,axes=frame,orientation=[30,70]);Q2:=%:Q3:=plottools[line]([3,3,3],[-4,-4,-4],color=red):plots[display]({Q1,Q2,Q3},title=`homothety of\n a icosahedron`,view=[-4..3,-4..3,-4..3],axes=normal,orientation=[-65,78],tic kmarks=[0,0,0]);图51正20面体和它的位似像(位似中心在[3,3,3],位似系数为1。