Python中有许多不同的2D perlin噪声实现。我的问题是,Python中是否有一个适合1个函数或1个类的perlin噪声的简单实现?或者可能有更容易实现的2D噪声,类似于佩林噪声?
它需要是整数,还是双浮点精度足够好?你会用Cython吗?这里有一个适用于FastNoiseLite的Cython包装:https://github.com/tizilogic/PyFastNoiseLite。您可以将整数转换为双精度,并保留足够的精度。
我还建议使用OpenSimplex 2或OpenSimplex 2S噪波选项,而不是Perlin。佩林作为一个基础噪音是非常网格对齐的外观。Simplex/OpenSimplex2(S(直接解决了这一问题。
我发现的Perlin噪声的最简单实现就是这样。
https://pypi.org/project/perlin-noise/
一旦安装并在代码顶部初始化,只需调用函数noise(float)
即可返回噪波字段的该点的值。此外;"无限坐标空间";,您可以简单地向噪波函数noise(float,float)
添加更多值,以更改为2D、3D或更高维的噪波场。
他们在网站上提供了几个基本的例子,我觉得这些例子非常有用,足以实现图书馆。