数学实验课件 第4章4.2_第1页
数学实验课件 第4章4.2_第2页
数学实验课件 第4章4.2_第3页
数学实验课件 第4章4.2_第4页
数学实验课件 第4章4.2_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4.2三维图形1.三维曲线

plot3(X,Y,Z,LineSpec)

函数绘出三矩阵的列向量的,其中X,Y,Z为3个大小相同的矩阵.函数给出通过这些向量所表示的点的图形.其中X,Y,Z为3个相同长度的向量.其中LineSpec为定义线型的字符串,形式同plot函数.

plot3(X1,Y1,Z1,LineSpec1,...,Xn,Yn,Zn,LineSpecn)

可为每个X、Y、Z三元组指定特定的线型、标记和颜色.可以对某些三元组指定LineSpec,而对其他三元组省略它.

绘制三维曲线的方法同平面曲线的类似,属性设置见表4-1和4-2.例4.10绘制螺旋线解

t=0:0.5:10*pi;

x=t;y=sin(t);z=cos(t);

plot3(x,y,z,'.-')

title('螺旋线')

xlabel('x');ylabel('y');zlabel('z')得到图形如图4-10.图4-10螺旋线例4.11绘制蓝宝石项链图.解

t=0:0.02*pi:2*pi;

x=sin(t);y=cos(t);z=cos(2*t);

plot3(x,y,z,'bd-')

boxon

view([-82,58])

legend('链','宝石')得到图形如图4-11.图4-11蓝宝石项链图2.三维曲面

MATLAB中利用meshgrid、mesh和surf函数可以方便绘制三维曲面图形.在MATLAB中绘制由函数z=z(x,y)确定的曲面时,首先利用meshgrid产生一个网格矩阵,然后计算函数在各网格点上的值,再利用mesh和surf函数绘制曲面图形.调用格式如下:

[X,Y]=meshgrid(x,y)

x,y为给定的向量,X,Y是网格划分后得到的网格矩阵;

若x=y,则可简写为[X,Y]=meshgrid(x).mesh(X,Y,Z,C)

绘制由X,Y,Z,C所确定的曲面网格面图形.surf(X,Y,Z,C)

绘制由矩阵X,Y,Z,C所确定的曲面图,参数含义同mesh.mesh绘制网格图,surf绘制着色的三维表面图.例4.12使用向量

x

定义的

x

坐标和向量

y

定义的

y

坐标创建二维网格坐标,并在二维网格上计算函数z=

x2+y2.解

>>x=1:2;

>>y=1:3;

>>[X,Y]=meshgrid(x,y)

X=

12

12

12Y=112233>>Z=X.^2+Y.^2Z=25581013

例4.12中例用直线x=1,x=2,y=1,y=2,y=3对[1,2]×[1,3]进行网格划分,得到网格点(1,1),(1,2),(1,3),(2,1),(2,2),(2,3),见图4-12.例4.12中的X和Y是同型矩阵,分别存储网格点的横坐标和纵坐标.利用X和Y的点幂运算计算网格点对应的函数值矩阵Z,即X中的(i,j)元素和Y中的(i,j)元素进行计算得到Z中的元素(i,j),如当X(3,1)=1,Y(3,1)=3时,Z(3,1)=10.

Z也和X、Y是同型矩阵.图4-12meshgrid绘制二维网格例4.13(1)利用mesh绘制巴拿马草帽(2)利用surf绘制椭球面解(1)x=[-8:0.5:8];y=[-8:0.5:8];

[X,Y]=meshgrid(x,y);

r=sqrt(X.^2+Y.^2)+eps;

Z=sin(r)./r;

mesh(X,Y,Z)

title(‘巴拿马草帽')

xlabel('x');ylabel('y');zlabel('z')得到图形见图4-13a.图4-13a(2)clear

r=linspace(0,pi,100);t=linspace(0,2*pi,100);

[r,t]=meshgrid(r,t);

X=3*sin(r).*cos(t);Y=2*sin(r).*sin(t);Z=cos(r);

surf(X,Y,Z)

axisequal

xlabel('x');ylabel('y');zlabel('z')

title('椭球面')

得到图形见图4-13b.图4-13bMATLAB命令如下:t=0:0.1:2*pi;r=-3:0.1:3;[t,r]=meshgrid(t,r);x=r.*cos(t);y=r.*sin(t);z=r;mesh(x,y,z)holdonu=-pi:0.1:pi;v=-3:0.1:3;[u,v]=meshgrid(u,v);x1=1+cos(u);y1=sin(u);z1=v;mesh(x1,y1,z1)得到图形如图4-14.图4-14锥面和柱面的相交图形解MATLAB命令如下:r=-1/2:0.1:1/2;t=0:0.03:2*pi;[r,t]=meshgrid(r,t);x=(1+r.*cos(t/2)).*cos(t);y=(1+r.*cos(t/2)).*sin(t);z=r.*sin(t/2);surf(x,y,z)得到图形如图4-15.

图4-15莫比乌斯带前面作出的曲面都是双侧曲面,它们可以分出内、外侧或左、右侧等,莫比乌斯带子是单侧曲面,它没有内外侧和左右侧之分.3.三维网图的高级处理

(1)消隐处理:hiddenon|off设置或取消图形消隐.该语句一定要放在绘图语句之后,否则不起作用;

(2)带有等位线投影的网图绘制:meshc;

(3)平台式网图的绘制:meshz;

(4)水线图的绘制:waterfall.例4.16三维网图的高级处理.解

>>loadlogo

>>mesh(L)

>>figure

>>[X,Y,Z]=peaks(30);waterfall(X,Y,Z)得到图形如图4-16.水线图图4-16三维网图a)MATLAB软件LOGO4.三维等高线图的绘制

contour3(Z)

创建一个包含矩阵

Z

的等值线的三维等高线图,其中

Z

包含x-y平面上的高度值.MATLAB会自动选择要显示的等高线.例4.17绘制等高线图.解

[X,Y]=meshgrid(-5:0.25:5);

Z=X.^2+Y.^2;

contour3(Z)

得到图形见图4-17.图4-17等高线

4.三维旋转体的绘制

(1)柱面图

[X,Y,Z]=cylinder(r,n)

基于向量r定义的剖面曲线返回柱面的x、y和z坐标.该圆柱绕其周长有n个等距点.例4.18绘制单位圆柱.解>>cylinder得到图形见图4-18.图4-18单位圆柱例4.19生成剖面函数

2+cos(t)

定义的柱面.解

t=0:pi/10:2*pi;

figure

[X,Y,Z]=cylinder(2

温馨提示

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

评论

0/150

提交评论