У меня есть алгоритм шума perlin и алгоритм opensimplex шума, который возвращает double, основанный на значениях X и Y. Я разработки программного обеспечения, и я хотел бы знать, как:Make Perlin Noise Scaleable
- Отмасштабируйте Перлин шума с 0-1 двойным значением
- позволяют строить Перлин в различных разрешениях (т.е. 1024, 2048), но по-прежнему поддерживать масштаб, но добавьте дополнительные детали.
- Разрешить пользователю изменять размер мира, который также влияет на шкале
Мой текущий код для этого:
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());
}
}