Perlin Noise für 1D?
Versuchen so hart wie ich kann, ich finde keine wirklichen tutorials auf Perlin\Samplex Lärm in 1D.
Ich gesucht habe, alle rund um das internet, aber einfach nichts finden können. Alle Seiten, die ich begegnet, zu erwähnen, 1D perlin werden in der Regel sehr unklar, oder zeigt nur den code
- Habe den code, den Sie nicht für Sie arbeiten? Anscheinend gibt es mehrere code-Beispiele online für Ihre Frage (von denen). Code ist verfügbar und Sie sind auf der Suche nach code, was zu sein scheint das problem?
- Seine Kombination für den code heraus, dass es relativ schwer zu Folgen, und wenn es code gibt es kaum eine Erklärung, es.
- Du fragst nach einem komplizierten Algorithmus. Natürlich ist jeder code implementiert, dass es schwer sein wird zu Folgen. Verstehen Sie, was der code tun soll? Wenn du hast dann den code auf dem net wäre wahrscheinlich weniger schwer zu Folgen.
- Ich kann schon irgendwie verstehen, die den Fluss der Algorithmus ein wenig, es ist nur der Mangel an Dokumentation von einigen Menschen, die mich verwirrt. nehmen wir zum Beispiel diese Funktion aus einem der Beispiele: float fade(in float t) { return ttt*(t*(t*6.0-15.0)+10.0); }.... Kein header, keine Erklärung, was diese Funktion soll zu erreichen, was ist t? was ist 6.0? Es ist nur wenig Dinge wie diese, werfen mich aus der Lektüre der Menschen-code. Das kopieren von code zu mir ist, was ich bin gezwungen zu tun, zu verstehen, dass code, ist ein anderes Thema insgesamt
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich weiß, das ist eine alte Frage, aber hier ist eine der deutlichsten Erklärungen über die interpolation zwischen den Fixpunkten, die macht bis 1d Perlin http://webstaff.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf
Eines der wichtigsten Dinge zu wissen, nützlich im all-Programmierung ist die interpolation der Funktion...
http://paulbourke.net/miscellaneous/interpolation/
sobald Sie zufällige Punkte mit smoothstep-interpolation, Sie haben eine Art von glatten 1d-Lärm-Funktion.
sehen, smoothstep auf wiki. eine Menge zu dem Thema über google. https://en.wikipedia.org/wiki/Smoothstep
anscheinend ist der hyperlink ist instabil, hier ist es wieder:
Simplex noise entmystifiziert
Ken Perlin präsentiert "simplex noise", einen Ersatz für den klassischen noise-Algorithmus.
Klassische "Perlin noise" gewann er einen academy award und hat sich zu einem allgegenwärtigen prozedurale
primitiven für computer-Grafik im Laufe der Jahre, aber im Nachhinein hat es Recht wenige Einschränkungen.
Ken Perlin selbst entworfen simplex-Rauschen, die speziell zur überwindung dieser Einschränkungen, und er
verbrachte eine Menge gute denken über es. Daher ist es eine bessere Idee als seine ursprüngliche Algorithmus.
Wenige
der mehr die herausragenden Vorteile sind:
• Simplex noise hat einen geringeren Rechenaufwand und erfordert weniger Multiplikationen.
• Simplex noise-Skalen zu den höheren Dimensionen (4D, 5D und aufwärts) mit viel weniger Rechenaufwand, ist die Komplexität für Dimensionen statt der klassischen Rauschen.
• Simplex noise hat keine nennenswerten direktionalen Artefakte.
• Simplex noise hat eine gut definierte und kontinuierliche Gradienten überall berechnet werden können
ganz Billig.
• Simplex noise ist einfach zu implementieren in hardware.
Traurig, selbst jetzt, im Frühjahr 2005 nur sehr wenige Menschen scheinen zu verstehen, simplex-Rauschen, und fast
niemand nutzt es, das ist der Grund, warum ich dies schrieb. Ich werde versuchen zu erklären, ist der Algorithmus ein wenig mehr gründlich
als Ken Perlin musste Zeit zu tun, in seinem Verlauf Noten von der Siggraph 2001 und 2002, und
hoffentlich machen es klar, dass es gar nicht so schwierig zu begreifen, wie es zunächst scheint.
Von dem, was ich gelernt habe, was verwirrt die Leute am meisten, die undurchdringliche Natur von Ken Perlin ' s
Referenz-Implementierung in Java. Er präsentiert sich sehr kompakt und unkommentiert code
das Prinzip veranschaulichen, aber, der code ist eindeutig nicht gemeint gelesen werden, als ein tutorial. Nach ein paar
versuche, ich gab den code ein und Lesen Sie seine Papier statt, das war viel mehr klar.
Nicht crystal
klar, obwohl, wie er präsentiert der Algorithmus meist in Worten und code-snippets. Ich hätte
geschätzt einige Grafiken und zahlen und ein paar hilfreiche Gleichungen, und das ist es, was ich versuche zu bieten
hier, um es für andere leichter zu verstehen, die Größe und Schönheit des simplex-noise. Ich
erklären Sie auch Dinge, die in einer und zwei Dimensionen, Erstens um die Dinge einfacher zu erklären mit Grafiken
und Bilder, und bewegen Sie dann auf drei und vier Dimensionen.
Klassische noise
Um zu erklären, simplex-Rauschen, ist es hilfreich, ein gutes Verständnis der klassischen Perlin
Lärm. Ich habe gesehen, durchaus ein paar schlecht und falsch informiert Erklärungen in diesem Bereich, so stellen Sie sicher,
Sie haben die notwendige Vorarbeit getan ist, werde ich zeigen klassische Perlin-ersten.
Perlin noise ist eine so genannte gradient-noise, was bedeutet, dass Sie einen pseudo-zufälligen Farbverlauf
in regelmäßigen Abständen im Raum, und interpolieren Sie für eine reibungslose Funktion zwischen diesen Punkten. Zu
generieren Perlin in einer dimension, verbinden Sie einen pseudo-random-Gefälle (oder Steigung) für
die noise-Funktion, die mit jeder ganzzahligen Koordinate, und setzen Sie den Wert für die Funktion an jeder ganzzahligen Koordinate
null.
Für einen gegebenen Punkt irgendwo zwischen zwei ganzzahligen Punkte, wird der Wert interpoliert zwischen
zwei Werte, nämlich die Werte, hätte das Ergebnis, wenn die nächsten linearen Steigungen aus
der linken und der rechten gewesen war, extrapoliert auf den Punkt in Frage. Diese interpolation ist eine smoothstep algo.
Ich weiß, diese Frage ist alt und wurde schon beantwortet, aber könntest du nicht einfach nehmen Sie die Linien aus der 2D-Perlin-Rauschen, z.B. immer 0 für den x-oder y?