Random 柏林噪声无限生成/平铺?
我从工作中得到了柏林噪声算法,我想知道是否有办法使地形无限大。问题在于此函数(Java)中:Random 柏林噪声无限生成/平铺?,random,perlin-noise,Random,Perlin Noise,我从工作中得到了柏林噪声算法,我想知道是否有办法使地形无限大。问题在于此函数(Java)中: float[]GenerateWhiteNoise(整数宽度、整数高度、整数种子) { 随机; 随机=新随机(种子); 浮动[]噪声=新浮动[宽度][高度]; 对于(int i=0;i
float[]GenerateWhiteNoise(整数宽度、整数高度、整数种子)
{
随机;
随机=新随机(种子);
浮动[]噪声=新浮动[宽度][高度];
对于(int i=0;i
有人知道如何使此函数的随机生成器依赖于当前噪波块的偏移量(它们存储在两个变量中,xOffset
和yOffset
)?使用类似于Math.pow(xOffset,yOffset)
的东西,并将其设置为种子,产生了不稳定、不稳定的结果,根本不起作用。有人有什么见解吗
任何帮助都将不胜感激,谢谢 以下是在GLSL着色器中实现的平铺4D噪波:
它基于此答案中的实现此问题有几个好答案:
float[][] GenerateWhiteNoise(int width, int height, int seed)
{
Random random;
random = new Random(seed);
float[][] noise = new float[width][height];
for (int i = 0; i < width; i++)
{
for (int j = 0; j < height; j++)
{
noise[i][j] = (float)random.nextDouble() % 1;
}
}
System.out.println("Generated White Noise with seed:"+seed+"; xOffset:"+xOffset+"; yOffset:"+yOffset);
return noise;
}