所以我在 Python 中找到了一个特定的程序映射生成器,我理解其中的一部分,但我很难将其拼凑在一起以便能够修改它以满足我的需求,所以我想知道是否有可能有人逐步解释生成器到底是做什么的。总的来说,我理解这个概念,但它的编写方式使我很难遵循所涉及的数学。
生成器在这里,欢迎一些解释,并且可能会帮助其他任何试图学习程序生成的人,因为这个例子诚实地产生了漂亮的结果。
首先,您必须了解柏林噪声的工作原理。我建议你编写自己的柏林噪声代码,一些最小的东西,然后玩一下,看看结果。然后转向更高级的技术和变体。
例如,用户有一些设置或多或少地控制输出:
basePerlinValue = (snoise2(float(x)*perlinScale, float(y)*perlinScale, octaves=8, persistence=0.5, lacunarity=2.0, repeatx=2048, repeaty=2048, base=perlinOffset) + 1)/2.0;
和他们一起玩,看看他们如何影响结果。Octaves 是标准的 Perlin Noise 的东西。