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 中使用

MIT 协议

40KB
1K SLoC

poisson

Documentation Crates.io License: MIT Build Status Coverage Status

这是一个用于生成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