Ho visto questo generatore di numeri pseudo-casuali da utilizzare negli shader a cui si fa riferimento qua e là in giro per il web :
float rand(vec2 co){
return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453);
}
È variamente chiamato "canonico", o "una battuta che ho trovato da qualche parte sul web".
Qual è l'origine di questa funzione? I valori costanti sono così arbitrari come sembrano o c'è qualche arte nella loro selezione? C'è qualche discussione sui meriti di questa funzione?
EDIT: Il riferimento più antico a questa funzione che ho incontrato è questo archivio del febbraio '08 , la pagina originale ora scomparsa dal web. Ma non se ne discute più che altrove.