Search code examples
disksurfacepoisson

Poisson Disk distribution on hemisphere


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!


Solution

  • 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