我有一个任意的 3d 点集合,我知道它们是共面的,但是我如何计算那个平面?
问问题
376 次
5 回答
4
如果它们不都是平面的,请使用最小二乘拟合计算平面的系数。
平面的方程是 Ax + By + Cz = D,所以插入你的点并求解四个未知系数。
更新:只是好奇-您如何“知道”所有点都在同一平面上?是什么让你如此确定?
于 2009-11-06T11:01:31.000 回答
2
假设它们是共面的,选择三个点,然后试试这个:
http://www.jtaylor1142001.net/calcjat/Solutions/VPlanes/VP3Pts.htm
于 2009-11-06T11:00:16.170 回答
2
因为任何三个非共线点都定义了一个平面,所以可能的答案是......
只需抓住不共线的前三个点。
于 2009-11-06T11:09:06.013 回答
1
定义平面的另一种方法是从两个参数到一个点的函数。如果您有三个点 A、B、C,那么该函数将f(i,j) = A + (B-A)i + (C-A)j
覆盖平面上的所有点。
根据您的应用,将b = (B-A)
和c = (C-A)
向量归一化为垂直且具有单位长度可能会很有用。单位长度很容易。
为了使它们垂直,首先对 b 进行归一化,然后取 b 和 c 的点积。这是 c 向量指向与 b 相同方向的量,因此从 c 中减去它。c = c - (b.c)b
最后归一化 c (即除以它的长度)
于 2009-11-06T11:50:35.957 回答