MATLAB连接三维空间中的两个点今天想做⼀个这样的图:
图⽚出处:黄建华. 复杂快递⽹络的优化⽅法及抗毁性能研究[D]. ⼤连理⼯⼤学.
整张图可以简化两个三维坐标相连。
先从最简单的两个坐标相连:
⾸先给出两个点的坐标(x1,y1,z1),(x2,y2,z2)
其中数据的存储⽅式为:x=[x1,x2],y=[y1,y2],z=[z1,z2]
接下来我们⽤真实的坐标来表⽰:(1,1,0)(1,1,666)
存储的矩阵为:x = [1,1]; y = [1,1]; z = [0,666];
x = [1,1];
y = [1,1];
z = [0,666];
plot3(x,y,z,'--or');
出图:
接下来尝试两组两个坐标相连:
(1,1,0)和(1,1,666)相连,(1,2,0)(1,2,1770)相连
存储的矩阵为:x=x1 = [1,1;1,1]; y1 = [1,2;1,2]; z1 = [0,0;666,170];
x1 = [1,1; 1,1];
y1 = [1,2; 1,2];
z1 = [0,0; 666,170];
plot3(x1,y1,z1,'--or');
出图:
现在可以绘制⾃⼰的图了,我们的数据格式为:
其中x为坐标中x轴的数据,y为坐标中y轴的数据,z为坐标中z轴的数据看下x,y,z的数据内容:
可以看出x,y,z需要进⾏转置。
运⾏程序:
plot3(x',y',z','--k');
得到下图:如何用matlab将已知点连线
按照最初的标准,要让z=0的平⾯上的坐标没有圆圈,所以去掉连接的两点圆圈,单独为z>=0的地⽅标记圆圈。取出x的第⼀列,y的第⼀列,z的第⼆列标记圆圈,点⽤⿊⾊圆圈表⽰,线段为实线。
plot3(x',y',z','-k',x(:,1),y(:,1),z(:,2),'ok');
得图:
好啦,完成了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论