我读了关于Perlin Noise的this文章,如果有人得到答案,我会有一些问题,因为我似乎遇到了一些问题。在靠近底部的伪代码2D部分中,它显示他随机生成数字但不是一个变量作为1D代码中的参数,他现在使用'x'和'y'。这是否需要二维噪音或没有?此外,他的PerlinNoise_2D函数现在需要2个浮点参数,而不是1维示例中的1。这些浮动值应该是什么以及它们来自何处,因为我无法找到如何在我的生命中得到它们。所以,如果有人知道我的任何问题的答案,我将非常感谢一些帮助。感谢。
编辑:更简单的问题,我在哪里可以将2个浮点值作为PerlinNoise_2D函数的参数?
答案 0 :(得分:1)
2 维度模式需要 2 参数。将它们视为代表模式的笛卡尔 x 和 y 坐标,以最适合您应用的方式。
因此,例如,如果您想在C ++中生成W×H噪声贴图,您可以执行以下操作:
float noise[H][W];
for (int y = 0; y < H; ++y)
for (int x = 0; x < W; ++x)
noise[y][x] = PerlinNoise_2D(x, y);
然后,您可以使用noise
值来调整位图中像素的颜色值。
(在此示例中,x
和y
参数不需要是float
s,但在一般情况下,您可能希望它们是。{/ p>