matlab-三维曲面的自动绘制.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、设计目的 Matlab 有两类绘图命令一类是直接对图形句柄进行操作的低层绘图命令,另一类是在低层命令基础上建立起来的高层绘图命令。高层绘图命令简单明了、方便高效。利用高层绘图函数,用户不需过多考虑绘图细节,只需给出一些基本参数就能得到所需图形。在三维曲面的绘制中,函数、mesh waterfall函数、patch函数。他们的使用方法基本相同。在,为了表现图形的显示效果,提供了一些控制函数,有视角的控制、光度的控制、色彩的控制和透明度的控制等。在三维图形的最佳视觉效果中,提供了两种方法:一是改变观看的角度(视角),二是旋转图形。视角由函数控制,旋转有两个指令:和光照的控制主要有camlight指令、指令、material函数、函数、函数。色彩控制包括颜色的向量表示、色图、三维表面图形的着色以及浓淡处理。图形的透明值用0和1之间的值表示,常用来说明。 图表一 此外,还有带等高线的三维网格曲面函数meshc和带底座的三维网格曲面函数meshz。其用法与mesh类似,不同的是meshc还在xy平面上绘制曲面在z轴方向的等高线,meshz还在xy平面上绘制曲面的底座。 1.2 在xy平面内选择区域[-8,8]×[-8,8],绘制函数z= sin√x2+y2√x2 +y2的4种三维曲面图。 程序如下: [x,y]=meshgrid(-8:0.5:8); z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps); subplot(2,2,1); mesh(x,y,z); title(mesh(x,y,z)) subplot(2,2,2); meshc(x,y,z); title(meshc(x,y,z)) subplot(2,2,3); meshz(x,y,z) title(meshz(x,y,z)) subplot(2,2,4); surf(x,y,z); title(surf(x,y,z)) 图表二 标准三维曲面 MATLAB提供了一些函数用于绘制标准三维曲面,还可以利用这些函数产生相应的绘图数据,常用于三维图形的演示。 三维球面和柱面 sphere函数和cylinder函数分别用与绘制三维球面和柱面。sphere函数的调用格式为: [x,y,z]=sphere(n) 该函数将产生(n+1)×(n+1)矩阵x、y、z,采用这三个矩阵可以绘制出圆心位于远点、半径为1的单位球体。若在该调用函数是不带输出参数,将直接绘制所需球面。n决定了球面的圆滑程度,其默认值为20。若n值取得较小,则将绘制出多面体表面图。 cylinder函数的调用格式为: [x,y,z]=cylinder(R,n) 其中,R是一个向量,存放柱面各个等间隔高度上的半径,n表示在圆柱圆周上有n个间隔点,缺省时表示有20个间隔点。例如,cylinder(3)生成一个圆柱,cylinder([10,1])生成一个圆锥,而t=0:pi/100:4*pi;R=sin(t);cylinder(R,30)生成一个正弦型柱面。另外,生成矩阵的大小与R向量的长度及n有关。其余与sphere函数相同。 2.1 球面的绘制。 程序如下: [x,y,z]=sphere(30); surf(x,y,z); axis square; 运行结果如图所示 图表三 2.2 圆锥与圆柱的绘制。 程序如下: subplot(1,2,1); cylinder(2); subplot(1,2,2); cylinder([20,1]); 运行结果如图所示 图表四 多峰函数曲面 MATLAB还有一个peaks函数,称为多峰函数,常用语三为曲面的演示。该函数可以用来生成绘图数据矩阵,矩阵元素由函数: f(x,y)=3(1+x2)e?x 2 ?(y+1)2 ?10(x5?x3?y5)e?x2?y2?13 e?(x+1)2?y2 在矩形区域[-3,3]×[-3,3] 的等分网格点上的函数值确定。 例如: z=peaks(30); 将生成一个30*30矩阵z,即分别沿x和y方向将区间[-3,3]等分成29份,并计算这些网格点上的函数值。默认的等分数是48,即p=peaks将生成一个49×49矩阵p。也可以根据网格坐标矩阵x,y重新计算函数值矩阵。 例如: [x,y]=meshgrid(-5:0.1:5); z=peaks(x,y); 生成的数值距阵可以作为mesh、surf等函数的参数而绘制出多峰函数曲面图。另外,若在调用peaks函数时不带输出参数,则直接绘制出多峰函数曲面图。 其他的三维曲面 条形图、饼

文档评论(0)

enxyuio + 关注
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档