2022年matlab-三维曲面的自动绘制 .pdf

上传人:Che****ry 文档编号:27265920 上传时间:2022-07-23 格式:PDF 页数:12 大小:657.42KB
返回 下载 相关 举报
2022年matlab-三维曲面的自动绘制 .pdf_第1页
第1页 / 共12页
2022年matlab-三维曲面的自动绘制 .pdf_第2页
第2页 / 共12页
点击查看更多>>
资源描述

《2022年matlab-三维曲面的自动绘制 .pdf》由会员分享,可在线阅读,更多相关《2022年matlab-三维曲面的自动绘制 .pdf(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、一、设计目的Matlab 有两类绘图命令, 一 类 是 直 接 对 图形 句柄 进 行 操 作 的低 层绘图命令,另一类是在低层命 令基 础上建 立起 来 的 高层 绘 图命 令。 高 层绘图 命令 简单 明了 、方便 高效 。利 用高 层 绘图函数,用户不需过多考虑绘图细节,只需给出一些基本参数就能得到所需图形。在三维曲面的绘制中,Matlab 提供了 meshgrid 函数、 mesh waterfall 、函数、 surf 函数、 Surfl 函数和 patch 函数。他们的使用方法基本相同。在Matlab 中,为了表现图形的显示效果,提 供 了 一 些 控 制 函 数 ,有视角的控制、

2、光度的控制、色彩的控制和透明度的控制等。在三维图形的最佳视觉效果中, Matlab 提供了两种方法:一是改变观看的角度(视角),二是旋转图形。视角由函数view 控制,旋转有两个指令: rotate和 rotate3d 。光照的控制主要有camlight指令、 lighting指令、 material 函数、 light函数、 lightangle函数。色彩控制包括颜色的向量表示、色图、三维表面图形的着色以及浓淡处理。图形的透明值用0和1之间的值表示,常用alpha 来说明。二、设计思路绘制所代表的三维曲面图, 先要在平面选定一矩形区域,假定矩形区域, 然后将在方向分成份,将在方向分成份,由各

3、划分点分别作平行于两坐标轴的直线,将区域 D 分成个小矩形,生成代表每一个小矩形顶点坐标的平面网格坐标矩阵,最后利用有关函数求对应网格坐标的Z 矩阵。在 MATLAB 中,利用 meshgrid函数产生平面区域内的网格坐标矩阵。其格式为:x=a:d1:b;y=c:d2:d;X,Y= meshgrid(x,y) ;语句执行后,矩阵X 的每一行都是向量x,行数等于向量y 的元素的个数,矩阵 Y 的每一列都是向量y, 列数等于向量 x 的元素的个数。当 x=y 时, meshgrid函数可写成 meshgrid(x) 。当函数不能简单表示出来时,便只能用for 循环或 while 循环来计算 z 的

4、元素。 不过在很多情况下,可以按行或按列计算z,优势必须一个一个地计算z中的元素,这是用嵌套循环进行计算。三、设计程序及说明绘制三维曲面MATLAB 提供了 mesh函数和 surf 函数来绘制三维曲面图。 surf函数和 mesh函数的调用格式为:mesh(x,y,z,c) :画网格曲面,将数据点在空间中描出,并连成网格。surf(x,y,z,c):画完整曲面,将数据点所表示曲面画出。一般情况下, x,y,z 是维数相同的矩阵。 x,y 是网格坐标矩阵, z 是网格点上的高度矩阵, c 用于指定在不同高度下的颜色范围。1.1 绘制三维曲面图 z=sin(x+sin(y)-x/10。名师资料总

5、结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 12 页 - - - - - - - - - 1 程序如下:x,y=meshgrid(0:0.25:4*pi); %在0,4pi0,4pi 区域生成网格坐标z=sin(x+sin(y)-x/10; mesh(x,y,z); axis(0 4*pi 0 4*pi -2.5 1); 图表一此外,还有带等高线的三维网格曲面函数meshc 和带底座的三维网格曲面函数meshz。其用法与 mesh类似,不同的是 meshc还在 xy 平面上绘制

6、曲面在z 轴方向的等高线, meshz还在 xy 平面上绘制曲面的底座。1.2 在 xy 平面内选择区域 -8,8-8,8,绘制函数 z= sinx2+y2x2 +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); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名

7、师精心整理 - - - - - - - 第 2 页,共 12 页 - - - - - - - - - 2 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(

8、n) 该函数将产生 (n+1)(n+1)矩阵 x、y、z,采用这三个矩阵可以绘制出圆心位于远点、 半径为 1 的单位球体。 若在该调用函数是不带输出参数,将直接绘制所需球面。 n 决定了球面的圆滑程度,其默认值为20。若 n 值取得较小,则将绘制出多面体表面图。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 12 页 - - - - - - - - - 3 cylinder 函数的调用格式为:x,y,z=cylinder(R,n) 其中, R 是一个向量,存放柱面各个等间

9、隔高度上的半径,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); 名师资料总

10、结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 12 页 - - - - - - - - - 4 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,

11、3-3,3 的等分网格点上的函数值确定。例如: z=peaks(30); 将生成一个 30*30 矩阵 z,即分别沿 x 和 y 方向将区间 -3,3等分成 29 份,并计算这些网格点上的函数值。默认的等分数是48,即 p=peaks将生成一个 4949矩阵 p。也可以根据网格坐标矩阵x,y 重新计算函数值矩阵。例如:x,y=meshgrid(-5:0.1:5); z=peaks(x,y); 生成的数值距阵可以作为mesh、surf 等函数的参数而绘制出多峰函数曲面图。另外,若在调用 peaks函数时不带输出参数,则直接绘制出多峰函数曲面图。其他的三维曲面条形图、饼形图和填充图等特殊图像,还可

12、以以三维形式出现, 使用的函数分别是 bar3、pie3 和 fill3. 此外,瀑布图和三维曲面的等高线图也是常用图形之一。绘制瀑布图用 waterfall 函数,它的用法及图形效果与meshz函数相似,只是它的网格线是在 x 轴方向出现,具有瀑布效果。等高线图用contour3 绘制。4.1 绘制三位图形(1)绘制魔方阵的三位条形图。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 12 页 - - - - - - - - - 5 (2)以三维杆图形式绘制曲线y=2si

13、nx。(3)已知 x=2347,1827,2043,3025,绘制饼图。(4)用随机的顶点坐标画出5 个黄色三角形。程序如下:subplot(2,2,1); bar3(magic(4) subplot(2,2,2); y=2*sin(0:pi/10:2*pi); stem3(y); subplot(2,2,3); pie3(2347,1827,2043,3025); subplot(2,2,4); fill3(rand(3,5),rand(3,5),rand(3,5),y) 运行结果如图所示图表五4.2 绘制多峰函数的瀑布图和等高线图。程序如下:subplot(1,2,1); X,Y,Z=pe

14、aks(30); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 12 页 - - - - - - - - - 6 waterfall(X,Y,Z) xlabel(X-axis),ylabel(Y-axis),zlabel(Z-axis); subplot(1,2,2); contour3(X,Y,Z,12,k); %其中 12 代表高度的等级数xlabel(X-axis),ylabel(Y-axis),zlabel(Z-axis); 运行结果如图所示图表六四、设计体会通

15、过学习MATLAB和进行论文的写作,明白了MA TLAB 的功能是非常强大的。从中也认识到自己还有很多的不足,还须要进一步加强。以上其本上是针对MATLAB的程序设计进行论文,而实际上MATLAB的功能并不是局限于此,它还有很多功能,如在线性代数中的计算,数据处理与多项式计算,数值微分与常微分方程求解,符号计算,图形句柄,图形用户界面设计,MATLAB 应用接口等等。Matlab 功能十分强大,不仅有强大的运算功能,还有强大的绘图功能,也许我对它的了解只有一点点,可能还没有入门。虽然我学习Matlab 的时间还很短,但却让我了解到了它的强大的功能,我想,就算时间足够,老师也不可能把所有的东西都

16、讲解给我们, 因为一个软件的功能需要自己不断的探索,老师也不可能知道它全部的知识, 老师只是为我们指明方向, 最终的学习还要靠自己, 而且在摸索的路上,我们可能会发现更多学习的乐趣。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 12 页 - - - - - - - - - 7 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 12 页 - - - -

17、 - - - - - 8 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 12 页 - - - - - - - - - 9 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 12 页 - - - - - - - - - 10 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 12 页 - - - - - - - - - 11 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 12 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁