Mathematische Grundlagen der 3D-Grafik

A fifty-page paper (in German) about the mathematical basics of 3d computer graphics, which I wrote as part of my A-levels. Unfortunately, there is no English version available. The practical part of the project was d4, a software rasterizer.

Heutzutage begegnen uns ständig computergenerierte Bilder, sei es in Form von Spezialeffekten oder künstlichen Charakteren in einem Kinofilm, sei es in Computerspielen oder bei der Visualisierung von Bauplänen, lange bevor die ersten Bagger rollen. Diese Möglichkeit, virtuelle Welten im Auge eines Betrachters Realität werden zu lassen, macht die 3D-Grafik in meinen Augen zu einem der interessantesten Anwendungsgebiete der Mathematik.

Im Rahmen meiner Matura in Mathematik bot sich die Gelegenheit, die mathematischen Grundlagen dieses Themenbereiches im Form einer Fachbereichsarbeit mit dem Titel »Mathematische Grundlagen der 3D-Grafik« kurz zusammenzufassen, welche später auch mit dem 1. Schülerpreis der Österreichischen Mathematischen Gesellschaft ausgezeichnet wurde.

Leider ist die Arbeit aufgrund des begrenzten Umfangs und der nötigen Einführung in die benötigten mathematischen Hilfsmittel (Matrizen, Quaternionen) recht elementar ausgefallen. Ein Auszug aus dem Inhaltsverzeichnis:

  1. Vorwort
  2. Einleitung
  3. Mathematische Grundlagen
    1. Vektoren
    2. Matrizen
    3. Quaternionen
    4. Grundlagen der 3D-Grafik
    5. Modellierung
      1. Geometrie
      2. Oberflächeneigenschaften
      3. Texturen
    6. Rendering
      1. Koordinatentransformationen
      2. Rasterung
      3. Umsetzung in Hardware
  4. Objekt-Transformationen
    1. Skalierung
    2. Translation
    3. Rotation
      1. Rotation um die Koordinatenachsen
      2. Eulersche Winkel
      3. Rotationsmatrix aus transformierten Basisvektoren
      4. Darstellung als Quaternion
  5. Betrachtungstransformationen
    1. View Matrix
    2. Projection Matrix
  6. Ausblick
  7. Beispielprogramm

Bei Interesse können Sie gerne die Arbeit im PDF-Format herunterladen (51 Seiten), die LaTeX-Quellen auf GitHub abrufen, oder einen kurzen Artikel zum begleitend in der Programmiersprache D entwickelten Software Rasterizer d4 einsehen.