matlab 三维图程序,MATLAB 三维图形的绘制
三维图形的绘制
最常用的三维绘图是绘制三维曲线图、三维网格图、三维曲面图,相应的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 三维图形的绘制相关推荐
- matlab二维三维图形绘制和坐标轴范围设置
matlab二维绘图 一. 二维图形(Two dimensional plotting) 1. 基本绘图函数(Basic plotting function):Plot, semilogx, se ...
- Matlab绘图基础——其他三维图形(绘制填充的五角星)
其他三维图形 %绘制魔方阵的三维条形图 subplot(2,2,1); bar3(magic(4)); %以三维杆图形式绘制曲线y=2sin(x) subplot(2,2,2); y=2*sin( ...
- matlab画一个三维图形投影的函数的图
在 MATLAB 中,可以使用 surf 函数画出三维图形的投影图.首先,需要确定图形的 X.Y 和 Z 坐标数据.然后,可以在命令窗口中输入 surf(X,Y,Z) 来绘制图形. 例如: [X,Y] ...
- 计算机图形学--三维图形表面绘制
目录 三维立体图形绘制基本思想 球体绘制思想 代码实现: 圆环体绘制思想 代码实现: 正棱柱体绘制思想 正棱台体以及正棱锥体绘制思想 正棱台体绘制代码实现: 三维立体图形绘制基本思想 对于三维图形的立 ...
- 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 ...
- Matlab随笔之三维图形绘制
1.三维曲线 用到了plot3函数.plot3(x,y,z)用来绘制3维曲线图,而不能绘制曲面图!就是把所有的(x,y,z)点连接在一起. t=linspace(0,10*pi,2000); x=si ...
- MATLAB在三维图形上绘制标记点
一.背景 在实际应用绘制图形时,需要在三维模型上标记出来某些点,甚至还要绘制这些点之间的对应关系(使用直线连接),现将几种不同的绘制方法总结如下. 二.标记点 1.标记扁平点 % x,y,z是要标记的 ...
- 【MATLAB】三维图形的绘制mesh
步骤如下: (1)确定自变量x和y的取值范围和取值间隔 x = x1 :dx :x2 , y = y1 : dy : y2 (2)构成xoy平面上的自变量采样"格点"矩阵 ①利用格 ...
- MATLAB中的三维图形等值线
在军事.地理等学科中,经常会到等值线.在MATLAB中有许多绘制等值线的命令. 1.contour3命令 contour3是三维绘图中最常用的绘制等值线的命令,利用该命令可生成一个定义在矩形格栅上曲面 ...
最新文章
- 如何在VS2013配置CUDA,并编译生成DLL
- stm32 GPIO模式
- 深大计算机科学与技术在广东省,广东考生请注意:深圳大学2021年计划本省总招生人数比例超过75%!...
- bim建筑绘图计算机要求,BIM考试报名条件:想要成为一级BIM建模师需要达到哪些要求?...
- hadooprbac_rbac权限管理系统的学习
- 有空研究这篇http://blog.csdn.net/studyvcmfc/article/details/7720258 研究后写篇记录
- 我们如何体验 Line 的生活方式
- linux性能监控命令
- 42张PPT揭秘字节跳动人力资源体系(推荐收藏)
- 今天和朋友去参观一家做电商创业公司
- 【50】了解new和delete的合理替换时机
- hadoop命令使用put上传文件报错
- php调用redis的scan,hscan,zscan 命令
- 如何快速制作一张数据地图,收藏这10张模板就够了
- 009_设备树属性的获取-以LED为例
- bluetooth Specification
- 面试常问--你最大的长处和弱点分别是什么?这些长处和弱点对你在企业的业绩会有什么样的影响
- vue使用markdown
- SpringCloud+CloudAlibaba微服务初阶入门
- 【论文翻译】联合学习对齐和翻译的神经机器翻译