三维图形的绘制

最常用的三维绘图是绘制三维曲线图、三维网格图、三维曲面图,相应的matlab命令分别为plot3、mesh、surf。

plot3

plot3(X1,Y1,Z1,lineSpec)   lineSpec定义曲线线型、颜色、数据点,与plot相同。其中X1,Y1, Z1的维数必须相同,也就是说对于X1中的任一个点,在与Y1、Z1相应的位置也必须存在一个值,这样在空间中才会存在这个点。

(1)X1,Y1, Z1为长度相同的向量时,plot3将以X1,Y1, Z1相应位置上的点为x,y,z轴的坐标值绘制三维曲线。

(2)X1,Y1, Z1为m×n的矩阵时,plot3将得到n条曲线,其中第i条曲线为分别以X1,Y1, Z1矩阵的第i列分量为x,y,z轴的坐标值,但好像m=1时,不管n为多少,都只得到一条曲线。

例2.x1,y1,z1都为1×2矩阵,x2,y2,z2都为2×1矩阵,x3,y3,z3都为2×2矩阵。

>> t=[0:pi/100:3*pi];

>> x1=[t t];

>> y1=[cos(t) 2*cos(t)];

>> z1=[(cos(t)).^2+(sin(t)).^2 (cos(t)).^2+(sin(t)).^2+2];

>> subplot(1,3,1)

>> plot3(x1,y1,z1,'+-b');

>> x2=[t;t];

>> y2=[cos(t);2*cos(t)];

>> z2=[(cos(t)).^2+(sin(t)).^2;(cos(t)).^2+(sin(t)).^2+2];

>> subplot(1,3,2);

>> plot3(x2,y2,z2,'+-b');

>> x3=[t 3*t;2*t 4*t];

>> y3=[cos(t) 3*cos(t);2*cos(t) 4*cos(t)];

>> z3=[(cos(t)).^2+(sin(t)).^2 (cos(t)).^2+(sin(t)).^2+3;(cos(t)).^2+(sin(t)).^2+2 (cos(t)).^2+(sin(t)).^2+4];

>> subplot(1,3,3);

>> plot3(x3,y3,z3,'+-b');

x1,y1,z1都为1×2矩阵,先画第一列的曲线(按t从小到大),然后再画第二列(按t从小到大)。

x2,y2,z2都为2×1矩阵,只需要画第一列的曲线,先画第一行第一列,然后第二行第一列,按着t从小到大重复上面步骤。

x3,y3,z3都为2×2矩阵,先画第一列的曲线,先画第一行第一列,然后第二行第一列,按着t从小到大重复上面步骤。第二列同第一列相同,如上图有两条曲线。

mesh

mesh命令用于绘制三维网格图形,将相邻的点用直线连接构成一个网格图,网格节点是z中的数据点。

mesh(X,Y,Z,C)

其中C用于定义颜色,若没有定义C,则mesh(X,Y,Z)绘制的颜色随着Z的大小成比例变化。

X,Y必须都为向量,若X,Y的长度分别为m,n,则[m,n]=size(Z),此时网格线中每个节点的坐标为(X(i),Y(j),Z(i.j)).

mesh(Z)

Z必须是一个矩阵,不可以是标量或向量,将(i,j)作为Z(i,j)的x,y轴坐标值。mesh(Z)=(m,n),X=1:m,Y=1:n.

surf

surf命令得到的是着色的三维表面图,着色的方法是对每一个网格依据网格所代表的节点着色。

surf(X,Y,Z,C)

surf(X,Y,Z)

surf(Z)

各个参数意义与mesh相同。

例2.对相同的数据节点分别用surf和mesh绘图,结果如下。

>> x=0:0.2:2*pi;

>> y=0:0.2:2*pi;

>> z=sin(x')*cos(2*y);

>> subplot(1,2,1);

>> surf(x,y,z);

>> subplot(1,2,2);

>> mesh(x,y,z);

另外:

1.meshgrid 将给定的区域按一定的方式绘制成平面网格。

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

其中x,y用来定义划分区域,也可以定义划分方法。X,Y用来存储划分后的数据。

2.meshc(x,y,z)

调用方式与mesh一致,用于在mesh命令下绘制的三维曲面图下画出等高线。

3.meshz(x,y,z)

调用方式与mesh一致,在mesh作用之后,增加绘制边界的功能。

4.surfc(x,y,z)

调用方式与surf一致,用于在surf命令下绘制的三维曲面图下画出等高线。

5.surfl(x,y,z)

调用方式与surf一致,用来绘制光照效果表面图。

matlab 三维图程序,MATLAB 三维图形的绘制相关推荐

  1. matlab二维三维图形绘制和坐标轴范围设置

    matlab二维绘图 一. 二维图形(Two dimensional plotting) 1. 基本绘图函数(Basic plotting function):Plot, semilogx,   se ...

  2. Matlab绘图基础——其他三维图形(绘制填充的五角星)

    其他三维图形 %绘制魔方阵的三维条形图 subplot(2,2,1); bar3(magic(4));   %以三维杆图形式绘制曲线y=2sin(x) subplot(2,2,2); y=2*sin( ...

  3. matlab画一个三维图形投影的函数的图

    在 MATLAB 中,可以使用 surf 函数画出三维图形的投影图.首先,需要确定图形的 X.Y 和 Z 坐标数据.然后,可以在命令窗口中输入 surf(X,Y,Z) 来绘制图形. 例如: [X,Y] ...

  4. 计算机图形学--三维图形表面绘制

    目录 三维立体图形绘制基本思想 球体绘制思想 代码实现: 圆环体绘制思想 代码实现: 正棱柱体绘制思想 正棱台体以及正棱锥体绘制思想 正棱台体绘制代码实现: 三维立体图形绘制基本思想 对于三维图形的立 ...

  5. matlab三维图形的绘制

    采用matlab进行三维图绘制 1.mesh函数:网格图 mesh(x,y,z) x是n维向量,y是m维向量,z是m*n维向量 x=1:0.1:10; y=1:0.1:10; [x, y] = mes ...

  6. Matlab随笔之三维图形绘制

    1.三维曲线 用到了plot3函数.plot3(x,y,z)用来绘制3维曲线图,而不能绘制曲面图!就是把所有的(x,y,z)点连接在一起. t=linspace(0,10*pi,2000); x=si ...

  7. MATLAB在三维图形上绘制标记点

    一.背景 在实际应用绘制图形时,需要在三维模型上标记出来某些点,甚至还要绘制这些点之间的对应关系(使用直线连接),现将几种不同的绘制方法总结如下. 二.标记点 1.标记扁平点 % x,y,z是要标记的 ...

  8. 【MATLAB】三维图形的绘制mesh

    步骤如下: (1)确定自变量x和y的取值范围和取值间隔 x = x1 :dx :x2 , y = y1 : dy : y2 (2)构成xoy平面上的自变量采样"格点"矩阵 ①利用格 ...

  9. MATLAB中的三维图形等值线

    在军事.地理等学科中,经常会到等值线.在MATLAB中有许多绘制等值线的命令. 1.contour3命令 contour3是三维绘图中最常用的绘制等值线的命令,利用该命令可生成一个定义在矩形格栅上曲面 ...

最新文章

  1. 如何在VS2013配置CUDA,并编译生成DLL
  2. stm32 GPIO模式
  3. 深大计算机科学与技术在广东省,广东考生请注意:深圳大学2021年计划本省总招生人数比例超过75%!...
  4. bim建筑绘图计算机要求,BIM考试报名条件:想要成为一级BIM建模师需要达到哪些要求?...
  5. hadooprbac_rbac权限管理系统的学习
  6. 有空研究这篇http://blog.csdn.net/studyvcmfc/article/details/7720258 研究后写篇记录
  7. 我们如何体验 Line 的生活方式
  8. linux性能监控命令
  9. 42张PPT揭秘字节跳动人力资源体系(推荐收藏)
  10. 今天和朋友去参观一家做电商创业公司
  11. 【50】了解new和delete的合理替换时机
  12. hadoop命令使用put上传文件报错
  13. php调用redis的scan,hscan,zscan 命令
  14. 如何快速制作一张数据地图,收藏这10张模板就够了
  15. 009_设备树属性的获取-以LED为例
  16. bluetooth Specification
  17. 面试常问--你最大的长处和弱点分别是什么?这些长处和弱点对你在企业的业绩会有什么样的影响
  18. vue使用markdown
  19. SpringCloud+CloudAlibaba微服务初阶入门
  20. 【论文翻译】联合学习对齐和翻译的神经机器翻译

热门文章

  1. 使用Jquery筛选包含readonly属性的input标签
  2. STM32 GPIO的输入、输出模式的介绍应用总结(模拟/浮空/上拉/下拉/推挽/开漏)
  3. 名叫中国的北冥,才能孵出鹏鸟:未来汽车所需要的本土智慧
  4. 公众号留言文章页评论功能如何开通,最新教学,公众平台订阅号服务号留言评论功能快速申请获得方式看这里
  5. 初探——数说《红楼》
  6. H5之直播开发之旅总结
  7. Python金融数据三:Python程序计算看涨期权
  8. catia73631234567890
  9. Vue基础6天实施笔记
  10. B+树对比B树的好处