错误的 GNU Octave 3D 绘图

我试图使用 GNU Octave 在 3D 中绘制四个点。所以我首先定义它们。

a = [1 2 3];
b = [-1 0 -1];
c = [5 4 3];
d = [1 0 -2];

接下来,我尝试了,plot3(a,b,c,d, 'o')但我很快就放弃了这个想法。相反,我宁愿使用两次plot3函数将其与hold on.

plot3(a,b,'o')
hold on
plot3(c,d);

这就是发生的事情:在此处输入图片说明这个图描绘了 6 个共面的点,而不是 4 个点。

有人可以解释一下我做错了什么吗?

苏弗

由于文件非常明确地指出,该函数的输入是xyz坐标。如果使用数组,则为这些向量中的每个对应点创建一个点。在您的情况下,您提供的每个输入plot3都有三个元素,因此将创建三个点由于您plot3像这样调用两次,结果将是6积分。

正确用法是plot3将所有x值放入数组中,将y值放入数组中,将z值放入数组中。

plot3([a(1), b(1), c(1), d(1)], [a(2), b(2), c(2), d(2)], [a(3), b(3), c(3), d(3)], 'o')

或者更简洁

points = [a; b; c; d];
plot3(points(:,1), points(:,2), points(:,3), 'o');

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章