Конвертировать 2D симплексный шум в 1D?
Хорошо, я работаю над небольшой игрой здесь на Java и использую генератор Simplex Noise, который я нашел в Интернете. Проблема, с которой я сталкиваюсь, заключается в следующем: я создаю мир моей игры примерно так:
int width = 100;
int height = 100;
world = new int[width * height];
SimplexNoise noise = new SimplexNoise();
for (int i = 0; i < world.length; i++) {
int x = i % width; // what are the coordinates from i ?
int y = i / width ;
int frequency = 15;
float h = (float) noise.noise((float) x / frequency, (float) y / frequency);
if (h >= -1 && h <= 0) {
world[x + y * width] = 0; // air tile
}
else if (h > 0 && h <= 1) {
world[x + y * width] = 1; // test tile
}
}
что совершенно очевидно дает мне 2D шум. Конечный результат выглядит так:
Насколько я понимаю шум, 2D шум для игр сверху вниз. Тот, над которым я работаю, это боковой скроллер (например, Terraria, Starbound, Crea и другие). Так что мне нужен терраген, чтобы дать мне самый верхний слой ландшафта, Google говорит мне, что это 1D шум, поэтому возникает вопрос: как преобразовать этот 2D шум в ландшафтный 1D шум?