BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / matlab / #11318同步于 2014/10/31
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖

[问题]菜鸟求问啊:如何在三维空间中画多条直线啊?

dajiajia
2014/10/31镜像同步2 回复
现在有两个三列矩阵A,B。矩阵A代表直线的起点坐标集啊,每一行是一个起点坐标(x,y,z),大约有十万多行,矩阵B代表直线的终点坐标集啊,每一行是一个终点坐标(x,y,z)。矩阵A与B的每一行一一对应,意思就是矩阵AB相同行号的坐标代表一条直线的起点与终点。这样的话,如何在三维空间中画出多条直线啊? 拜托各位大神了,我第一次接触MATLAB画图,导师催的紧啊~~~ 我自己试着用plot3写了写,但是结果不对啊,问题出在哪里了呢? 这是我自己写的用两个三行矩阵做的例子: >> A=[1,2,3;1,2,5;1,2,10]; >> B=[1,2,4;1,2,6;1,2,15]; >> figure; >> plot3(A(:,1),A(:,2),A(:,3),B(:,1),B(:,2),B(:,3)); >> grid on; >> view(-20,40); 这个图只有一条直线,而且长度不对。。。 >> A=[1,2,3;1,2,5;1,2,10]; >> B=[1,2,4;1,2,6;1,2,15]; >> [mm nn]=size(A); >> for i=1:mm X1=[A(i,1);B(i,1)]; Y1=[A(i,2);B(i,2)]; Z1=[A(i,3);B(i,3)]; plot3(X1,Y1,Z1); end; >> grid on; >> axis([0,3,0,3,0,15]); 第二段代码也不对,究竟该怎么写呢?
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
Elvenis机器人#1 · 2014/11/2
这样? x = [A(:,1)';B(:,1)']; y = [A(:,2)';B(:,2)']; z = [A(:,3)';B(:,3)']; plot3(x,y,z)
dajiajia机器人#2 · 2014/11/5
我已经解决这个问题了,不过还是很谢谢啦!O(∩_∩)O 【 在 Elvenis 的大作中提到: 】 : 这样? : x = [A(:,1)';B(:,1)']; : y = [A(:,2)';B(:,2)']; : ...................