12个版本 (有破坏性更新)
0.10.1 | 2019年10月4日 |
---|---|
0.9.0 | 2017年9月24日 |
0.8.0 | 2016年3月19日 |
0.7.1 | 2015年11月1日 |
0.5.0 | 2015年6月26日 |
#1428 in 算法
每月21次下载
在 city2ba 中使用
40KB
1K SLoC
poisson
这是一个用于生成n维泊松盘分布的库。
它生成[0, 1)d区间内点的分布
- 对于每个点,都有一个半径一定的圆盘,该圆盘不与其他点的圆盘相交
- 样本均匀地填充空间
由于其蓝色噪声属性,泊松盘分布可用于程序纹理/世界生成中的对象定位,作为数字抖动的源分布,作为渲染或重新网格化的采样分布。
使用方法
与nalgebra 0.16和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());
}
依赖项
~1.5MB
~28K SLoC