Пока я изучал способы создания циклического генеративного художественного GIF, я столкнулся с двумя разными способами создания шумовых петель.
Пример кода Этьена Джейкоба в его tutorial использует 4D OpenSimplex Noise следующим образом.
(float)noise.eval(scl * x, scl * y, R * cos(TWO_PI * t), R * sin(TWO_PI * t));
Пример кода Даниэля Шиффмана в его руководстве использует 2D-шум Перлина следующим образом.
шум(cos(a) + 1, sin(a) + 1);
Я понимаю, что оба достигают цикла, идя по кругу в шумовом пространстве, как показано выше. Но разница между ними мне непонятна. Какова цель выбора 4D OpenSimplex вместо 2D Perlin Noise для создания циклического шума?