|
5. Anhang5.1 Erkundung eines 3D-FraktalsDer folgende Abschnitt beschreibt, wie man "Fractint", ein sehr gutes (2D-)Fraktalprogramm, dazu benutzen kann, neue Objekte zu entdecken. Die Vorgehensweise ist die selbe wie die im "Object Editor" verwirklichte (anhand der Mandelbrot-Menge einen vielversprechenden Punkt auswählen und 2D-Schnitte der Julia-Menge anfertigen). Für Benutzer der Benutzeroberflächen-Version ist der Abschnitt daher evtl. weniger interessant.Man kann das großartige Programm "Fractint 19.3" benutzen, das zweidimensionale Schnitte durch den 4D-Raum der Quaternionen in rasanter Geschwindigkeit berechnen kann, um vielversprechende Formen zu finden. Fractint von der "Stone Soup Group" ist Freeware und im Internet als DOS- und X-Window-Version verfügbar. (z.B. bei http://spanky.triumf.ca/www/fractint/fractint.html) Eine Eigenart der Julia-Mengen (also der von Quat berechneten Objekte) ist, daß sich ihr Aussehen anhand der zugehörigen Mandelbrot-Menge "voraussagen" läßt. Die Mandelbrot-Menge ist besser bekannt unter dem Namen "Apfelmännchen". Auch von ihr gibt es eine vierdimensionale Verallgemeinerung auf Basis der hyperkomplexen Zahlen. Jedem Punkt der Mandelbrot-Menge ist eine Julia-Menge zugeordnet. (Über den Parameter c). Das Aussehen der Julia-Menge hängt vom Bereich ab, aus dem c gewählt wurde. (Nicht vergessen: Jeder Punkt auf dem Bildschirm repräsentiert eine Zahl). Man kann z.B. c wählen im Hauptkörper des Apfelmännchens, im "Kopf", einem "Nebenapfel", ... Mit Fractint 19.3 (DOS) geht man dazu folgendermaßen vor:
Dieser Typ ist das hyperkomplexe Apfelmännchen. Es können zwei Parameter eingebeben werden, "cj" und "ck". Diese Parameter entsprechen dem k- und dem l-Teil in "Quat". Vorsicht: Fractint benutzt die Formel xn+1 = xn2 + c, Quat xn+1 = xn2- c. Das führt dazu, daß die Komponenten von c in Quat negativ genommen werden müssen, um das selbe Objekt wie in Fractint zu erhalten. Also, zurück zu Fractint: "cj" und "ck" bestimmen also den Wert der beiden Dimensionen, die für den 2D-Schnitt konstant gehalten werden. Sind beide Parameter "0", so erhält man (logischerweise) das ganz normale Apfelmännchen. Es erscheint ein Fadenkreuz, mit dem man Real- und 1. Imaginärteil der zu berechnenden Julia-Menge festlegt. Drückt man die Taste "n", so werden diese zwei Werte in der 1. Zeile angezeigt. Mit der Maus oder den Cursortasten kann man mit dem Fadenkreuz herumfahren, um Real- und 1. Imaginärkomponente von "c" festzulegen. (die 2 weiteren Imaginärkomponenten sind bereits dadurch festgelegt, wie der 2D-Schnitt des Apfelmännchens gewählt wurde, namentlich durch die Parameter "cj" und "ck", s.o.) Zu dem gewählten Wert wird die korrespondierende Julia-Menge berechnet, und zwar der Schnitt der 4D-Menge mit der komplexen (2D-)Ebene. Man kann nun wiederum den Schnitt verschieben, um eine Vorahnung zu bekommen, wie das Objekt dreidimensional aussieht. Dazu kann man: Man sieht einige Eingabefelder, die ersten 4 stellen die hyperkomplexe Zahl "c" dar, die soeben gewählt wurde. "zj" und "zk" bestimmen, wo in der 4D-Julia-Menge der Schnitt gemacht werden soll. "zj" geht mit der Schnittebene sozusagen "in den Raum hinaus", "zk" entspricht dem Parameter lvalue in Quat. Hält man "zk" fest und berechnet Schnitte für verschiedene "zj", so erhält man einen Eindruck des von Quat berechneten Objekts, indem man die verschiedenen Schnitte im Geiste hintereinander "stapelt". Der Bildschirm in Fractint sieht beispielsweise so aus: c1 -0.48 ci -0.45 cj 0.1 ck -0.5 zj 0 zk 0.3 Bailout value 0 Das wird für Quat in der OBJ-Datei folgendermaßen übersetzt: c 0.48 0.45 -0.1 0.5 lvalue 0.3 maxiter 14 bailout 64 Für maxiter denjenigen Wert einsetzen, der im Bildschirm "basic options <x>" unter "Maximum Iterations" steht. Der Wert "zj" bei Fractint ist für Quat bedeutungslos, da anstelle eines 2D-Schnittes ein 3D-Schnitt gemacht wird. Steht bei Fractint unter "Bailout value" eine 0, so wird der Default-Wert von 64 verwendet, man muß bei Quat daher 64 angeben. 5.2 Beispiele für die Wirkungsweise einiger ParameterIm Folgenden wird dargestellt, wie die Auflösung in z-Richtung ein Bild verfremden/verfälschen kann und wie man mit Antialiasing den Moire-Effekt beseitigt. Alle Bilder sind JPEG's mit niedriger Qualität.
5.3 Der Kreuzblick (zur echt dreidimensionalen Wahrnehmung eines Objektes)Vielleicht ist Ihnen seit den "Magisches Auge"-Büchern bekannt, daß spezielle Blickarten (ohne Hilfsmittel wie z.B. 3D-Brillen) ganz erstaunliche dreidimensionale Wahrnehmungen hervorrufen können. Das von Quat verwendete Prinzip ist ein anderes als das der "Magisches Auge"-Bilder (Autostereogramme), meiner Meinung nach ist es erheblich einfacher zu lernen und erbringt tolle Resultate!Das Prinzip ist das folgende: Es werden zwei Bilder aus leicht unterschiedlichen Blickwinkeln berechnet und nebeneinander dargestellt. Das rechte Bild ist für das linke Auge und das linke Bild für das rechte Auge. Daher der Name "Kreuzblick". Wenn Sie einmal Ihren Daumen ca. 10 cm vor ihre Augen halten und ganz normal anschauen, und nun Ihre Aufmerksamkeit auf den Hintergrund hinter dem Daumen richten, ohne direkt darauf zu schauen, so werden sie sehen, daß Sie den Hintergrund doppelt sehen. Hier setzt das Prinzip an. Sehen Sie sich das obige Beispielbild an. Setzen Sie sich dazu in ganz
normalem Arbeitsabstand vor den Bildschirm und halten Sie den Daumen zwischen
Augen und Bildschirm (mehr zum Auge hin). Sie sollten gerade davor sitzen
und nicht den Kopf neigen oder von der Seite hinsehen. Blicken Sie ganz
normal auf den Daumen. Achten Sie auf die beiden Bilder auf dem Bildschirm
(ohne direkt hinzublicken, also immer auf den Daumen sehen!)
5.4 Die Initialisierungsdatei(en)Initialisierungsdateien werden dazu verwendet, Quat mit den zur Berechnung eines Bildes nötigen Parametern zu füttern.Benutzer einer Version mit Benutzeroberfläche (Windows, X Window System): Obwohl dieser Abschnitt auch auf diese Versionen anwendbar ist, werden ihn die meisten Benutzer vermutlich nicht lesen müssen. In ihnen kann man bequem Dialoge verwenden, um die Parameter einzugeben - allerdings, wer will, kann auch Initialisierungsdateien benutzen. In der Textversion wird zum Starten einer Berechnung eine sogenannte
"Initialisierungsdatei" benötigt, in der das Objekt, die Ansicht,
die Farben und Schnittebenen definiert werden können. Diese Datei
(und alle mittels "include" eingefügten, s.u.) sind simple Textdateien,
die mit jedem Texteditor erstellt werden können. (z.B. "edit" unter
DOS, "notepad" unter Windows, "vi" unter Unix).
Vorschlag zur Aufteilung der Daten in verschiedene Dateien:
Dieses Konzept mag auf den ersten Blick kompliziert aussehen, es bietet aber eine hohe Flexibilität. So können Fraktale schnell mit anderen Farben "ausgestattet" werden oder neue Schnittebenen hinzugefügt werden, ohne an der Objektdefinition selbst etwas zu ändern: Es wird einfach nur eine Zeile in der INI-Datei verändert. Aber für alle, die das immernoch für zu kompliziert halten: Man kann alle Schlüsselwörter auch in der Initialisierungsdatei benutzen. |