Fraktal zum Selberbauen

vorhergehende Artikel in: Numerik
09.02.2020

Es ist zwar schon zu spät für Weihnachten, aber da das Experiment Weihnachtsbaumkugeln benötigt ist es vllt. besser, es zu einer zeit durchzuführen, wenn die Kugeln nicht am Baum gebraucht werden...

Fraktale sind eine faszinierende Sache - manche finden bildliche Darstellungen davon sogar so hübsch, dass sie ihre Wohnungen damit ausgestalten. Im Zuge der Recherchen für neue Ideen im Bereich Chaotische Systeme stieß ich auf einen Artikel, in dem ein weihnachtliches Fraktal beschrieben wird, das ganz ohne Computer auskommt: Man nehme vier stark reflektierende Kugeln (Weihnachtsbaumkugeln) - idealerweise sind sie identisch. Dann halte und fixiere man sie so, dass sie ein Tetraeder bilden und jede Kugel die drei anderen berührt. Nun verdunkle man das Zimmer und benutze eine Lichtquelle um den Mittelpunkt des Tetraeders anzuleuchten. Anschließend ergötze man sich am Resultat.

Man kann dieses Experiment natürlich auch am Computer simulieren. Dazu benötigt man lediglich eine Software, die den Prozess des Raytracing beherrscht; Beispiele dafür sind Persistence of Vision oder Blender.

Allerdings existiert eine Einschränkung bei der Simulation dieses Prozesses im Computer (tatsächlich ist es eine weitere gemeinsamkeit mit Fraktalen): Raytracing folgt imaginären Strahlen von der Kamera aus in die Szene. Beim Auftreffen auf Hindernisse werden diese Strahlen entsprechend realer physikalischer Gesetze abgelenkt, gebrochen, reflektiert,... Dies geschieht so lange bis die strahlen auf eine Lichtquelle in der Szene treffen oder die maximale Anzahl bon Interaktionen mit Objekten in der Szene erreicht ist. In unserem Experiment entspricht diese Maximalzahl (die auch die für die Berechnung des resultierenden Bildes benötigte Rechenzeit beeinflusst) den vorgegebenen maximalen Iterationen zum Beispiel bei der Berechung des Mandelbrot-Fraktals oder Apfelmännchens.

Beim Raytracing kann man den Einfluss dieses Parameters bei unserem Experiment sehr gut erkennen: die folgenden Bilder setzen die maximale Grenze auf die Werte von 1 bis 5 (Wir schauen hier durch eine der Lücken zwischen jeweils drei der Kugeln auf den Mittelpunkt zwischen ihnen, die Szene enthält genau eine weiße Lichtquelle, die genau hinter der Kamera sitzt):

Screenshot Weihnachtsbaumkugelfraktal berechnet mit PovRay, max_trace_level=1

Screenshot Weihnachtsbaumkugelfraktal berechnet mit PovRay, max_trace_level=2

Screenshot Weihnachtsbaumkugelfraktal berechnet mit PovRay, max_trace_level=3

Screenshot Weihnachtsbaumkugelfraktal berechnet mit PovRay, max_trace_level=4

Screenshot Weihnachtsbaumkugelfraktal berechnet mit PovRay, max_trace_level=5

Wer sich auf die reflektionen der Kugeln konzentriert, kann sogar herausfinden, dass man mittels Abzählen der Reflektionen diesen Wert aus dem jeweiligen Bild bestimmen kann...

Zum Abschluss noch ein Bild, bei dem ich maximal 100 Interaktionen mit Szenenobjekten zugelassen habe und drei Lichtquellen benutze, von denen eine blau leuchtet, eine rot und eine grün - sie sind so angeordnet, dass sie jeweils durch eine andere Lücke strahlen. Die Dateien zum Nachstellen und selbst Experimentieren habe ich unten angehängt - benutzt werden sie ganz einfach per

povray wada.ini

Screenshot Weihnachtsbaumkugelfraktal beleuchtet mit mehreren unterschiedlich farbigen Lichtquellen, berechnet mit PovRay, max_trace_level=100

Lizenz
PovRay Ini-Datei
PovRay Szenenbeschreibung

Artikel, die hierher verlinken

Magnetisches Pendel

22.03.2020

da seit meinem letzten Artikel zum Thema Chaos und - im weiteren Sinne Fraktale - bereits einige Zeit vergangen ist hier noch ein Nachtrag aus den Untiefen meines Massenspeichers (Festplatte darf man ja heute nicht mehr sagen...)

Alle Artikel rss Wochenübersicht Monatsübersicht Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Brian May, Kerry Ellis & Vittorio Grigolo: Bohemian Rhapsody

    19.05.2019

    Eine andere Sicht auf den schönen Queen-Klassiker

    Weiterlesen...

Neueste Artikel

  • sQLshell, SQLite und Redis - oh my!

    Ich habe in letzter Zeit hin und wieder mit der sQLshell und SQLite herumgespielt - Neulich wurde ich gefragt, ob die sQLshell eigentlich auch Redis kann...

    Weiterlesen...
  • bad-certificates Version 3.0.0

    Das bereits vorgestellte Projekt zur automatisierten Erzeugung von Zertifikaten mit allen möglichen Fehlern wurde um eine weitere Kategorie von Zertifikaten erweitert

    Weiterlesen...
  • Erste Vor-Version eines Gis-Plugin für die sQLshell

    Wie bereits in einem früheren Artikel erwähnt plane ich, demnächst ein Plugin für die sQLshell anzubieten, das eine Visualisierung von Daten mit räumlichem Bezug im Stil eines Geoinformationssystems erlaubt.

    Weiterlesen...

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muß damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.