3D 模型的均匀采样
I seek for a method/algorithm for uniform sampling of the surface of 3D models in C++.
I have found methods for uniform sampling of unit sphere such as
this and this but I need something that would work also for more complex 3D models that may also be concave.
thanks in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我的工作:我的模型由许多不同的基元组成(三角形、四边形、圆盘、圆柱体......)。对于每个基元,我可以实现随机选取方法(例如 http://mathworld.wolfram.com/TrianglePointPicking.html )。每个基元都可以计算其表面积。图元的面积越大,生成随机点的概率就越高。在我的模型中,我构建了一个像这样的累积列表
当我在模型上生成随机点时,我首先选择一个随机基元,然后选择该基元上的随机点。
What I do: My model consists of many different primitives (triangles, quads, disks, cylinder...). For each primitive I can implement a random picking method (e.g. http://mathworld.wolfram.com/TrianglePointPicking.html). Each primitve can compute its surface Area. The higher the area of the primitive the higher its probability to generate a random point. In my model I build a cumulative list like this
When I generate a random point on the model I first choose a random primitive and then a random point on this primitive.