绘制三维图形
最常用的三维图是三维图、三维网格和三维曲面图,相应的matlab命令分别为plot3、mesh和surf。
打印3
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为mn的矩阵时,plot3得到n条曲线。 其中,第I条曲线分别是以X1、Y1、Z1矩阵的第I列的成分为x、y、z轴的坐标值,但如果m=1,无论n如何,似乎都只能得到一条曲线。
例2.x1、y1、z1均为12矩阵,x2、y2、z2均为21矩阵,x3、y3、z3均为22矩阵.
t=[0:pi/100:3*pi];
x1=[t t];
y1=[cos(t )2*cos(t ) t];
Z1=[(cos(t ).^2) sin (t ).^2) cos (t ).^2) sin ) ].^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);
subplot(1、3、2 );
plot3) x2、y2、z2、'-b ';
x3=[t 3*t; 2*t 4*t] );
y3=[cos(t )3*cos(t ) t ]; 2*cos(t )4) cos (t ) );
Z3=[(cos(t ) ).^2) sin (t ).^2) cos (t ).^2) sin ) ].^ 2; (cos(t ).^2(sin ) t ).^2(cos ) t ).^2(sin ) ).^2) );
subplot(1、3、3 );
plot3(x3、y3、z3、'-b ' );
x1、y1、z1都是12的矩阵,首先画第1列曲线(t从小到大),然后画第2列) t从小到大。
x2、y2、z2都是21的矩阵。 你只需要画第一列的曲线。 首先画第一行的第一列,然后画第二行的列。 按住t键,按从小到大的顺序重复上面的步骤。
x3、y3、z3都是22的矩阵,先画第一列曲线,先画第一列,再画第二列,然后按住t按从小到大的顺序重复上面的步骤。 第二列与第一列相同,上图中有两条曲线。
美秀
使用“编辑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 )、z ).j
是mesh(z )
z必须是矩阵,不是标量或向量。 将(I,j )设为z ) I,j )的x,y轴坐标值。 mesh(z )=(m,n )、X=1:m、Y=1:n。
超人力霸王
使用surf命令,可以根据网格表示的节点对每个网格进行着色处理,从而获得着色的3d曲面图表。
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匹配,用于创建光照效果的表面图。