使用matlab绘制三维图形的方法

上传人:hm****62 文档编号:70365201 上传时间:2022-04-06 格式:DOC 页数:10 大小:932KB
收藏 版权申诉 举报 下载
使用matlab绘制三维图形的方法_第1页
第1页 / 共10页
使用matlab绘制三维图形的方法_第2页
第2页 / 共10页
使用matlab绘制三维图形的方法_第3页
第3页 / 共10页
资源描述:

《使用matlab绘制三维图形的方法》由会员分享,可在线阅读,更多相关《使用matlab绘制三维图形的方法(10页珍藏版)》请在装配图网上搜索。

1、.matlab绘制三维图形的方法plot3函数与plot函数用法十分相似,其调用格式为:plot3(*1,y1,z1,选项1,*2,y2,z2,选项2,*n,yn,zn,选项n),其中每一组*,y,z组成一组曲线的坐标参数,选项的定义和plot函数一样。当*,y,z是同维向量时,则*,y,z 对应元素构成一条三维曲线。当*,y,z是同维矩阵时,则以*,y,z对应列元素绘制三维曲线,曲线条数等于矩阵列数。例 绘制三维曲线。程序如下:t=0:pi/100:20*pi;*=sin(t);y=cos(t);z=t.*sin(t).*cos(t);plot3(*,y,z);gridtitle(Line

2、in 3-D Space);*label(*);ylabel(Y);zlabel(Z);如下列图:三维曲面1产生三维数据在MATLAB中,利用meshgrid函数产生平面区域的网格坐标矩阵。其格式为:*=a:d1:b; y=c:d2:d;*,Y=meshgrid(*,y);语句执行后,矩阵*的每一行都是向量*,行数等于向量y的元素的个数,矩阵Y的每一列都是向量y,列数等于向量*的元素的个数。2绘制三维曲面的函数surf函数和mesh函数的调用格式为:mesh(*,y,z,c):画网格曲面,将数据点在空间中描出,并连成网格。surf(*,y,z,c):画完整曲面,将数据点所表示曲面画出。一般情况

3、下,*,y,z是维数一样的矩阵。*,y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色围。 例 绘制三维曲面图z=sin(*+sin(y)-*/10。程序如下:*,y=meshgrid(0:0.25:4*pi); %在0,4pi0,4pi区域生成网格坐标z=sin(*+sin(y)-*/10;mesh(*,y,z);a*is(0 4*pi 0 4*pi -2.5 1);如下列图:此外,还有带等高线的三维网格曲面函数meshc和带底座的三维网格曲面函数meshz。其用法与mesh类似,不同的是meshc还在*y平面上绘制曲面在z轴方向的等高线,meshz还在*y平面上绘制曲面

4、的底座。 例 在*y平面选择区域-8,8-8,8,绘制4种三维曲面图。程序如下:*,y=meshgrid(-8:0.5:8);z=sin(sqrt(*.2+y.2)./sqrt(*.2+y.2+eps);subplot(2,2,1);mesh(*,y,z);title(mesh(*,y,z)subplot(2,2,2);meshc(*,y,z);title(meshc(*,y,z)subplot(2,2,3);meshz(*,y,z)title(meshz(*,y,z)subplot(2,2,4);surf(*,y,z);title(surf(*,y,z)如下列图:3标准三维曲面sphere函

5、数的调用格式为:*,y,z=sphere(n):generates three (N+1)-by-(N+1) matrices so that SURF(*,Y,Z) produces a unit sphere.cylinder函数的调用格式为:*,y,z= cylinder(R,n),其中r为圆周半径,n为组成圆周的点数。MATLAB还有一个peaks 函数,称为多峰函数,常用于三维曲面的演示。 例 绘制标准三维曲面图形。程序如下:t=0:pi/20:2*pi;*,y,z= cylinder(2+sin(t),30);subplot(2,2,1);surf(*,y,z);subplot(2

6、,2,2);*,y,z=sphere;surf(*,y,z);subplot(2,1,2);*,y,z=peaks(30);surf(*,y,z);如下列图:其他三维图形在介绍二维图形时,曾提到条形图、杆图、饼图和填充图等特殊图形,它们还可以以三维形式出现,使用的函数分别是bar3、stem3、pie3 和fill3。bar3函数绘制三维条形图,常用格式为:bar3(y)bar3(*,y)stem3函数绘制离散序列数据的三维杆图,常用格式为:stem3(z)stem3(*,y,z)pie3函数绘制三维饼图,常用格式为:pie3(*)fill3函数等效于三维函数fill,可在三维空间绘制出填充过

7、的多边形,常用格式为:fill3(*,y,z,c) 例 绘制三维图形:(1) 绘制魔方阵的三维条形图。(2) 以三维杆图形式绘制曲线y=2sin(*)。(3) *=2347,1827,2043,3025,绘制饼图。(4) 用随机的顶点坐标值画出五个黄色三角形。程序如下: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)

8、, y ) 例 绘制多峰函数的瀑布图和等高线图。程序如下:subplot(1,2,1);*,Y,Z=peaks(30);waterfall(*,Y,Z)*label(*-a*is),ylabel(Y-a*is),zlabel(Z-a*is);subplot(1,2,2);contour3(*,Y,Z,12,k); %其中12代表高度的等级数*label(*-a*is),ylabel(Y-a*is),zlabel(Z-a*is); 图形修饰处理 视点处理MATLAB提供了设置视点的函数view,其调用格式为:view(az,el)其中az为方位角,el为仰角,它们均以度为单位。系统缺省的视点定义

9、为方位角-37.5,仰角30。例 从不同视点绘制多峰函数曲面。 程序如下: subplot(2,2,1);mesh(peaks); view(-37.5,30); %指定子图1的视点 title(azimuth=-37.5,elevation=30) subplot(2,2,2);mesh(peaks); view(0,90); %指定子图2的视点 title(azimuth=0,elevation=90) subplot(2,2,3);mesh(peaks); view(90,0); %指定子图3的视点 title(azimuth=90,elevation=0) subplot(2,2,4)

10、;mesh(peaks); view(-7,-10); %指定子图4的视点 title(azimuth=-7,elevation=-10)色彩处理1颜色的向量表示MATLAB除用字符表示颜色外,还可以用含有3个元素的向量表示颜色。向量元素在0,1围取值,3个元素分别表示红、绿、蓝3种颜色的相对亮度,称为RGB三元组。2色图色图(Color map)是MATLAB系统引入的概念。在MATLAB中,每个图形窗口只能有一个色图。色图是m3 的数值矩阵,它的每一行是RGB三元组。色图矩阵可以人为地生成,也可以调用MATLAB提供的函数来定义色图矩阵。3三维外表图形的着色三维外表图实际上就是在网格图的每

11、一个网格片上涂上颜色。surf函数用缺省的着色方式对网格片着色。除此之外,还可以用shading命令来改变着色方式。shading faceted命令将每个网格片用其高度对应的颜色进展着色,但网格线仍保存着,其shading flat命令将每个网格片用同一个颜色进展着色,且网格线也用相应的颜色,从而使得图形外表显得更加光滑。shading interp命令在网格片采用颜色插值处理,得出的外表图显得最光滑。颜色是黑色。这是系统的缺省着色方式 例 3种图形着色方式的效果展示。程序如下:*,y,z=sphere(20);colormap(copper);subplot(1,3,1);surf(*,y

12、,z);a*is equalsubplot(1,3,2);surf(*,y,z);shading flat;a*is equalsubplot(1,3,3);surf(*,y,z);shading interp;a*is equal光照处理MATLAB提供了灯光设置的函数,其调用格式为:light(Color,选项1,Style,选项2,Position,选项3)光照处理后的球面。程序如下:*,y,z=sphere(20);subplot(1,2,1);surf(*,y,z);a*is equal;light(Posi,0,1,1);shading interp;hold on;plot3(0

13、,1,1,p);te*t(0,1,1, light);subplot(1,2,2);surf(*,y,z);a*is equal;light(Posi,1,0,1);shading interp;hold on;plot3(1,0,1,p);te*t(1,0,1,light);plot3(1,0,1,p);te*t(1,0,1,light);图形的裁剪处理例4-22 绘制三维曲面图,并进展插值着色处理,裁掉图中*和y都小于0局部。程序如下:*,y=meshgrid(-5:0.1:5);z=cos(*).*cos(y).*e*p(-sqrt(*.2+y.2)/4);surf(*,y,z);shading interp;pause %程序暂停i=find(*=0&y

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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