确定点是否紧密共面

时间:2015-04-02 15:55:43

标签: math 3d plane

我有4个3d点(x,y,z),我想知道这些点是否接近共面。我构造了3个向量AB,AC和AD,并计算了行列式的绝对值,这个值与音量相同。我知道如果音量为0那么这些点是共面的,但我也想知道这些点是否紧密共面(例如我可以选择一个阈值)。

任何帮助将不胜感激,

2 个答案:

答案 0 :(得分:1)

使用一些音量标准化(行列式)。 例如,将它除以四面体面的一些函数'区域(我选择任意一个来保持尺寸)

Vnorm = Abs(V)/(S1 + S2 + S3 + S4) 3/2

另一种方法:通过ABC区域(或ABC周长距离)将D顶点到ABC平面的平方距离除以

答案 1 :(得分:0)

您可以计算向量AB和AC的交叉积,得到N1向量,与(ABC)平面垂直。以相同的方式,计算向量AB和AD的叉积,获得与(ABD)平面垂直的N2向量。 标量积N1.N2 = | N1 |。| N2 | .cos(X)其中X是两个法向量之间的角度。如果你的点完全共面,X应该为零。您可以使用Arccos函数计算X. X的统一是弧度。如果X低于pi / 180,例如你的角度低于1度,那么点几乎是共面的。您必须确定此角度的确切所需阈值。