Мне нужно иметь возможность сгенерировать одно случайное число, а затем использовать это число, чтобы создать на лету теоретически бесконечно большую двумерную плоскость с логическими значениями. Мне нужна функция, которую я могу вызвать, которая является детерминированной с тремя входами (x, y и случайным начальным числом) и возвращает обратно псевдослучайный результат:
int r = random()
//...
var value_for_point = f(x,y,r);
Если бы я использовал эту функцию для заполнения массива 10x10 единицами и нулями, в идеале он выглядел бы так же, как и / если бы я запросил случайное значение для каждой ячейки по мере продвижения, т.е. Это не должно быть идеально - это не для статистического анализа. Мне просто нужно иметь возможность воссоздать массив, учитывая то же случайное число.
Я не могу просто запустить генератор случайных чисел по двум причинам. Во-первых, мне нужно, чтобы эта функция основывалась на х и у. Я могу вызвать эту функцию, чтобы заполнить массив между (0,0) и (10, 10), а затем запросить значения между (-10, -5) и (3,4). Во-вторых, у языка, который я использую, нет функции семени.
Я уверен, что есть или тривиальный способ сделать это, которого я не вижу, или есть что-то в области фракталов, которые могут мне помочь. Кто-нибудь знает, как это сделать?