Mathematische Kunstausstellung (Teil 5): Kubische Funktionen, mathematische Landschaften und digitale Bildbearbeitung

Kurvenscharen zweiten und dritten Grades

Es ist wohlbekannt, dass man mathematische Funktionen in einem Koordinatensystem graphisch als Kurven darstellen kann. So ergibt z.B. die Funktion y = x eine im Winkel von 45º ansteigende Gerade; die Funktion y = x2 ergibt eine nach oben geöffnete Parabel.

Nun kann man eine solche Funktion um einen veränderlichen Parameter erweitern, dann erhält man eine ganze „Familie“ von Funktionen oder Kurven. Statt y = x2 kann ich z.B. schreiben y = ax2, und der Parameter a kann z.B. die Werte von -1 bis 1 durchlaufen. Wenn wir die entstehenden Kurven alle zusammen in einem einzigen Koordinatensystem zeichnen, erhalten wir folgende Kurvenschar:

(Die Seitenlänge jedes weissen Quadrats entspricht einer Einheit. Logischerweise gehen alle diese Kurven durch den Nullpunkt, denn wenn x=0 ist, wird der Funktionswert immer Null, unabhängig vom Parameter.)

Hier noch eine weitere Kurvenschar. Sie stellt die Funktion y = x3 + x2 + bx dar, wobei der Parameter b die Werte von -3 (rote Kurve) bis 4,5 (violette Kurve) durchläuft.

Nun können wir natürlich weitere veränderliche Parameter einführen. Z.B. können wir den quadratischen Ausdruck x2 mit einem Parameter a multiplizieren und diesen im Lauf der Zeit ändern: y = x3 + ax2 + bx Damit erhalten wir ein bewegtes Bild. Im folgenden Bild durchläuft der Parameter b innerhalb jeder Kurvenschar die Werte von 0,9 (rot) bis 3,45 (violett). Im Lauf der Animation durchläuft zudem der Parameter a die Werte von 3,5 bis -3,5. Das sieht dann so aus:

Solche Kurven dritten Grades (bzw. kubische Funktionen) werden oft in Computergraphiken verwendet (z.B. die sogenannten Bezier-Kurven in Zeichnungsprogrammen). In solchen Graphiken ist es oft nötig, zwei gegebene Punkte mit einer möglichst „sanften“ Kurve zu verbinden. Wenn dann auch noch die Richtung bzw. Neigung vorgeschrieben ist, mit welcher die Kurve durch jeden der beiden Punkte verlaufen muss, dann ist eine Kurve dritten Grades die am einfachsten zu berechnende mathematische Kurve, welche diese Bedingungen erfüllt.
Computerprogramme zur Darstellung dreidimensionaler Landschaften z.B. können einige wenige gegebene Höhenpunkte in nahtlos ineinander übergehende Geländeformen verwandeln, indem sie die jeweiligen Höhen der dazwischenliegenden Flächen mittels einer kubischen Funktion interpolieren. So kommt die Mathematik der (digitalen) Kunst zu Hilfe.

Die folgende Animation zeigt diesen Vorgang vereinfacht, d.h. am Beispiel einer zweidimensionalen Kurve:


Wir interpolieren ein Gebirge

Bei einem dreidimensionalen Gelände sieht das so aus: Hier haben wir ein „Gebirge“, dessen Höhe durch 16 (4×4) Punkte definiert ist. Wenn wir keinerlei Interpolation anwenden, ergibt jeder Punkt einfach ein ebenes, quadratisches Plateau. Das sieht natürlich nicht wie ein richtiges Gebirge aus:

Das folgende Bild wurde aus denselben 16 Punkten konstruiert, aber diesmal werden die dazwischenliegenden Höhen linear interpoliert. (Genauer wird das bilineare Interpolation genannt, weil nach zwei Richtungen hin – Breite und Länge – interpoliert wird.) Das ergibt geradlinige Abhänge und pyramidenförmige Bergspitzen:

Im folgenden Bild nun wurden die Zwischenhöhen mit Hilfe einer kubischen Funktion errechnet (bikubische Interpolation); also wie im vorherigen zweidimensionalen Beispiel. Das ergibt gerundete Bergkuppen, die auf „natürlichere“ Weise ineinander übergehen. Um diese ganze Landschaft zu definieren, werden immer noch lediglich die ursprünglichen 16 Punkte gebraucht:


Anwendung in der digitalen Bildbearbeitung

Genau dieselben Algorithmen kommen auch z.B. bei der digitalen Vergrösserung von Fotografien zur Anwendung. Anstelle von Höhenstufen werden einfach die Farbwerte interpoliert. Der Computer „weiss“ ja gar nicht, ob die errechneten Zahlen nun Höhenangaben oder Farbabstufungen bedeuten; er rechnet einfach mit den „nackten“ Zahlen.

Dieses Bild von 28×28 Pixeln wird im folgenden 16-fach vergrössert.

So kommt es heraus, wenn man überhaupt keine Interpolation vornimmt: Das kleine Bild besteht tatsächlich aus genau denselben Farbquadraten wie das folgende grosse Bild. Es wird vom Auge nur nicht auf dieselbe Weise wahrgenommen, weil unser Auge im kleinen Bild die einzelnen Quadrate nicht mehr unterscheiden kann, im vergrösserten Bild aber sehr wohl. (Betrachten Sie das untenstehende Bild aus etwa fünf Metern Entfernung, und Sie werden sehen, wie Ihr Auge von selbst die Interpolation vornimmt.)

Im nächsten Bild wurde eine bilineare Interpolation vorgenommen. Das sieht schon viel besser aus, aber es erscheinen immer noch störende rechtwinklige Striche:

Und nun dieselbe Vergrösserung mit der bikubischen Interpolation. Die Farbübergänge sehen hier am besten aus:


Eine Fraktal-Landschaft

Zu guter Letzt verlassen wir die kubischen Funktionen und springen schnell zu einem anderen Thema. Wir wenden auf unsere künstliche Gebirgslandschaft eine ganz andere Art der Interpolation an, die noch viel eher den in der Natur vorkommenden Formen entspricht:

So sieht das Gebirge schon fast „echt“ aus. Es handelt sich hier um eine fraktale oder selbstähnliche Interpolation. Diese baut auf der bilinearen Interpolation auf, fügt aber in zunehmend kleineren Schritten jeweils einen Korrekturwert hinzu, welcher einer verkleinerten Version des gesamten Gebirges entspricht. Das geht so: Die ursprünglich gegebenen 16 Punkte teilen den Grundriss der gesamten Landschaft in 16 Quadrate auf. In jedem dieser Quadrate werden zunächst je 16 „Unterpunkte“ durch bilineare Interpolation bestimmt. Zusätzlich wird aber zur Höhe jedes dieser Punkte ein Wert addiert, der der Höhe des entsprechenden „Haupt-Punktes“ im Gesamtgrundriss entspricht – nur geteilt durch 4, weil ja die Unterquadrate eine viermal kleinere Seitenlänge haben. Also wird z.B. zu allen „Unterpunkten“, die in ihrem Unterquadrat die Position Nr.12 einnehmen, ein Viertel der Höhe von „Hauptpunkt Nr.12“ im grossen Quadrat dazugezählt. – Diese Unterquadrate werden dann auf dieselbe Weise wiederum in Unterquadrate aufgeteilt, wobei der Korrekturwert dieses Mal durch 16 geteilt wird, weil wir jetzt Quadrate mit einer 16mal kleineren Seitenlänge haben. Und so weiter, so oft man will.
Das Ergebnis ist eine „selbstähnliche“ Landschaft, in welcher die Gesamtstruktur des Gebirges in jedem seiner Teile verkleinert wieder erscheint. Diese Erscheinung kann tatsächlich in echten Gebirgszügen beobachtet werden, sowie in anderen Gebilden der Schöpfung Gottes wie z.B. Wolken oder Bäumen. Auch solche anscheinend ganz unregelmässigen Formen können also mit geordneten mathematischen Strukturen beschrieben werden. Wir werden solchen Strukturen in der nächsten Folge wieder begegnen.
Das Erstaunliche daran ist, dass auch dieses „unregelmässige“ Gebirge durch die ursprünglichen 16 Punkte (und den Interpolations-Algorithmus) eindeutig bestimmt ist. 16 Zahlen und eine mathematische Formel beschreiben die Form dieses Gebildes vollständig.

Noch ein weiteres Beispiel dieser Art. Der Standort des Betrachters wurde hier im Inneren der Landschaft gewählt, und die Höhe des Wasserspiegels (sowie auch die Farbgebung) wurde willkürlich festgelegt. Im übrigen wurde aber auch diese Landschaft durch selbstähnliche Interpolation aus nur 16 Punkten errechnet. (Die Originalgrösse dieses Bildes ist 1024×768 Pixel, sodass es als Desktop-Hintergrundbild verwendet werden kann.)

Advertisements

Schlagwörter: , , , , , , ,


%d Bloggern gefällt das: