Spaß mit Fraktalen (Julia)

Etwas wirklich Einfaches habe ich hier gefunden:

Ein Fraktal ist ein nie endendes Muster. Fraktale sind unendlich komplexe Muster, die sich auf verschiedenen Skalen selbst ähneln. Sie werden erstellt, indem ein einfacher Prozess in einer fortlaufenden Rückkopplungsschleife immer wieder wiederholt wird. Angetrieben durch Rekursion sind Fraktale Bilder dynamischer Systeme – die Bilder des Chaos. Geometrisch existieren sie zwischen unseren vertrauten Dimensionen. Fraktale Muster sind äußerst vertraut, da die Natur voller Fraktale ist. Beispielsweise: bäume, flüsse, Küsten, Berge, Wolken, Muscheln, Hurrikane usw. Abstrakte Fraktale — wie die Mandelbrot-Menge – können von einem Computer erzeugt werden, der immer wieder eine einfache Gleichung berechnet.

Was dies sagt, ist, dass Fraktale als ein Prozess betrachtet werden können, der iterativ und repetitiv ist. Betrachten Sie die Sonnenblumenkerne im Bild unten:

Quelle: https://www.greenmylife.in/shop/seeds/flowering-annuals-seeds/sunflower-seeds/large-bloom-sunflower/

Wie Sie sehen können, existiert dort eine beobachtbare Sequenz. Das Muster, das der Fibonacci-Folge folgt, ist das mathematische Hintergrundverhalten, dem die Sonnenblumenkerne folgen. Da es iterativ und wiederholt ist, kann es an eine Fakultät gedacht werden, deren Gleichung stark von der goldenen Ration (1,618 …) abhängt, die das Verhältnis zwischen einer Zahl und der vorherigen Zahl in einer Fibonacci-Sequenz ist.

Es gibt viele natürliche Prozesse, die einem sehr spezifischen, sich wiederholenden Prozess folgen, und es scheint, als ob ein starker mathematischer Hintergrund ihr Verhalten bestimmt.

Julia-Fraktale

„Julia“ ist eine Klasse komplexer mathematischer Funktionen, deren Verhalten, obwohl es sich wiederholt, als „chaotisch“ bezeichnet wird. Laut einem Wikipedia-Artikel:

Chaos: Wenn die Gegenwart die Zukunft bestimmt, aber die ungefähre Gegenwart nicht ungefähr die Zukunft bestimmt.

Nach einer sehr einfachen, aber eleganten Erklärung hier:

Julia-Mengenfraktale werden normalerweise durch Initialisieren einer komplexen Zahl z = x + yi erzeugt, wobei i ^ 2 = -1 und x und y Bildpixelkoordinaten im Bereich von etwa -2 bis 2 sind. Dann wird z wiederholt aktualisiert mit: z = z ^ 2 + c wobei c eine andere komplexe Zahl ist, die eine bestimmte Julia-Menge ergibt. Wenn die Größe von z nach zahlreichen Iterationen kleiner als 2 ist, sagen wir, dass sich das Pixel im Julia-Satz befindet, und färben es entsprechend ein. Wenn Sie diese Berechnung für ein ganzes Pixelraster durchführen, erhalten Sie ein fraktales Bild.

Ja. Das ist so ziemlich alles, und jetzt werden wir sehen, wie wir das alles in einem sehr kurzen Python-Skript implementieren können.

Zuerst brauchen wir eine Bibliothek, um mit den Bildern umzugehen, und eine andere Bibliothek, um mit dem Plotten umzugehen.

Importieren der notwendigen Dinge

Als nächstes müssen wir einige globale Konstanten für uns definieren, die beim fraktalen Generierungsprozess helfen.

Als nächstes sehen wir das Kraftpaket dieses gesamten Beitrags, die Kernfunktion, die tatsächlich ein Fraktal generiert und ein Bitmap-Bild zurückgibt. Einige Standardeingaben für die Funktion sind festgelegt, wodurch das genaue Fraktal generiert wird, wie im Titelbild dieses Beitrags verwendet, aber Sie können mit verschiedenen Eingaben herumspielen, um Ihre eigenen einzigartigen Fraktale zu generieren. Der Code ist eine modifizierte Form des ursprünglichen Kerns, der hier geschrieben wurde.

Da Sie nun eine definierte Funktion haben, müssen Sie sie nur aufrufen und so zeichnen:

Um Ihnen das Leben zu erleichtern, finden Sie hier den vollständigen Code in einem einzigen Kern (nur für den Fall, dass Sie keine Lust haben, einzelne Snippets zu kopieren).

Ich habe es mit mehreren Konfigurationen versucht, und hier sind einige interessante Ergebnisse:

Julia-Fraktal: cX = 0,285, cY = 0,01, colorTup = (14, 13, 7)

Julia Fraktal: cX = 1-Goldenes Verhältnis, cY = 0, maxIter = 64, colorTup = (12, 17, 7)

Und schließlich wollen wir versuchen, etwas „Gothic“ zu bekommen, indem wir unsere Eingaben ändern.

Julia Fraktal: cX = -0.7269, cY = 0.1888, maxIter = 255, farbeAuf = (0, 0, 1)

Wie Sie sehen, können wir mit einer sehr geringen Änderung (innerhalb von weniger als 1 Einheit) der Eingaben unserer Funktion eine völlig neue Sequenz generieren. Das ist Chaos. Die ungefähre Gegenwart sagt keine ungefähre Zukunft voraus. Um es einfach auszudrücken,

Es ist, als hätte ich einen Pinsel, ich wähle einige Farben aus, aber ich habe keine Ahnung, was der Pinsel tun wird, sobald er die Leinwand berührt. Es malt nur Chaos.

Wie geht es weiter? Wir können 3D-Fraktale erzeugen, die viel cooler aussehen als alles, was Sie vielleicht gesehen haben, wenn sie mit den richtigen Details gerendert werden.

Hier ist eine schöne Herausforderung für dich, wenn du es auf ein ganz neues Level bringen willst. Wenn Sie solche Bilder generieren können, können Sie sicher auch Videos generieren und erhalten möglicherweise etwas so Cooles wie dieses:

Quelle: https://en.wikipedia.org/wiki/Julia_set#/media/File:JSr07885.gif

Dies ist nur eine Einführung in Julia Fraktale. Es gibt viele andere Arten von Fraktalen, die durch Modifizieren der zugrunde liegenden Gleichung erzeugt werden können, dh z = z2 + c. Ich werde wirklich (wie, reallyyy) froh sein, wenn Sie tatsächlich neuere, bessere Muster mit anderen Arten von Fraktalen herausfinden, und kann mit einigen atemberaubenden künstlerischen Output kommen. Falls Sie das tun, lassen Sie es mich wissen. Jetzt abmelden!

You might also like

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.