Perlin Noise:需要一点点帮助

时间:2012-03-03 12:16:06

标签: random 2d noise perlin-noise

我读了关于Perlin Noise的this文章,如果有人得到答案,我会有一些问题,因为我似乎遇到了一些问题。在靠近底部的伪代码2D部分中,它显示他随机生成数字但不是一个变量作为1D代码中的参数,他现在使用'x'和'y'。这是否需要二维噪音或没有?此外,他的PerlinNoise_2D函数现在需要2个浮点参数,而不是1维示例中的1。这些浮动值应该是什么以及它们来自何处,因为我无法找到如何在我的生命中得到它们。所以,如果有人知道我的任何问题的答案,我将非常感谢一些帮助。感谢。

编辑:更简单的问题,我在哪里可以将2个浮点值作为PerlinNoise_2D函数的参数?

1 个答案:

答案 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值来调整位图中像素的颜色值。

(在此示例中,xy参数不需要是float s,但在一般情况下,您可能希望它们是。{/ p>