MATLAB作图基本知识程序.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
由线到面的可视化 摘要: 在Matlab,面的绘制过程中经常有许多问题,尤其是许多对计算机运用不够成熟的人,他们将长不知道怎么将脑子中的图形画出来,从而实现面的可视化,有的则会通过很复杂的方法才能实现面的绘制。本文主要想大家提供一种在你知道线的函数的情况下,快速绘制出相应的面。 线到面: 如果我们想要绘制一个平面,首先必须真正体会’meshgrid’函数的用法。 例如,我们很容易可以绘制一个直平面如图1: 相应代码如下: clear all s=linspace(0,5,21); t=linspace(0,5,21); [s,t]=meshgrid(s,t); x=s; z=t; y=zeros(size(s)); surf(x,y,z); shading interp; axis equal 但是我们也可以通过另一种方法: 我们可以知道一个一条线例如一个空间的直线如图2: 相应代码如下: clear clc s=linspace(0,5,21); z1=s; x1=zeros(size(z1)); y1=zeros(size(z1)); plot3(x1,y1,z1); 然后我们可以通过for循环得到一排直线如图3: 相应代码如下: clear clc for t=0:0.25:5 s=linspace(0,5,21); z1=s; x1=zeros(size(z1)); y1=zeros(size(z1)); % plot3(x1,y1,z1); z2=z1; x2=x1+t; y2=y1; plot3(x2,y2,z2); hold on end axis equal 然后我们可以通过meshgrid函数把这些直线变成一个面,所需要做的只是把meshgid代替for循环,plot3改为surf函数。 代码如下: clear clc t=linspace(0,5,21); s=linspace(0,5,21); [s,t]=meshgrid(s,t); z1=s; x1=zeros(size(z1)); y1=zeros(size(z1)); plot3(x1,y1,z1); z2=z1; x2=x1+t; y2=y1; surf(x2,y2,z2); hold on shading interp axis equal 如图4: 因而我们可以得到meshgid的使用方法:可以将线做展开、延伸、旋转为一个面。 基本步骤:先画出线图形,让后利用for函数进行图形叠加,最后使用meshgrid替代for函数。 同理我们也可以使用方法画球: 先画一个圆在将圆沿z轴旋转即可得到一个球。 执行如下代码: clear Clc %%%%%%%%%%%%%%%%% t=linspace(0,pi,21); s=linspace(0,2*pi,21); [s,t]=meshgrid(s,t); %%%%%%%%%%%%%%%%%%% x1=cos(s); z1=sin(s); y1=zeros(size(x1)); %%%%%%%%%%%%%%%%%%%% z2=z1; x2=x1.*cos(t); y2=x1.*sin(t); surf(x2,y2,z2); hold on % shading interp axis equal 结果如图5: 根据以上方法我们可以画出许多图形,如圆环(图6),单叶双曲回转面(图7),及圆锥面等等。 但是这种方法一般用于简单图形变换,并不适用于所有情况,像双曲抛物面,及导线比较复杂的圆锥面的变换均不适用。 我们可以通过线到面的可视化,做一些我们常见的图形,如轮胎的剖面图。 绘制轮胎剖面图: 设计原理:由线到面的可视化,我们可以画出轮胎的剖面图。 设计步骤: 首先设计轮胎的外圈。轮胎的外圈是一个圆环,处于剖面图的需要,只画出3/4*3/4的圆环,代码如下: clear clc t=linspace(0,3*pi/2,31); p=linspace(pi/2,2*pi,31); [t,p]=meshgrid(t,p); x1=5+cos(p); z1=sin(p); y1=zeros(size(z1)); z2=z1; x2=x1.*cos(t)-y1.*sin(t); y2=x1.*sin(t)+y1.*cos(t); surf(x2,y2,z2); 第二步:绘制径向剖面图: t=linspace(0,3*pi/2,31); p=linspace(0,1,31); [t,p]=meshgrid(t,p); x1=5+p; y1=zeros(size(x1)

文档评论(0)

ddf55855 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档