Jakie jest pochodzenie tego linlera () jednego linera?

Widziałem ten generator liczb pseudolosowych do użytku w przywołanych shaderachtu i tam w sieci:

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

Nazywa się to „kanonicznym” lub „liniowcem, który znalazłem gdzieś w sieci”.

Jakie jest źródło tej funkcji? Czy wartości stałe są tak arbitralne, jak się wydają, czy też są pewne możliwości wyboru? Czy jest jakaś dyskusja na temat zalet tej funkcji?

EDYCJA: Najstarsze odniesienie do tej funkcji, z którą się spotkałem, toto archiwum z lutego '08, oryginalna strona zniknęła z internetu. Ale nie ma o tym więcej dyskusji niż gdziekolwiek indziej.

questionAnswers(4)

yourAnswerToTheQuestion