SEH3

Einführung

Ich sah einmal eine Darstellung von R’lyeh zu der der Künstler angemerkt hatte, dass er nicht wisse, wie nicht-euklidische Geometrie aussehe, und daher schlicht versuchte, den alptraumhaftesten Ort zu zeichnen, den er sich vorstellen könne. Als Mathematiker wusste ich das eine und andere über nicht-euklidische Geometrie. Aber auch ich wusste nicht, wie es wäre, eine nicht-euklidische Stadt zu besuchen.

Zum Glück bin ich auch Softwareentwickler. – Eine Fertigkeit, die mich befähigt, mir Welten nicht nur jenseits der Realität, sondern sogar jenseits meiner eigenen Vorstellungskraft vor Augen zu führen.

Ich entwickle eine Rendering-Engine für Räume konstanter Krümmung – sphärische, euklidische und hyperbolische Räume – in drei Dimensionen. Das ist natürlich der heilige Gral Lovecraft-inspirierter Spiele. Es bietet auch ein einzigartiges Lernmaterial für das Studium nicht-euklidischer Geometrien und eine nie zuvor gekannte Gelegenheit für psychologische Forschung über Orientierung. Und selbstverständlich dient SEH3 auch als Vorzeigeprojekt, das meine speziellen Interessen und Fähigkeiten demonstriert.

SEH3 ist in Javascript geschrieben und nutzt ein canvas-Element zum Zeichnen. Diese Entscheidung wurde getroffen, um es einer möglichst breiten Öffentlichkeit leicht zugänglich zu machen. Kein Herunterladen und keine Plugins sind erforderlich.

Wie es funktioniert

In SEH3 werden Möbiustransformationen der Quarternionen, eingeschränkt auf den Imaginärraum, so verwendet, wie andere 3D-Engines affin-lineare Transformationen einsetzen. Der sphärische Raum wird als seine stereographische Projektion repräsentiert, der hyperbolische Raum als sein Poincaréball-Modell. Der Spieler bewegt sich in diesen Räumen durch Anwendung der richtigen Möbiustransformationen. In jedem Fall wird der Raum so transformiert, dass der Augpunkt auf den Ursprung abgebildet wird. So werden geodätische durch den Augpunkt auf Geraden abgebildet. Von da an funktioniert das Rendering also wie für den euklidischen Raum.

Features

Fehlende Features (Aufgaben)

Fehlende Features