Einzelnen Beitrag anzeigen

ichhabefertig

Registriert seit: 8. Jul 2003
51 Beiträge
 
#1

Random floats zwischen -1 und +1

  Alt 27. Mai 2004, 13:51
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!
  Mit Zitat antworten Zitat