[工学]图形基础.ppt

  1. 1、本文档共223页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]图形基础

6.5 基本三维绘图 三维图形的表现能力要强于二维图形,在很多时候需要使用MATLAB绘制三维图形的能力。MATLAB提供了若干函数进行三维数据可视化,同时还有若干种方法进行三维图形对象属性的设置和控制。在本小节,将介绍MATLAB进行三维图形处理的基本方法。其实三维图形的绘制也是在二维平面中实现的,这其中涉及了计算机图形学等学科的基本知识,有兴趣的读者可以参阅有关的教科书。 绘制三维图形的基本过程要比绘制二维图形复杂一些,基本过程如下: (1) 准备需要绘制在MATLAB图形窗体中的数据。 (2) 创建图形窗体,并且选择绘制数据的区域。 (3) 使用MATLAB的3D绘图函数绘制图形或者曲线。 (4) 设置调色板和投影算法。 (5) 增加光照,设置材质。 (6) 设置视点(viewpoint)。 (7) 设置绘图坐标轴的属性。 (8) 设置透视比。 (9) 为绘制的图形添加标题、轴标签或者标注文本等。 (10) 打印或者导出图形。 例子6-14 简单三维绘图。 例子6-14的脚本文件代码如下: 001 %PLOT_3D 简单三维绘图 002 % 准备数据 003 z = 0:0.1:40; 004 x = cos(z); 005 y = sin(z); 006 clf; 007 % 绘制曲线 008 plot3(x,y,z) 009 % 添加标注 010 grid on 011 title(Spiral Plot - using PLOT3) 012 xlabel(x) 013 ylabel(y) 014 zlabel(z) 图6-40 简单的三维绘图 例子6-14中使用了函数plot3,该函数类似plot函数,能够将X、Y、Z坐标绘制在三维的空间,它的基本语法如下: plot3(xdata, ydata, zdata, clm, ......) 在命令行中,clm的取值和plot函数的取值完全一致。 在例子6-14的代码中,使用zlabel函数向坐标轴添加标签,它的用法类似于xlabel和ylabel函数。 在例子6-14中,没有进行其他复杂的操作,比如设置光线、视点和三维实体的表面材质等特性。在例子6-15中完整地演示了绘制三维曲面的过程。 例子6-15 绘制复杂的三维曲面。 例子6-15使用的脚本文件如下: 001 %准备数据 002 Z = peaks(20); 003 %选择图形窗体 004 figure(1);clf 005 %调用3D绘图函数 006 h = surf(Z); 007 %设置调色板和投影算法 008 colormap hot; 009 shading interp; 010 set(h,EdgeColor,k) 011 %增加光照 012 light(Position,[-2,2,20]) 013 lighting phong 014 %设置材质 015 material([0.4,0.6,0.5,30]) 016 set(h,FaceColor,[0 0.7 0.7],... 017 BackFaceLighting,lit) 018 %设置视点 019 view([30,25]) 020 set(gca,CameraViewAngleMode,Manual) 021 %设置轴属性 022 axis([0 20 0 20 -8 8]) 023 set(gca,ZTickLabel,Negative||Positive) 024 %设置透视比 025 set(gca,PlotBoxAspectRatio,[2.5 2.5 1]) 026 %添加文本注释 027 xlabel(X Axis);ylabel(Y Axis);zlabel(Function Value); 028 title(Peaks); 图6-41 代码运行的中间结果 图6-42 程序运行的最终结果 在例子6-15的代码中使用了很多三维图形属性设置的函数以及大量的图形对象属性,这些内容已经超出了本书的讨论范围,有兴趣的读者可以结合例子的代码阅读MATLAB的帮助文档或者函数的在线帮助。 为了便于绘制三维图形,MATLAB提供了一些函数用于特殊的三维曲面绘制,其中经常使用的函数有mesh函数和surf函数。 mesh函数用来绘制三维的线框图,它的输入参数一般为X、Y和Z三个坐标系的数据,同时该函数还有meshc和meshz函数两种变形,其中meshc函数用来绘制具有等高线性质的mesh曲面,meshz函数用于绘制mesh曲面的参考面

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档