I noticed the density of the random points generated by the Populate 2D component looks very uniform. I wonder if it is based on Poison sampling algorithm or something similar? I planned to implement Poison disc sampling for Grasshopper but if the Populate 2D already uses this method I guess I can just extract the random numbers from it. Thanks.

it's a conditional random insertion algorithm. All the populate components work the same way. A number of random points are generated (depends on how large the pointset already is) and the one that is furthest away from all existing points is picked. Then generate more random points for the next iteration.

This doesn't guarantee that the points are really properly distributed, but it's fairly fast and it works on all types of geometry. However if the base geometry is extremely unbalanced (for example a mesh with a single enormous face and 10,000 tiny ones around the edges) then the distribution will reflect this.

## David Rutten

Hi Long,

it's a conditional random insertion algorithm. All the populate components work the same way. A number of random points are generated (depends on how large the pointset already is) and the one that is furthest away from all existing points is picked. Then generate more random points for the next iteration.

This doesn't guarantee that the points are really properly distributed, but it's fairly fast and it works on all types of geometry. However if the base geometry is

extremelyunbalanced (for example a mesh with a single enormous face and 10,000 tiny ones around the edges) then the distribution will reflect this.--

David Rutten

david@mcneel.com

Tirol, Austria

Oct 11, 2013