点对点测试:处理有问题的案例?

时间:2012-04-19 00:04:33

标签: testing polygon point

我需要检查一个点是否在由tris组成的任意凹面网格中。

我正在使用“在任意方向拍摄光线并检查三个交叉点的数量......甚至意味着点在外面,奇数意味着内部”方法来测试它。

如果光线始终击中三角形的内部,则没有问题。但是,如果光线撞击边缘或顶点,可能会导致问题。

例如,想象4个tris都共享一个共同的顶点。如果光线穿过该顶点,则所有4个tris将报告命中。在这种情况下,即使起点位于网格内部,它也会报告4个交点并考虑网格外的点。当光线通过由多个三角形共享的边缘时会发生类似的问题。

有没有什么好方法可以解决这个问题?我的第一个想法是简单地排除与已经测试过的其他tris共享顶点的tris ......但这只会产生更多问题。

1 个答案:

答案 0 :(得分:0)

我想在这种情况下,您可以简单地收集数组中的所有生命值信息,然后遍历该数组以获取不同的点,并且不计入重复点,然后检查简化数组的偶数或奇数长度。