testing - 网格点测试 : dealing with problematic cases?

标签 testing polygon point

我需要检查一个点是否在由三角形组成的任意凹面网格内。

我正在使用“向任意方向发射光线并检查三重交点的数量……偶数表示点在外部,奇数表示点在内部”方法来对此进行测试。

如果光线总是射到三角形的内部,就没有问题。但是,如果光线击中边或顶点,就会导致问题。

例如,假设 4 个三角形都共享一个公共(public)顶点。如果光线穿过该顶点,则所有 4 个三角形都将报告命中。在那种情况下,即使起点在网格内部,它也会报告 4 个交点并考虑网格外部的点。当光线穿过由多个三元组共享的边时,会出现类似的问题。

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

最佳答案

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

关于testing - 网格点测试 : dealing with problematic cases?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10219852/

相关文章:

ruby-on-rails - current_user 使用 Devise 在 Controller 中返回 TrueClass 而不是 User

java - 对象上的 LWJGL 纹理 - Java

c# - 简化一组点

javascript - Jest 测试一个没有返回值的函数

java - onLowMemory 事件测试

scala - 如何模拟 Scala 单例对象?

ios - 在 SDK 谷歌地图中快速绘制多边形/形状

math - 一种简单的多边形相交算法

xquery - 使用 cts :circle-intersect 在 Marklogic 7 中搜索多边形中的点/圆

java - 如何在Android中添加2个org.opencv.core.Point对象?