📜  泊松圆盘python(1)

📅  最后修改于: 2023-12-03 15:11:04.662000             🧑  作者: Mango

泊松圆盘 Python

泊松圆盘 Python 是一个用于生成点分布的 Python 库。它的设计目的是生成与给定点的最小距离大致相同的点集。这个库的实现是基于 [Bridson, 2007] 所描述的算法。

安装

你可以使用 pip 命令进行安装:

pip install poisson-disk
使用
import poisson_disk_sampling as pds

# 创建一个点集,总数为 1000 个
points = pds.poisson_disc_samples(domain=[0, 0, 100, 100], r=3, k=30, n=1000)

# 打印第一个点
print(points[0])

# 可以使用 matplotlib 进行可视化
import matplotlib.pyplot as plt
plt.scatter(points[:,0], points[:,1])
plt.show()
参数

该库的主要函数是 poisson_disc_samples,它有四个主要参数:

  • domain: 要生成点集的区域。
    • domain 是一个四维数组 [x, y, width, height],表示了一个左上角为 (x, y),宽为 width,高为 height 的矩形区域。
  • r: 点集中相邻两个点的距离应该至少为 r
  • k: 每个点检查的其它点的个数。较大的 k 会让生成的点分布更加均匀,但计算成本也会更高。
  • n: 想要生成的点的总数。如果 domain 的面积与 n 的数量相称,那么产生的点的密度将是大约相同的。
参考文献
  • Bridson, R. (2007). Fast Poisson disk sampling in arbitrary dimensions. SIGGRAPH sketches, 2007, 22.