Als Spielefan faszinierten mich besonders Vektorgrafik-basierte Simulationen, da sie als einzige einen echten 3-dimensionalen Raum darstellen konnten - die Bewegungsfreiheit in Bitmap-basierten Pseudo-3D-Spielen ist sehr viel eingeschränkter, da hier die vorgegebene Perspektive nicht verlassen werden darf, weil sonst der ganze faule Zauber auffliegt.
Als ich erkannte, dass man mittels des Strahlensatzes (Mittelstufenwissen Mathe!) eine Lochkamera (Mittelstufenwissen Physik!) simulieren kann, machte ich mich daran, eine 3D-Anwendung zu programmieren. Das Ergebnis ist hier zu sehen:
Zusätzlich zum Darstellungsmodul brauchte ich einen einfachen Objekteditor, um nicht alle Gegenstände "zu Fuß" von Kästchenpapier als Zahlen eintippen zu müssen:
Die so erstellten Objekte musste man natürlich auch speichern können... Außerdem integrierte ich eine Joystick-Steuerung, mit der man mehrere Achsen bzw. Entfernungen in Echtzeit manipulieren kann.
Eine Besonderheit bei echtem Vektor-3D besteht darin, dass man den Raum nicht nur vortäuscht, sondern mathematisch korrekt nachbildet. Daraus folgt, dass man eine virtuelle Kamera hat, die sich - im Rahmen der Simulation - genau wie eine echte verhält. Da die menschliche Tiefenwahrnehmung auf der Verknüpfung zweier nebeneinanderliegender "Kameras" basiert, ist es also ein Leichtes, die Bilder für zwei verschiedene Augen abwechselnd berechnen zu lassen. Das einzige Problem ist dann die kanalgetrennte Vermittlung dieser zwei Bilder über einen einzigen Monitor.
Ein sehr alter Trick dafür ist die farbliche Trennung mittels einer Rot/Grün-Brille: So nimmt das eine Auge nur das rote Bild wahr, weil die rote Linse das grüne Bild herausfiltert - und umgekehrt für das andere Auge. Mitte der 80er Jahre liefen die letzten bekannteren Sendungen von Rot/Grün-3D im deutschen Fernsehen, und ich hatte noch eine Brille übrig - bunte Klarsichtfolie aus dem Bastelladen tut's aber genauso, solange die Farben saubere Grundfarben sind.
Diese Variante kostet natürlich empfindlich Rechenzeit, und die Darstellung wird arg langsam. Na ja, es ist halt nur Basic ;-)
© 2006 Uwe R. Hoeppe