### 12 releases (breaking)

✓ Uses Rust 2018 edition

0.10.1 | Oct 4, 2019 |
---|---|

0.9.0 | Sep 24, 2017 |

0.8.0 | Mar 19, 2016 |

0.7.1 | Nov 1, 2015 |

0.5.0 | Jun 26, 2015 |

#**269** in Data structures

**117** downloads per month

**MIT**license

39KB

1K
SLoC

# poisson

This is a library for generating n-dimensional poisson-disk distributions.

It generates distribution of points in [0, 1)^{d} where:

- For each point there is disk of certain radius which doesn't intersect with any other disk of other points
- Samples fill the space uniformly

Due it's blue noise properties poisson-disk distribution can be used for object placement in procedural texture/world generation, as source distribution for digital stipling, as distribution for sampling in rendering or for (re)meshing.

# Usage

Works with nalgebra 0.16 and rand 0.5

`extern` `crate` nalgebra `as` na`;`
`use` `rand``::`FromEntropy`;`
`use` `rand``::``rngs``::`SmallRng`;`
`use` `poisson``::``{`Builder`,` Type`,` algorithm`}``;`
`fn` `main``(``)`` ``{`
`let` poisson `=`
`Builder``::``<``_`, `na``::`Vector2`<``f64``>``>``::`with_radius`(``0.``1``,` `Type``::`Normal`)`
`.``build``(``SmallRng``::`from_entropy`(``)``,` `algorithm``::`Ebeida`)``;`
`println!``(``"``{:?}``"``,` poisson`.``generate``(``)``)``;`
`}`

#### Dependencies

~1.5MB

~24K SLoC