线程评级:
  • 0票(s) - 0平均
  • 1
  • 2
  • 3.
  • 4
  • 5
FITPLANE()的文档
# 1
是否有关于“robomath.fitPlane()”方法如何工作的其他文档?

具体地说:
1.fitPlane期望什么输入?从源代码来看,它似乎可以接受任何类似数组的东西。然而,目前还不清楚它在寻找什么样的维度。(我预计其中一个维度需要是3,但我不确定是哪个。)
2.输出是什么意思?源代码显示' pplane '和' vplane '作为输出,但不清楚它们是什么。源代码似乎表明后者是一个平面方程,使得“b(1)*X +b(2)*Y +b(3)*Z +b(4) = 0”,但其他输出的含义并不清楚。
3.为了测试此方法返回的内容,我尝试使用列表的3x3标识列表来调用它:' fitPlane([[1,0,0],[0,1,0],[0,0,1]]) '。
然而,我得到一个异常:' IndexError:索引3超出了大小为3的轴0的边界'。
异常发生在第1057行:' B = v[3,:] # Solution是v的最后一列'。
这通电话有什么问题?

//www.sinclairbody.com/doc/en/PythonAPI/robo...h.fitPlane
# 2
好了,这是一个我能用Z=100平面上的点重现的特殊的意外行为。因为所有点都包含在Z=100平面中,所以我希望法向量是Z轴。

一组点,所有的Z坐标都是100,其他坐标都是小的:行为与预期一致
“robomath。fitPlane ([[0100], [0, 1100], [0100], [0, 2100 ] ])` --> 正常的“[0,0,1]”

一组点,所有的Z坐标为100,其他坐标更随机:不像预期的那样表现
“robomath。fitPlane([[57岁,37岁,100年],[34岁,37岁,100年],[11,37岁,100],[-11,37岁,100 ] ])` --> 正常的“(0,1,0)”

这是怎么回事?
# 3
更新:我知道是怎么回事了。

我在第二盘的所有点都沿着[x, 37, 100]。这里有一个更好的例子,仍然会导致奇怪的行为:
'分=[[57岁,37岁,100],[34岁,37岁,100年],[11、-37、100],[-11、38、100]]”

使用上面的修改集,我们仍然看到奇怪的结果。这是因为numpy SVD方法期望这些点以0为中心。请看这个Stack Overflow的答案:https://stackoverflow.com/questions/7623...ts-exactly




浏览此主题的用户:
1客人(年代)