如何确定某个阈值内是否共面

时间:2017-08-16 06:52:57

标签: python math

我有以下(伪代码):

#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

你正在检查点A对三角形BCD并发现它不是共面的,但你从公式得到的是一个角度,它可以准确地(或几乎)告诉你离点的距离。

1 个答案:

答案 0 :(得分:0)

在一般情况下,您可以找到平面的方程并获得距离。

但你可以使用很好的近似值:似乎你计算三重乘积V和| V |的绝对值对应于四面体ABCD的体积(具有一些系数,如1/6)。

所以你可以将这个体积除以三角形BCD的面积(BC和CD的矢量积的大小)并得到一些高度(和平面距离)的近似值