MATLAB中三维向量的绘制以及坐标点的推算(quiver3,quiver,plot3,plot)

我在完成作业时需要绘制如下图形:
在这里插入图片描述其中涉及到三维图形中向量的绘制,向量大小的推算,坐标原点的推算,三维中两点连线的绘制以及如何将向量归一化的问题。

向量大小的推算

向量大小的推算必定会用到多维数组的乘法
不能直接写成[x;y;z]=[a11,a12,a13;a21,a22,a23;a31,a32,a33][x0,y0,z0]的形式,否则会出现如下错误:
在这里插入图片描述
解决方法是:
可以先用一个矩阵变量承接,
b=[a11,a12,a13;a21,a22,a23;a31,a32,a33]
[x0,y0,z0];
x=b(1,:);
y=b(2,:);
z=b(3,:);

如何将向量归一化

向量的模计算公式为norm(a),可以采用如下方式将向量归一化
(接上文代码):
x11=x(1,1)/norm(x);
x12=x(1,2)/norm(x);
x13=x(1,3)/norm(x);

三维图形中向量的绘制

首先,向量的绘制需要用到quiver3(x,y,z,u,v,w,’-r’)函数,
其中,
1、(x,y,z)是坐标原点的位置;
2、(u,v,w)是向量的大小;
3、’-r’是线段的属性,“-”表示直线段,“–”表示虚线,“r”表示线段的颜色,常用的有r-红色、g-绿色、b-蓝色、k-黑色
若要想得到我图中带圆圈的线段,可使用’-or’

接上文中代码可以得,
quiver3(x0,y0,z0,x11,x12,x13,’-or’);
hold on;

「注:在二维中使用的是quiver(x,y,u,v,’-r’)」

三维中两点连线的绘制

已知一点(x0,y0,z0),另一点(x1,y1,z1)
可用如下代码实现:
x=[x0,x1];y=[y0,y1];z=[z0,z1];
plot3(x,y,z,’-ok’);

相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页