Hallo,
ich brauche eine Funktion, die mir zufällige Werte ziwschen -1 und +1 liefert. Dabei muss sie unbedingt bei jedem Durchlauf dieselben Werte liefern, da ich das Ganze für eine Perlin Noise Funktion brauche. Realisiert werden soll die Funktion in PHP, also sollte die Funktion auch mit den PHP Boardmitteln auskommen und keine Libraries benutzen. Wichtig ist, dass der Funktion ZWEI Werte übergeben werden, da es sich um eine zweidimensionale Noisemap handelt.
Meine bisherige Funktion sieht so aus:
Delphi-Quellcode:
function Noise($x,$y)
{
$n = $x + $y * 57
$n = ($n<<13) ^ $n;
return ( 1.0 - ( ($n * ($n * $n * 15731 + 789221) + 1376312589) & 7fffffff) / 1073741824.0);
}
Diese Funktion produziert jedoch leider Müll in dieser Art:
Delphi-Quellcode:
1
1
1
1
0.900126288645
-0.226373051293
1
1
-0.281790983863
1
1
1
1
-0.281790983863
0.293632879853
1
1
-0.226373051293
0.900126288645
-0.226373051293
1
1
1
1
-0.28179098386
Ab x = 10, y = 1 gibt mir die Funktion nurnoch Einser zurück.
Für jegliche Hilfe bin ich dankbar!