我刚刚用这个简单的算法在飞机上实现了泊松磁盘生成:http: //people.cs.ubc.ca/~rbridson/docs/bridson-siggraph07-poissondisk.pdf
现在我想在半球表面上生成泊松盘分布(或者更好的是,在给定一定角度的情况下,在球面的一部分上)
谁能告诉我一个算法来做到这一点?
谢谢!
我刚刚用这个简单的算法在飞机上实现了泊松磁盘生成:http: //people.cs.ubc.ca/~rbridson/docs/bridson-siggraph07-poissondisk.pdf
现在我想在半球表面上生成泊松盘分布(或者更好的是,在给定一定角度的情况下,在球面的一部分上)
谁能告诉我一个算法来做到这一点?
谢谢!
谢谢你的回答!我之前已经找到了解决方案,所以我会在这里发布给有兴趣的人:
首先,我在 unitsquare 中创建了足够的泊松圆盘样本(足够多于 n)
然后我按较小的坐标对这些样本进行排序(例如,一个点(10,9),较小的坐标是 9 - 另一个点(8,50),较小的坐标是 8 - 点的顺序是(8, 50),(10,9) )
然后我取排序列表中的前 n 个样本。由于排序模式,这些样本将再次位于方形区域。然后我放大坐标,使它们再次位于单位正方形中。现在我在单位正方形中有正好 n 个泊松圆盘样本。
然后我使用http://www.cs.rutgers.edu/~decarlo/readings/mcrt-sg03c.pdf第 23 页中描述的平面到球体映射在任意区域角的球体段上获得均匀分布的样本
很适合我
我会看:Gamito 和 Maddock 的“通过细分细化在 n 维空间中快速生成泊松圆盘样本”。使用 Fekete 的“使用球体四叉树渲染和管理球体数据”,这应该很容易扩展到球体。