Direkt zum Inhalt | Direkt zur Navigation

UniBwM » INF » Institut Softwaretechnologie » Institut Softwaretechnologie » Personen » Professoren » Prof. Dr.-Ing. Mark Minas » Studien- und Diplomarbeiten » Erweiterung eines Frameworks zur Erstellung graphischer Editoren für dreidimensionale Szenerien

Erweiterung eines Frameworks zur Erstellung graphischer Editoren für dreidimensionale Szenerien

Angebotene Diplom- und Studienarbeiten

Erweiterung eines Frameworks zur Erstellung graphischer Editoren für dreidimensionale Szenerien


Hintergrund

DiaGen ist ein Rapid Prototyping-Werkzeug zur weitgehend automatischen Generierung von Diagrammeditoren aus einer Spezifikation. Es besteht aus einem graphischen Werkzeug zum Erstellen solcher Spezifikationen, einem Editor-Framework und einem Programmgenerator, der die Spezifikation einer Diagrammsprache und ihres Editors in Java-Klassen übersetzt. Zusammen mit dem Framework realisieren diese Klassen einen Diagrammeditor für die spezifizierte Diagrammsprache. Der Editor unterstützt freies Editieren, aber auch - sofern spezifiziert - strukturiertes Editieren und automatisches Layout.

Im allgemeinen sind Diagrammsprachen zweidimensional. Beispiele sind die Sprachen der UML oder die Vielzahl anderer Diagramme in der Informatik. Erweiterungen zu dreidimensionalen Diagrammen (eigentlich "dreidimensionalen Szenerien") liegen aber auf der Hand. Einerseits sind dreidimensionale Szenerien Bestandteile vieler Bereiche (z.B. Simulation, VR, Visualisierung), andererseits bietet die dritte Dimension interessante Erweiterungsmöglichkeiten herkömmlicher, zweidimensionaler Diagramme. Man denke nur an die Kombination von Kollaborations- mit Sequenzdiagrammen der UML, die bei Projektion in die x-z-Ebene ein Sequenzdiagramm sind, bei Projektion in die x-y-Ebene aber ein Kollaborationsdiagramm.

Im Rahmen einer Diplomarbeit ist ein Editor-Framework zum Editieren dreidimensionaler Szenerien erstellt worden. Zur Darstellung und Manipulation im dreidimensionalen Raum kommt Java3D zum Einsatz. Entstanden ist ein generischer 3D-Editor, der das Erstellen und visuelle Modifizieren dreidimensionaler Szenerien ermöglicht. Dabei werden die üblichen zweidimensionalen Hilfsmittel (Maus, Tastatur und Bildschirm) verwendet. Um die räumlichen Orientierung zu erleichtern, werden gleichzeitig Ansichten aus mehreren, veränderbaren Blickrichtungen angezeigt. Das folgende Bild ist ein Screenshot des 3D-Editors; gezeigt wird ein Baum in einer dreidimensionalen Welt.

DiaGen3D screenshot
(Klicke auf das Bild, um es in der Originalgröße anzuzeigen)

Aufgaben

Das vorliegende Konzept eines 3D-Editor-Frameworks und seine Umsetzung bieten eine Vielzahl von Ansatzpunkten, es zu vervollständigen und zu erweitern. Eine Auswahl der im Rahmen mehrerer Studien- und Diplomarbeitenzu behandelnden Themen ist:
  • Integration in DiaGen: Die Integration in DiaGen ist nicht vollständig. Die Anzeigeflächen und Werkzeuge müssen in das vorhandene DiaGen integriert werden. Dann werden Menäleiste und Werkzeuge von DiaGen sichtbar, die ggf. noch angepasst werden müssen. Die Analyse der Diagramme mit drei Dimensionen und ihren Auswirkungen auf das Hypergraphenmodell muss implementiert werden.
  • Copy, Paste und Undo: Mit der Integration in das vorhandene DiaGen-System sind die Funktionalitäten für Copy, Paste, Un- und Redo anzugleichen.
  • Definition und Codeerzeugung: Das Designtool und die automatische Codeerzeugung sind an die dritte Dimension und die Java3D-Methoden anzupassen.
  • Semantisches Zoomen: Aus der Verbindung mit DiaGen erwachsen neue Probleme, was das Zoomen betrifft: das Konzept für semantisches Zoomen muss erweitert oder neu umgesetzt werden. Der gleichzeitige Blick mehrere Kameras auf dieselbe Szene und die Dreidimensionalität stellt hier neue Herausforderungen, aber auch neue Möglichkeiten dar. So werden durch die Kameraposition nicht mehr alle Diagrammkomponenten gezeigt, da solche auch hinter der Kamera liegen können. Befindet sich die Kamera innerhalb eines Objektes, wird dieses ebenfalls nicht angezeigt. Ein Umstand, der hier ebenfalls neue Möglichkeiten eröffnet.
  • Gruppenselektion durch Rahmen: Es können Java3D-Funktionen verwendet werden, um die Selektion von Gruppen auszubauen. Eine Mausbewegung mit gedrückter Taste könnte so alle eingeschlossenen Objekte auswählen.
  • Objektrotation: Die Drehung von Objekten kann behandelt werden. Dazu sind geeignete Handles zu entwerfen und Parameter für die Ausrichtung in die Diagrammkomponente zu integrieren. Änderungen hierbei betreffen möglicherweise die Diagrammanalyse.
  • Transparenz bei der Benutzung von Handles: In der momentanen Programmversion können Handles durch andere Objekte verdeckt werden. Auch wenn diese Objekte die Selektion und Bewegung der Handles nicht beeinflussen, so können sie die Arbeit doch stören. Ein Lösungsansatz hierfür wäre eine Analyse und das Auf- finden der Objekte die zwischen einem Handle und der Kamera liegen. Änderungen der Transparenzwerte könnten das Handle dann sichtbar machen.
  • Spezifikation und automatische Generierung von 3D-Editoren: Die vorliegende Version ist noch nicht in der Lage, 3D-Editoren aus einer Sprach- und Editorspezifikation automatisch zu generieren. Aufbauend auf der für 2D-Editoren in DiaGen bereits existierenden Lösung ist ein Spezifikations- und Generierungswerkzeugs für 3D-Editoren zu konzipieren und zu realisieren.

Referenzen

  • Web-Seite zu Java3D
  • Web-Seite zu DiaGen mit Aufsätzen etc.
  • Jonathan Albe. Spezifikation und Generierung graphischer Editoren für dreidimensionale Szenerien, Diplomarbeit an der Universität der Bundeswehr München, Fakultät für Informatik, 2005

Kontakt

Interessenten wenden sich bitte an Mark Minas

Bild von Mark Minas
Prof. Dr.-Ing. Mark Minas

Adresse
Institut für Softwaretechnologie
Fakultät für Informatik
Universität der Bundeswehr München
85577 Neubiberg

Büro: Gebäude 41/400, Raum 2408

Tel.: +49 89 6004-2220 (-3352, -2263)
Fax: +49 89 6004-2448
E-Mail: Mark.Minas@unibw.de
PGP: PGP key (GnuPG v1.2.5)