![]() |
Random floats zwischen -1 und +1
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:
Diese Funktion produziert jedoch leider Müll in dieser Art:
function Noise($x,$y)
{ $n = $x + $y * 57 $n = ($n<<13) ^ $n; return ( 1.0 - ( ($n * ($n * $n * 15731 + 789221) + 1376312589) & 7fffffff) / 1073741824.0); }
Delphi-Quellcode:
Ab x = 10, y = 1 gibt mir die Funktion nurnoch Einser zurück.
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 Für jegliche Hilfe bin ich dankbar! |
Re: Random floats zwischen -1 und +1
Wenn Dir das Standard-Delphi-Random reicht einfach so umändern:
Delphi-Quellcode:
...:cat:...
function Noise: Double;
begin Result := 1 - Random * 2; end; Oops :oops: PHP :mrgreen: |
Re: Random floats zwischen -1 und +1
Könnte man nicht die sinus-funktion misbrauchen.
Ich kann zwar kein PHP:
Code:
Das sollte eine Zufallsreihe werden die immer wieder mit einem gleichen Startwert reproduziert werden kann.
n = n + cos(n);
sin(n); |
Re: Random floats zwischen -1 und +1
so furchtbar zufällig wird das aber mit nem sinus nicht...
|
Re: Random floats zwischen -1 und +1
Liefert aber bei jeden durchlauf die selbe folge!
|
Re: Random floats zwischen -1 und +1
Zitat:
Außerdem ist deine Reihe stellenweise sehr insensitiv gegenüber den Anfangsbedingungen (dem Seed). Ich schlage vor, eher was in der Richtung von Fraktalen zu suchen. Kenn mich da allerdings nicht großartigf aus, Google dürfte aber helfen. |
Re: Random floats zwischen -1 und +1
ähm, eine ZUFALLS function die bei jedem durchlauf das SELBE ergebnis liefert? :gruebel:
das ist aber kein zufall!!! :warn: :gruebel: :wiejetzt: oder was? |
Re: Random floats zwischen -1 und +1
was bringt ein zufall zwischen eins und eins genau nichts!
:roll: |
Re: Random floats zwischen -1 und +1
Zitat:
mfG mirage228 |
Re: Random floats zwischen -1 und +1
Zitat:
und ps: beachte "durchlauf" -- nicht aufruf |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz