Übung Computer-Grafik
Ziel der Übungen ist die Anwendung der grundlegenden Arbeitsweisen und
Algorithmen aus der Vorlesung “Grundlagen der Computergrafik”.
Die Übungen
werden mit der C-API von OpenGL unter Linux erstellt. OpenGL ist eine
Grafik-Bibliothek die auf allen gängigen Betriebssystemen zur
Verfügung steht.
Insgesamt werden in Gruppen zu je zwei Studenten vier Aufgaben zu bearbeiten,
wovon drei fest vorgegeben sind und eine vierte Aufgabe nach einem selbst zu
erstellenden Konzept zu realisieren ist.
Übung 1 – Japanische Zimmerlinde
Die erste Übung hatte das Ziel, eine einfache OpenGL-Anwendung zu erstellen, um die grundlegenden Bausteine kennenzulernen.
Es sollte ein L-System graphisch dargestellt werden. Ein L-System ist eine Textuelle Beschreibung einer geometrie, die durch wiederholte Textersetzung entsteht und dann geometrisch interpretiert wird. Die dadurch entstehende Selbstähnlichkeit erzeugt sehr natürlich wirkende Geometrien.
Ausserdem sollte der entstandene Baum animiert werden, als würde er sich im Wind wiegen.
Übung 2 – Robbie der Blechmann
In der zweiten Übung haben wir einen komplexen Roboter mit Hilfe des OpenGL-Matrix-Stacks parametrisiert und animiert. Die Animation erfolgt über die drei Maustasten, wobei jede einzelne Taste dazu führt, daß die Bewegung der Maus an die Bewegung eines Elements gekoppelt wird.
Ausserdem sind die drei verwendeten Lichtquellen über die Tastatur einzeln ein- und ausschaltbar.
Übung 3 – das unverrückbare Labyrinth
Die dritte Übung hat die unterschiedlichen Möglichkeiten des
Texture-Mappings zum Thema, die von OpenGL zur Verfügung gestellt werden.
Eine einfache Figur aus drei Teilen soll mit der Maus über ein Schachbrett gezogen werden, wobei durck Clicken mit der rechten Maustaste die unterschiedlichen Texturmodi durchgeschaltet werden können.
Da das Picking die drei Segmente der Figur unterscheiden kann werden immer nur die Figursegmente von dem berührten an abwärts verändert.
Übung 4 – Tanks!
Als Abschlussaufgabe programmierten wir ein einfaches Actionspiel für zwei Spieler. Hierbei steht jedem Spieler ein Panzer zur Verfügung, der tastaturgesteuert frei fahrbar, dessen Turm drehbar und dessen Geschütz in der Vertikalen verstellbar ist.
Die Kollisionserkennung erfolgt über Bounding-Boxes, die jedem Objekt zugeordnet sind. Für die Kollisionsreaktion musste eine Spielphysik implementiert werden, die nach dem Prinzip des elastischen Stosses arbeitet.