Institute for Visualization and Interactive Systems
AutoOpt - Voxel-basierter Ansatz
Sorry, this document is only available in German.
Klassischerweise sind Operationen auf Finiten-Element-Modellen netzgebunden,
also abhängig von der jeweiligen Vernetzung des Modells.
In manchen Situationen sind aber Operationen unabhängig von der
Vernetzung wünschenswert, wie zum Beispiel vernetzungsunabhängige
Modellvergleiche oder grobskalige Editiervorgänge. Um hierfür eine
Basis bereitzustellen wurde ein voxel-basierter Ansatz gewählt:
FE-Modelle können in ein Distanzvolumen umgewandelt werden auf dessen
Basis dann die gewünschten Operationen ausgefürt werden können.
Anschließend kann das Modell wieder in Form einer Isofläche
extrahiert und weiterbearbeitet werden.
Abbildung 1: Volumendarstellung eines Bauteils
Erzeugen des Distanzvolumens
Zur Erzeugung des Distanzvolumens wird die Bounding Box des Modells (Bauteils)
in quaderförmige Voxel aufgeteilt. Die Anzahl der Voxel richtet sich dabei
nach der gewünschten Größe der später zu rekonstruierenden
Finiten Elemente. Im Anschluss wird für jedes Voxel der kürzeste
Abstand zur Bauteiloberfläche berechnet und abgespeichert. Um später
eine bessere Extraktion der Isofläche zu ermöglichen wird hierbei
noch unterschieden wo auf der Bauteiloberfläche der dem Voxel nächste
Punkt liegt: Im Inneren eines Elements, auf einer sichtbaren Bauteilkante oder
auf dem Rand des Bauteils (ggf. auf einer Ecke des Randes). Diese Information
wird mit abgespeichert. Idealerweise ist der Abstandsvektor zwischen Bauteil
und Voxel normal zur Bauteiloberfläche. Weicht die Richtung des Vektors
zu weit von der Normalen ab wird die Distanz des Voxels auf einen
ungültigen Wert gesetzt und dieses Voxel bei der Rekonstruktion der
Fläche zu ignorieren. Hierdurch ist es möglich auch kleine
Charakteristika der Fläche, wie z.B. kleine Löcher, zu erhalten
(siehe Ausschnitt in Abbildung 1). Ein Beispiel einer Volumendarstellung
eines Modells ist in Abbildung 1 gezeigt.
Verarbeitung des Distanzvolumens
Hat man das Distanzvolumen erzeugt können auf dieser basis diverse
Operationen ausgeführt werden. Möchte man beispielsweise zwei
unterschiedlich vernetzte Modelle miteinander vergleichen, kann man
beide Modelle mit gleicher Voxelgröße voxelisieren und die
resultierenden Volumen vergleichen, ebenso mit eventuell unterschiedlich
editierten Modellen.
Möchte man ein Bauteil grobskalig editieren, so ist dies auch in
dieser Darstellung möglich, da auf die Gitterqualität keine
Rücksicht genommen werden muss.
Extraktion der Isofläche
Um nach den im vorigen Abschnitt beschriebenen Operationen wieder ein
für die Simulation geeignetes FE-Gitter zu erhalten muss die im
Volumen kodierte Isofläche wieder extrahiert werden.
Klassischerweise geschieht dies mit dem Marching Cubes
Algorithmus, der aber leider den Nachteil birgt, Dreiecksnetze mit
zumeist schlechter Elementqualität zu generieren. Für
FE-basierte Simulationen wie hier im Projekt werden aber
vierecksdominierte Netze benötigt. Der kleine Umweg über das
duale Netz ermöglichte es uns ein solches Netz zu
generieren. Dennoch birgt auch diese Methode Probleme, wie zum Beispiel
falsch orientierte Vierecke (Rhombi) und auswaschen scharfer
Bauteilkanten. Durch Einführen geeigneter Kontrollmechanismen und
Nachbearbeitungsschritte konnten aber auch diese Probleme weitgehend
behoben werden (siehe Abbildung 2).
Abbildung 2a: Als duales Gitter extrahiertes FE-Gitter
Abbildung 2b: FE-Gitter nach Entfernung der Rauten
Abbildung 2c: Extrahiertes und optimiertes FE-Gitter