Geometry 如何查找三维点是否与三维三角形位于同一曲面内
假设我们有一个三角形,其中每个点用3个坐标表示。我们如何判断一个点(也用3个坐标表示)是否不在三角形内部,而是在与三角形相同的曲面上?基本上,如果点到平面的距离为零Geometry 如何查找三维点是否与三维三角形位于同一曲面内,geometry,Geometry,假设我们有一个三角形,其中每个点用3个坐标表示。我们如何判断一个点(也用3个坐标表示)是否不在三角形内部,而是在与三角形相同的曲面上?基本上,如果点到平面的距离为零 这是我第一次在谷歌上找到三角形点,我们可以构建向量 AB = B - A AC = C - A 和使用叉积的法向量N N = AB x AC 要检查点p是否属于ABC平面,请计算点积 AP = P - A dp = AP.dot.N dp对于平面中的点等于零(使用一些公差来补偿数值误差) 要查找点是否位于三角形外部: 选择正常
这是我第一次在谷歌上找到三角形点,我们可以构建向量
AB = B - A
AC = C - A
和使用叉积的法向量N
N = AB x AC
要检查点p是否属于ABC平面,请计算点积
AP = P - A
dp = AP.dot.N
dp
对于平面中的点等于零(使用一些公差来补偿数值误差)
要查找点是否位于三角形外部:选择正常
N
(如z分量)的任何非零分量仅计算此组件的叉积
AB x AP (here we need only (AB.x*AP.y-AB.y*AP.x) to get z-component of result)
BC x BP
CA x CP
如果结果的所有符号都相等(正或负)-
p
在内部,如果符号不同-p
在外部。我投票结束这个问题,因为它应该打开或重新格式化为编程问题。