Drüben bei gamedev.SE haben wir festgestellt, dass die Flash-Implementierung von Perlin-Rauschen scheint ziemlich stark von anderen Implementierungen abzuweichen.
Ich habe online keine Details zur Implementierung gefunden, aber ich frage mich, ob jemand sagen kann, welcher Algorithmus für Perlin-Rauschen in Flash verwendet wird.
Verwendung von bitmapData.perlinNoise(32, 32, 1, 200, false, false, 7, true);
erzeugt Bilder wie dieses, bei denen nur die numOctaves
Parameter wurde geändert ( 1
, 2
, 4
von links nach rechts):
Andere Implementierungen von Perlin-Rauschen sehen jedoch ganz anders aus. Zum Beispiel das Bild aus dem Wikipedia-Artikel über Perlin-Lärm :
Auch diese Actionscript-Implementierung von Perlin-Rauschen führt zu ganz anderen Ergebnissen, wie Sie in den folgenden Bildern sehen können (Oktaven 1
, 2
y 4
von links nach rechts):
Was mich am meisten interessiert, ist das Aussehen des Rauschens mit nur einer Oktave. In der Flash-Implementierung kann man deutlich sehen, dass das Rauschen so etwas wie einzelne Kleckse bildet.
Wichtig : Das im Blitzlicht erzeugte Rauschen verwendet false
für die fractalNoise
Parameter. Wenn fractalNoise
wird eingestellt auf true
sind die Ergebnisse den Ergebnissen von Wikipedia und anderen Implementierungen sehr ähnlich.
Die Beschreibung des Parameters lautet wie folgt:
Ein boolescher Wert. Wenn der Wert true ist, erzeugt die Methode fraktales Rauschen, andernfalls Turbulenzen. Ein Bild mit Turbulenzen weist sichtbare Diskontinuitäten im Farbverlauf auf, wodurch schärfere visuelle Effekte wie Flammen und Meereswellen besser dargestellt werden können.
Wie wir sehen können, sprechen sie von Turbulenzen um die Methode zu beschreiben, die das Rauschen erzeugt. Die Frage ist also: Ist die von Flash erzeugte Ausgabe immer noch Perlin-Rauschen? Oder gibt es einen anderen Namen für diese Art von Rauschen? Und was am wichtigsten ist: Wo kann man eine Implementierung finden, die ein solches Rauschen erzeugt?