半球上的泊松盘分布
我刚刚用这个简单的算法在平面上实现了泊松盘生成: http://people.cs.ubc.ca/~ rbridson/docs/bridson-siggraph07-poissondisk.pdf
现在我想在半球表面上生成泊松盘分布(或者更好,在球面的一部分上,给定一定角度)
任何人都可以告诉我一个算法来做到这一点?
谢谢!
I just implemented Poisson Disk generation in the plane with this simple algorithm:
http://people.cs.ubc.ca/~rbridson/docs/bridson-siggraph07-poissondisk.pdf
Now I would like to generate a Poisson Disk distribution on the surface of a hemisphere (or better, on a part of the spherical surface, given a certain angle)
can anyone tell me an algorithm to do that?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
谢谢你的回答!我之前已经找到了一个解决方案,所以我将在这里发布给那些感兴趣的人:
首先我在单位方阵中创建足够的泊松盘样本(足够意味着超过n)
然后我按较小的坐标对这些样本进行排序(例如,一个点 (10,9),较小的坐标是 9 - 另一个点 (8,50) 较小的坐标是 8 - 点的顺序是 (8,50),(10,9) )
然后我取排序列表中的前 n 个样本。由于排序模式,这些样本将再次位于方形区域中。然后我放大坐标,使它们再次位于单位正方形中。现在我在单位正方形中有n个泊松盘样本。
然后我使用 http://www 中描述的平面到球体映射.cs.rutgers.edu/~decarlo/readings/mcrt-sg03c.pdf第23页在任意区域角度的球段上获取均匀分布的样本
对我来说效果很好
Thanks thouis for your answer! i already found a solution before, so i'll poste it here for those who are interested:
first i create enough poisson disc samples in the unitsquare (enough means more than n)
then i sort those samples by the smaller coordinate (for example, a point (10,9), the smaller coordinate is 9 - another point (8,50) the smaller coordinate is 8 - the order of the points would be (8,50),(10,9) )
then i take the first n samples in the sorted list. due to the sorting mode, those samples will again lie in a square area. I then scale up the coordinates such that they lie again in the unit square. Now i have exactly n poisson disc samples in the unit square.
then I use the plane to sphere mapping described in http://www.cs.rutgers.edu/~decarlo/readings/mcrt-sg03c.pdf page 23 to get uniformly distributed samples on the spheresegment of an arbitrary area angle
works well for me
我会看看:
“通过细分细化在 n 维空间中快速生成泊松盘样本”,作者:Gamito 和 Maddock。使用 Fekete 的“使用球体四叉树渲染和管理球体数据”,这应该很容易扩展到球体。
I would look at:
"Fast Poisson-Disc Sample Generation in n-Dimensional Space by Subdivision Refinement" by Gamito and Maddock. This should be fairly easy to extend to the sphere using "Rendering and managing spherical data with sphere quadtrees" by Fekete.