TU Berlin Fakultät II
Institut für Mathematik
     

Arbeitsgruppe Geometrie

       

  

Geometry Group

Members

Projects

Lehre

Seminare


Archive





      

Mathematische Visualisierung I (Winter 2010/11)

Zurück zur Seite der Veranstaltung...

Blatt 4 (Direkt zur Ruhelage und dünn besetzte Matrizen)

Hausaufgaben

Die Übung wird sich erneut ausschliesslich mit den alten und neuen Hausaufgaben befassen.

Miniprojekt (Abgabe voraussichtlich am 18. November):

Diesmal sollt ihr mithilfe des Projekts MTJ aus einer Fläche (mit festem Rand) eine Fläche in Ruhelage (mit eben genau diesem Rand) berechnen.

Offensichtlich ist dies ein lineares Problem. Die Fläche befindet sich genau dann in Ruhelage, wenn jeder innere Vertex der Schwerpunkt der Schwerpunkte der angrenzenden Facetten ist. Da der Rand fix bleibt, haben wir es hier mit einem inhomogenen linearen Gleichungssystem zu tun, das direkt berechnet werden kann. Ihr sollt euch überlegen, wie die Koeffizienten gewählt werden müssen, um das korrekte Ergebnis zu erhalten.

Ist n die Anzahl der Vertices, hat die Koeffizientenmatrix das Format (3*n,3*n). Andererseits, da die Koordinaten eines jeden Vertex' nur von den Vertices seiner angrezenden Facetten abhängt, ist die Matrix jedoch nur dünn besetzt. Daher sollte man auch Klassen verwenden, die dies unterstützen.

Ein Projekt, das solche Matrizen und natürlich auch die entsprechenden Lösungsalgorithmen bietet, findet sich unter der URL http://matrix-toolkits-java.googlecode.com/svn/. Es soll in ein Javaprojekt mit dem Namen "mtj" ausgecheckt werden. Die zugehörige API findet ihr hier. Hilfreich ist auch das auf der Projektseite verlinkte Overview.

Hinweis: Benutzt bitte den "New Project Wizard", da das Repository keine .classpath oder .project Datei enthält. Ausserdem müssen die im "lib" Ordner (natürlich der aus dem mtj Projekt) enthaltenen Dateien zum "Build Path" hinzugefügt werden.

Natürlich sollen die alten Funktionalitäten des Programms dabei erhalten bleiben, d.h. ihr sollt die Methode für allgemeine diskrete Flächen implementieren (und nicht nur für Triangulierungen).

Unter templates.uebung04 gibt es wieder ein Template. Bitte erstellt nach altem Muster ein neues Paket für die Aufgabe.

Diesmal ist nur eine Methode zu implementieren (Utils.getPositionOfRest(DefaultJRHDS)) und ein Button zur GUI hinzuzufügen. Die Verwendung der dünn besetzten Matrizen ist allerdings etwas haarig.

Hier wieder ein Webstart, wie eure Anwendung am Ende ungefähr aussehen sollte.


Felix Knöppel . 08.11.2010.