2017-08-16 69 views
-1

我有以下的(僞):如何確定如果事情是一個閾值內共面

#This is the point I want to check for coplanar 
pointToCheck 
#These 3 make the triangle I am using to check pointToCheck against 
pointB 
pointC 
pointD 

#Equation 
AB = pointB - pointToCheck 
AC = pointC - pointToCheck 
AD = pointD - pointToCheck 

result = dot(AB, cross(AC, AD)) 

Currenly我知道,如果結果是0,那麼他們是共面,但我需要一些更靈活地說:如果結果是0 + - 它們是共面的。

一些不錯的人可以幫我嗎?

謝謝! :)

編輯:

也許我應該問:是否有可能做一個檢查,以確定共面,兩者均並接收返回的角度?

例如: 分A,B,C,d

要檢查點一對三角形BCD並發現這是不共面的,但你從公式得到的是告訴你確切的角度(或接近)的重要程度。

回答

0

在一般情況下,您可以找到平面的方程並從中獲得距離。

但是你可以使用很好的近似值:似乎你計算三重乘積V,並且絕對值| V |對應於四面體ABCD的體積(具有一些像1/6的係數)。

所以,你可以將通過三角形BCD(BC和CD的矢量積的大小)的面積本書,並得到高度的一些近似(和距離的平面)

+0

你能解釋一下我應該怎麼能期望這個結果在不同的場景中看起來? – TheBeardedBerry

+0

您將得到從BCD平面到A的距離(有一些係數)。將它與一些公差水平進行比較。 – MBo

相關問題