更新:正式的问题清单:
- 2D 噪声实现的浮点值(输入参数和输出)代表什么?- 部分回答,输入是坐标。输出怎么样?另外,我可以使用我的整数作为坐标的浮点数吗?1.0、122.0 等?
- 在 2D 噪声发生器中实现种子的好方法是什么?我是否应该使用第三个参数作为种子使其成为 3D 噪声发生器?这是否意味着每个种子都可以产生独特的 2D 噪声?
- 与 2d 地图一起,生成位图似乎是沿着相同的路线。如何从输出中生成位图?估计是飘了。
我的问题是剪切和粘贴柏林噪声 2D 实现的浮点值(输入参数和输出)代表什么?我如何从它们生成位图?如果我可以获得某种数据类型的二维数组,我相信我可以弄清楚如何使用它来模拟我的地形。
而且,如果我能确保我可以为它们播种值,我会使用剪切和粘贴实现。这是问题的另一部分,这是我在这里找到的一个未回答的问题。- 在噪声发生器中实现种子的好方法是什么?
好的,我知道这个问题已经被问过很多次了,所以让我解释一下我的研究和发现。
首先,我在这里找到了这个网站,它似乎是向我解释它的赢家。但是,然后我想出了另一个问题,我发现这个问题在这里没有完全回答。
然后我试着弄脏自己的手,用 Java 编写一些代码,这是我选择的语言。我发现了这个,它让我尝试将作为答案给出的哈希函数作为我的噪声函数,因为我可以在那里使用种子。然后我遇到了一个问题,它没有返回一个浮点数来遵循教程中的其余过程。回到绘图板。在此过程中,我发现了更多有关柏林噪声问题的网站。
我在这里发现了一个我什至没有想到的未回答的问题,因为我还没有让我的实现工作。我再也找不到链接了,但它说了一些类似的话,即使你有一个复制和粘贴的实现,你放入函数的浮点输入是什么?有人告诉我我需要在地图上传递我的 x 和 y 整数。我也从剪切和粘贴实现中获得浮点输出。那些是什么意思?那些2D怎么样?如果我可以将事物保留为整数,那在我的大脑中会很有意义,但在某种程度上,我发现将它们保留为整数对于插值和平滑连续曲线的值是不合理的。