用点填充任意3D几何体积的方法

3
我希望填充任意网格的体积以形成原始几何形状的粗略点集。我看到了关于网格采样的这篇文章,看起来很有前途,但我想知道是否有其他方法。请注意,虽然我需要实时执行此操作,但速度仍优于准确性。

Mesh sampling of a torus

1个回答

1

一种典型的方法是拒绝采样。在您的对象周围放置一个边界框。在框内生成随机点。对于每个点p,在随机方向上发射一条光线,并计算与对象网格的交叉次数。如果交叉次数为奇数,则p在内部。

这种方法有两个挑战。首先,如果您的对象仅占边界框体积的一小部分,那么大部分样本将被拒绝。其次,您需要强大的代码来计算光线交叉。后者已经被彻底解决了。朴素的方法很容易失败。

更复杂的方法使用在对象内部进行随机行走,以到达内部的随机位置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接