Home | Lehre | Videos | Texte | Vorträge | Software | Person | Impressum, Datenschutzerklärung | Blog
Subdivision Surface
Schreiben Sie ein Programm, das ein geschlossenes (= randloses) Polygonobjekt
einliest, dieses einstellbar oft nach Catmull-Clark unterteilt und das
Ergebnis anzeigt. Als Anzeige genügt ein Drahtgitter. Zum Einlesen
können Sie meinen Code für einen OBJ-Import nutzen (C#-Datei
steht in diesem Verzeichnis). Leider kann man hier nicht direkt .x-Dateien
verwenden, weil man sonst auf Dreiecksobjekte eingeschränkt ist. Programmiersprache:
egal, von mir aus PHP.
Die Aufgabe ist recht leicht lösbar, wenn man:
-
auf Papier beginnt, mit einem genauen Entwurf der Datenstrukturen und des
Algorithmus,
-
den Code mit Exceptions und Assertions pflastert.
Beachten Sie die Korrektur der Formel im Skript. Anders als die übliche
Angabe bezieht sich die auf die neu erzeugten Vertizes, was die Datenhaltung
erleichtern sollte.
Ideen für Erweiterungen:
-
Zeitoptimierung: Informationen über Topologie nur einmal aufbauen
und dann mitführen
-
Ränder
-
Creases
-
Vertizes per Maus zu ziehen
-
auch Texturkoordinaten unterteilen; texturieren