2015-04-02 24 views
0

我有4個3d點(x,y,z),並且我想知道這些點是否接近共面。我構造了3個向量AB,AC和AD,並計算了與這個體積相同的行列式的絕對值。我知道,如果音量爲0,那麼點是共面的,但我也想知道這些點是否非常共面(例如,我可以選擇一個閾值)。確定點是否緊密共面

任何幫助將理解的,

回答

0

你可以計算矢量AB和AC的交叉乘積,得到N1載體,正常到(ABC)面。以相同的方式,計算矢量AB和AD的叉積得到一個N2矢量,垂直於(ABD)平面。標量乘積N1.N2 = | N1 |。| N2 | .cos(X)其中X是兩個法向量之間的角度。如果你的點完全共面,X應該爲零。您可以使用Arccos函數計算X. X的統一是弧度。例如,如果X低於π/ 180,則角度低於1度,因此點幾乎是共面的。您必須爲此角度確定確切的期望閾值。

0

使用音量的一些標準化(行列式)。 例如,通過小面四面體區域的一些功能將其劃分(我選擇任意一個,以保持尺寸)

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

另一種方法:通過ABC區域(或ABC距離的距離)劃分從D vertice到ABC平面的平方距離