我读了这篇关于Perlin Noise的文章,如果有人知道答案的话,我有几个问题,因为我似乎遇到了一些问题。在底部附近的伪代码2D部分,它显示他随机生成数字,但在1D代码中,他现在使用"x"one_answers"y",而不是一个变量作为参数。在二维噪声中是否需要此项?此外,他的PerlinNoise_2D函数现在采用2个浮点参数,而不是像一维例子中那样采用1个。这些浮动值应该是什么,它们来自哪里,因为我找不到如何在我的生活中获得它们。因此,如果有人知道我任何问题的答案,我将非常感谢你的帮助。谢谢
编辑:好的,更简单的问题,我从哪里得到作为PerlinNoise_2D函数参数的2个浮点值?
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,但在一般情况下,您可能希望它们是。)