我得到了一个 perlin 噪声算法和一个 opensimplex 噪声算法,它根据给定的 X 和 Y 值返回一个双精度值。我正在设计软件,我想知道如何:
- 使用 0-1 双精度值缩放柏林噪声
- 允许以不同的分辨率(即 1024、2048)构建 perlin,但仍保持比例,但添加额外的细节。
- 允许用户更改世界大小,这也会影响比例
我目前的代码:
double scale = ((((Double) parameters.get(SCALE).getValue() * 10) + 0.25) * ProjectSettings.WORLD_SIZE) / ((double) resolution / 1000);
double x = 0;
double y = 0;
OpenSimplexNoise noise = new OpenSimplexNoise((Long) parameters.get(SEED).getValue());
for(int n = 0; n < resolution; n++) {
x += scale;
for(int m = 0; m < resolution; m++) {
y += scale;
values[n][m] = noise.generateOpenSimplexNoise(x, y, (Double) parameters.get(PERSISTENCE).getValue(), (Integer) parameters.get(OCTAVES).getValue());
}
}