📅  最后修改于: 2023-12-03 15:11:04.662000             🧑  作者: Mango
泊松圆盘 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
的数量相称,那么产生的点的密度将是大约相同的。