Es kann aber keine Alternative sein, Befehle oder Funktionen der verwendeten Programmiersprache entgegen ihrer Zweckbestimmung zu benutzen bzw. zu suggerieren, dass diese nicht korrekt funktionieren.Gubbie247 hat geschrieben:das problem hier ist aber die geschwindigkeit. ich kann ja nicht für die koordinate (10395,432) 10827 mal einen RandomBefehl ausführen, deshalb suche ich ja eine Alternative.
Ich verstehe leider nicht, was Du meinst.Gubbie247 hat geschrieben:Besonders merkwürdig finde ich halt, dass offenbar der erste Randomwert mit dem Seedwert in zusammenhang steht, ich sehe da keinen Grund dafür? Deshalb ist es so schwierig.
"Perlin Rauschen" kannte ich vorher nicht. Mit Google habe ich jetzt auf die Schnelle u.a. dies gefunden:
IMHO könnte das im ersten Ansatz in PureBASIC grob etwa so aussehen:http://www.gup.uni-linz.ac.at/thesis/diploma/paul_heinzlreiter/html/node14.html hat geschrieben:Perlin Rauschen
Die Perlin Rauschfunktion kann man im ein-, zwei- oder dreidimensionalen Fall verwenden. Sie basiert auf einem Zufallszahlengenerator und setzt sich aus folgenden Schritten zusammen:
1. Berechnung einer Zufallszahlenfolge
2. Interpolation der Zufallszahlenfolge zu einer stetigen Funktion
3. Wiederholung der Schritte 1 und 2 für beliebig viele Funktionen, wobei die Amplitude jeder neuen Funktion im Vergleich zum Vorgänger halbiert wird, und die Frequenz verdoppelt
4. Aufsummieren der Funktionen
5. Glätten der Rauschfunktion falls notwendig
Code: Alles auswählen
AnzahlFunktionen = 6
LetzterWert = 100
Schrittweite = 12 ; gilt für die erste Funktion
Amplitude = 20 ; gilt für die erste Funktion
For i = 1 To AnzahlFunktionen
RandomSeed(i)
For k = 1 To LetzterWert Step Schrittweite
r = Random(Amplitude)
Debug r
Next
Schrittweite / 2
Amplitude / 2
Next
Gruß, Little John