0

问题:我需要检测 STL 文件中描述的防水形状的大小/形状。

我已经探索了许多不同的方法来解决这个问题,我正在尝试使用 XNA 在以下两个方向之间做出决定。

碰撞/接近检测与光线投射。

在这两种情况下,我都需要一个布尔值的 3D 立方体,以指示空间中该点的顶点是否与导入的网格表面发生碰撞(或接近)。

似乎碰撞检测或光线投射都可以实现我的目标,我倾向于碰撞/接近检测。在倾倒数百个小时来调查这个过程之前,是否有任何技术原因会阻止我使用它来解决这个问题?

在此先感谢-我期待可以提供的任何建议/帮助。

4

1 回答 1

3

如果我正确理解您的要求,那么您说的是体素化固体。此博客条目中遵循的方法是对光线投射方法发出警告:

我之前使用的实体体素化技术的问题在于它使用了光线投射;除非网格是水密的并且没有像相交几何体这样的异常,否则无法执行实体体素化。

如果您的实体不超出此标准,那么射线投射方法似乎完全有效,但是我提到的博客使用了一种高级八叉树技术,无论实体的形状如何,它似乎都可以工作。从博客条目看来,您甚至可以检查一些源代码。无论如何,我会检查博客条目中引用的学术论文(以及源代码,如果有的话),并从复杂性的角度决定哪种方法值得投入时间。

于 2013-07-02T17:56:57.987 回答