MATLAB教程三维图形.ppt_第1页
MATLAB教程三维图形.ppt_第2页
MATLAB教程三维图形.ppt_第3页
MATLAB教程三维图形.ppt_第4页
MATLAB教程三维图形.ppt_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1.5作图与动画,matlab语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现可视化,这是其它语言所不能比拟的。,1.5.2三维图形,一.三维空间曲线plot3最基本的三维图形指令指令:plot3(x,y,z,s)x,y,z是同维数的矢量或矩阵,每组x,y,z构成一个点的坐标,各点依次相联,形成一条曲线。利用矩阵可以同时画多条空间曲线。s是线型、颜色和标志的参数。,例1:x,y,z均为矢量时t=0:0.01:15;x=sin(t);y=cos(t);z=t;plot3(x,y,z),axissquare;gridon,x1=0.5,0.5,0,0.5;y1=0.5,0.5,0,0.5;z1=1,0,0,1;x2=0.5,0.5,1,0.5;y2=0.5,0.5,0,0.5;z2=1,0,0,1;x3=0,1;y3=0,0;z3=0,0;plot3(x1,y1,z1,x2,y2,z2,x3,y3,z3),Kjqx.m,kjqx02.mqzb.m,例2:x,y,z均为矩阵时x,y=meshgrid(-2:0.1:2);Z=x.*exp(-x.2-y.2);plot3(x,y,Z)gridon,例3:指定曲线图的线型、颜色及标记t=0:pi/20:10*pi;plot3(sin(t),cos(t),t,:*r),gridtitle(kjqx),xlabel(sin(t),ylabel(cos(t),zlabel(t),二.画球面、椭球面和柱面Sphere(N)画一个半径为1,有N条经线的球面。Cylinder(R,N)画由母线R旋转产生的柱面,柱面上有N条母线Ellipsoid(XC,YC,ZC,XR,YR,ZR,N)画椭球面,Qtzt.m,subplot(1,2,1)sphere(6),axisequalsubplot(1,2,2)t=0:0.1*pi:2*pi;X,Y,Z=cylinder(4*cos(t);mesh(X,Y,Z)axissquare,三.网线和表面图1、三维绘图数据的产生在matlab中,曲面是用xy平面上各个格点的Z坐标来定义的。画曲面前先要生成三维绘图数据。(1)利用meshgrid函数生成平面网格坐标矩阵。再利用函数关系求Z.x=a:x:b;y=c:y:d;X,Y=meshgrid(x,y);Z=f(x,y),(2)利用双峰函数peaksx,y,z=peaks(n)分别创建x,y,z三个均为nn阶的方阵peaks(n)直接使用peaks函数所创建的矩阵绘制表面图,2、指令mesh(Z)绘制分别以mn阶矩阵Z的行数和列数为x和y坐标(1:m,1:n),以Z的对应元素值为Z坐标的三维网线图,只有定义点的连线有颜色mesh(X,Y,Z)绘制分别以矩阵X、Y、Z的元素值为坐标的三维网线图。meshc将网线图与等高线图绘制在一起meshz在绘制网线图时画出零基准平面waterfall绘制瀑布线图wangxian01.m,surf(Z)绘制分别以mn阶矩阵Z的行数和列数为x和y坐标(1:m,1:n),以Z的对应元素值为Z坐标的三维表面图,连线及其之间的面积有颜色。surf(X,Y,Z)绘制分别以矩阵X、Y、Z的元素值为坐标的三维表面图。biaomiantu.m,四、视角view(az,el)az方位角,单位是度,取值为-180180,计算起点是负y轴。el俯视角,取值为-9090,计算起点是xy平面.三维观察时默认az=-37.5,el=30二维观察时默认az=0,el=90,五、色彩的调制、渲染和光照控制1.色彩指令colormap(Map)Map是色图矩阵或色图函数色图矩阵是m3的数值矩阵,它的每一行是RGB三元组。000黑色100红色010蓝色001绿色色图函数pink粉色copper铜色hot暖色cool冷色flag四色旗prism光谱色springsummerautumnwinter,setu.m,2、渲染方式:shadingflat平坦式渲染shadinginterp插补式渲染shadingfaceted平坦式加黑色网格线,3、控制光照效果surfl(X,Y,Z,S,K)S用以确定光源的位置,K是用光方式surfl(X,Y,Z)默认方式ts.m,六、四维数据的表现为了实现三维数据的可视化表现,Matlab提供了绘制四维切片图函数slice。Slice(X,Y,Z,v,xi,yi,zi)其中X,Y,Z为使用meshgrid生成的三维数据网格,v为所绘制图形的函数,xi,yi,zi为切片的位置Slice(v,xi,yi,zi)若X,Y,Z为使用meshgrid生成的mnj的三维数据网格,则以1:m为x坐标,以1:n为y坐标,以1:j为z坐标,v为所绘制图形的函数,xi,yi,zi为切片的位置ys.mys02.m,1.5.4动画,1、彗星轨迹图Comet(x,y,p)彗长为p*length(y)的二维彗星轨迹,p的默认值为0.1Comet3(x,y,z,p)彗长为p*length(y)的三维彗星轨迹,p的默认值为0.1ddqxn.mhuixing.m,2.影片动画制作影片动画的步骤:M=moviein(n),定义一个n列的矩阵M,以存储n帧画面,每列对应一帧。M(:,j)=getframe,依次将n帧画面存入矩阵M,通常用for循环完成。getframe函数可截取每一幅画面信息而形成一个很大的列向量,该向量可保存到一个变量中,显然,保存n幅图就需一个大矩阵。movie(M,k,FPS),将n帧画面演示k次,每秒FPS帧,k默认为一次,FPS默认为12。,3.实时动画Matlab用图形对象的EraseMode属性来实现在保持背景图案的条件下擦除旧对象,显示新对象。EraseMode的属性:normal重绘整个显示区none不作擦除,直接在原图上绘图xor擦除旧对象的点绘制新对象的点background把旧对象的颜色变为背景色当新对象的属性修改以后,用drawnow刷新屏幕,Wave1.mwave2.m,作业:1、使用plot3绘制三维曲线,t=0:pi/50:10

温馨提示

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

评论

0/150

提交评论