Генератор псевдослучайных чисел из двух входов

Мне нужен генератор псевдослучайных чисел, который дает мне число из диапазона [-1, 1] (диапазон не является обязательным) из два входа типа float.

Я также попытаюсь объяснить, зачем мне это нужно:

Я использую алгоритм Diamond-Square для создания карты высот для моего движка ландшафта. Ландшафт разделен на участки (Chunked LOD).

Проблема с Diamond-Square заключается в том, что он использует случайную функцию, поэтому предположим, что два соседних участка используют одну и ту же точку (x, z), тогда я хочу, чтобы высота была одинаковой для всех, чтобы я не получить некоторый эффект трещины.

Некоторые могут сказать, что я могу получить информацию о высоте из соседнего патча, но тогда результат может быть другим, после того, какой патч был создан первым.

Вот почему мне нужен генератор псевдо-чисел, который возвращает уникальный номер для двух входов, которые являются (x, z).

(Я не прошу кого-нибудь написать такую ​​функцию, мне просто нужна общая обратная связь и / или известные алгоритмы, которые делают что-то подобное).

7
задан starblue 24 June 2011 в 19:23
поделиться