Каково происхождение этого GLSL rand () с одним вкладышем?

Мы видели этот генератор псевдослучайных чисел для использования в шейдерахтут и там по сети:

float rand(vec2 co){
  return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453);
}

Это'по-разному называетсяканонический», или же "однострочник, который я где-то нашел в сети ».

Какие'происхождение этой функции? Являются ли значения констант такими произвольными, какими они кажутся, или есть какое-то искусство для их выбора? Есть ли обсуждение достоинств этой функции?

РЕДАКТИРОВАТЬ: самая старая ссылка на эту функцию, которую ямы сталкиваемся сэтот архив с февраля08, исходная страница теперь отсутствует в сети. Но там'Там нет больше обсуждения этого, чем где-либо еще.

Ответы на вопрос(4)

Ваш ответ на вопрос