Skip to content

Latest commit

 

History

History
45 lines (23 loc) · 3.52 KB

07-chaos-zufall.md

File metadata and controls

45 lines (23 loc) · 3.52 KB

Chaos und Zufall

Chaos und Ordnung

Kontrollierter Zufall mit Random Seeds

Fast alle Knoten, die mit Zufall zu tun haben, bieten einen Port (Parameter) namens seed an (siehe den Wikipedia Eintrag dazu). Diese Zahl bildet die Basis, auf der der Computer seine pseudo-zufälligen Werte erzeugt. Verändert man diese Basis, entstehen völlig neue Zufallszahlen. seed erlaubt es einem also schnell durch viele Varianten hindurch zu „schrubben“: Beispiel randomNumbers.

Stellt man seed auf den gleichen Wert wie zu einem früheren Zeitpunkt, so reproduziert er genau die gleichen Zufallszahlen wie zuvor. Diesen Effekt kann man nutzen um sich „gute Zufallsergebnisse“ zu merken, indem man sich den seed dazu notiert.

/!\ Manchmal scheint der seed-Pin auf ganze Zahlen (integer) zu bestehen. Hier kann man den angeschlossenen float-Wert zurvor einfach runden, bspw. mit floor, round und ceil.

Zufalls-Zahlen

Die häufigste Anwendung von Zufall ist in Form von Zufallszahlen, die man mittels randomNumbers erzeugen kann.

Häufig werden diese Werte verwendet um Formen zu transformieren, also zu verschieben, skalieren, rotieren, etc. Ein weiterer beliebter Anwendungsfall ist das Erzeugen zufälliger Farben.

Beispiel randomNumbers

Ursprünglich in den 1980ern von Ken Perlin entwickelt um realistischere Texturen für 3D Anwendungen zu generieren, ist „Perlin Noise“ heute eine Standart-Funktion um 2D und 3D Zufallsflächen und -Volumen zu erzeugen. Dies lässt sich wunderbar für das Generieren von Hügellandschaften und allen möglichen anderen Strukturen nutzen.

Beispiel perlinNoise

Zufällige Ordnung / Zufall und Listen

Mit dem shuffle Knoten kann man Listen durcheinander würfeln lassen. Dabei werden die Einträge innerhalb der Liste zufällig auf eine andere Position verschoben.

Der randomSample Knoten gibt aus einer Liste ein zufällig gewähltes Element zurück. Denkt man über einen Würfel als Liste der Zahlen [1, 2, 3, 4, 5, 6] nach, so würde randomSample dem Vorgang des Würfelns gleich kommen und immer eine der Zahlen erzeugen.

Unter dem Namen pick ist die gleiche Funktionalität wie randomSample nochmals verfügbar.

Zufalls-Verwandlung

Mit den Knoten wigglePoints, wiggleContours und wigglePaths lassen sich bestehende Formen zufällig verändern. to wiggle bedeutet im Englischen „wackeln“, man kann sich also eine Art Durchschütteln der Formen vorstellen.

Mit wigglePoints verschiebt man die Vektor-Punkte einer Form zufällig.

Der Knoten wigglePaths verschiebt die einzelnen Elemente einer Gruppe von Formen.

Formen, die aus komplexeren Konturen mit Öffnungen bestehen, wie bspw. der Buchstabe „B“, können mit dem wiggleContours Knoten durchgerüttelt werden.


Weiter zur 08 – Nodes vs. Codes oder zur Übersicht