Random 柏林噪声无限生成/平铺?

Random 柏林噪声无限生成/平铺?,random,perlin-noise,Random,Perlin Noise,我从工作中得到了柏林噪声算法,我想知道是否有办法使地形无限大。问题在于此函数(Java)中: float[]GenerateWhiteNoise(整数宽度、整数高度、整数种子) { 随机; 随机=新随机(种子); 浮动[]噪声=新浮动[宽度][高度]; 对于(int i=0;i

我从工作中得到了柏林噪声算法,我想知道是否有办法使地形无限大。问题在于此函数(Java)中:

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;
    }