Technischer Hintergrund
Anpassung von Rotationsachsen Automatisation von Screenshots
Dokumentation

Technischer Hintergrund

Einführung in die Transformation von 3D-Objekten

Im folgenden Abschnitt wird der Weg der Vertices eines 3D-Objektes durch die verschiedenen Transformationsstufen beschrieben, um sowohl für die Manipulation der Rotationsachse als auch für die in der Konfigurationsdatei für die Automatisation von Screenshots festgelegten Parameter den Kontext in der Computergrafik aufzuzeigen und dadurch nachvollziehbarer zu machen.
Die verwendeten Illustrationen sind aus dem "OpenGl Programming Guide", ein Link zu dem Guide und die Einzellinks zu den Illustrationen sind unter "Dokumentation" zu finden.
Ein Vertex durchläuft mehrere Koordinatensysteme, von dem lokalen Objektkoordinaten bis schließlich zu den endgültigen Bildschirmkoordinaten. Auf seinem Weg durch diese Koordinatensysteme werden dabei unterschiedliche Transformationen durch die Multiplikation der entsprechenden Transformationsmatrix auf ihn angewandt.

Ein 3D-Objekt wird zunächst in einem lokalen Koordinatensystem, den OBJEKTKOORDINATEN, definiert. Hier werden dann Transformationen auf das Objekt angewandt, die das Objekt im Raum positionieren, also die Rotation, Translation und Skalierung des Objektes. Diese Transformationen bezeichnet man als MODELL-TRANSFORMATIONEN.

Entsprechende Transformationen können auf die Szene, die Gesamtheit aller 3D-Objekte, angewandt werden. Hierbei befinden wir uns in den WELTKOORDINATEN. Diese Transformationen positionieren jetzt allerdings kein Objekt mehr im Raum, sondern stellen den Blickwinkel ein, aus dem wir die Szene betrachten. Deswegen heißen diese Transformationen AUGENPUNKT-TRANSFORMATIONEN, häufig wird auch der Vergleich zu Kameraeinstellungen gezogen.

Durch die Anwendung von PROJEKTIONSTRANSFORMATIONEN auf die Weltkoordinaten werden die Vertices in die PROJEKTIONSKOORDINATEN überführt. Es gibt in der Computergrafik zwei bedeutende Projektionstransformationen, einmal die ORTHOGRAFISCHE und einmal die PERSPEKTIVISCHE Projektion.
Bei der perspektivischen Projektion wird das sichtbare Volumen (viewing volumn) zu einem Pyramidenstumpf. Die Objekte werden durch im Augpunkt zusammenlaufende Strahlen auf die Darstellungsfläche abgebildet, so daß die Größe der Objekte von ihrer Nähe zum Augpunkt abhängt.

Bei der orthografischen oder auch parallelen Projektion wird das sichtbare Volumen zu einem Kubus, und die Objekte werden durch parallele Strahlen auf die Darstellungsfläche abgebildet, so daß Größen und Winkel unabhängig von der Nähe des Objektes zum Augpunkt erhalten bleiben.

Nachdem das sichtbare Volumen festgelegt wurde, werden nun alle Vertices außerhalb davon entfernt (CLIPPING).

Nachdem in einem Zwischenschritt die Projektionskoordinaten normiert wurden, werden nun die NORMIERTEN KOORDINATEN mittels Viewport-Transformation in Abhängigkeit von den Bildschirm-Maßen in die endgültigen BILDSCHIRMKOORDINATEN überführt.

OpenGl

OpenGl (Open Graphics Library) ist eine Spezifikation einer Grafik-API, die erstmals 1992 herausgegeben wurde. Eine (open-source) Implementation dieser Spezifikation bietet die Mesa Graphics Library, die aktuellste Version (10.x, aus dem Jahr 2013) implementiert OpenGl 3.3. Das aktuellste Release der OpenGl Spezifikation ist OpenGl 4.5 aus dem Jahr 2014.
Weitere Informationen, Dokumentation und Downloads rund um OpenGl:
Die offizielle OpenGl-Seite
Die OpenGl-Wiki
Der OpenGl-Programming-Guide "Red Book"
Das OpenGl-Reference-Manual "Blue Book"
Die offizielle Mesa-Seite

Qt

Das Qt-Framework ist ein erstmals am 20. Mai 1995 herausgegebenes Anwendungs- und Benutzerinteraktions-Framework. Als solches stellt die Qt-Bibliothek Werkzeuge zur GUI-Programmierung, aber auch zur Integration von Datenbanken und Bibliotheken wie OpenGl zur Verfügung.
Das aktuelle Release ist Qt 5.3.1 und ist am 25. Juni 2014 erschienen.
Für weitere Informationen, Dokumentation und Downloads rund um Qt:
Die offizielle Website zu dem Qt Project

Hauptseite