next up previous contents
Next: 4.3.2 FNC-Format Up: 4.3 Erzeugen von ODL-Dateien Previous: 4.3 Erzeugen von ODL-Dateien   Inhalt


4.3.1 SBW-Format

Das SBW-Format4.13ermöglicht es, G-Spline-Flächen durch zusammensetzen von gleichgroßen Würfeln mit der Seitenlänge 1 zu erzeugen. Die Ecken der Würfel legen dabei die Kontrollpunkte fest. Die Polygone für das Kontrollnetz werden aus den Seiten der Würfel gebildet. Dabei sind aber nur die Seiten zu berücksichtigen, die nur Teil eines einzigen Würfels sind. Alle anderen liegen innerhalb oder außerhalb des Körpers. Um die Flächen interessanter zu gestalten, kann man die Würfel auch noch längs ihrer x-, y- oder z-Achse verdrehen. Hierzu müssen nur die Kontrollpolygone jeweils um eine Seite versetzt gewählt werden. Neben der Fläche selbst können wir auch gleich eine Funktion auf dieser Fläche über Funktionskontrollpunkte bestimmen. Dies wird über eine von den Koordinaten des Flächenkontrollpunktes abhängige Parametrisierung erreicht. Durch zweimaliges anwenden der Doo-Sabin-Subdivision kann man aus so erzeugten Kontrollnetzen semi-reguläre Kontrollnetze für biquadratische G-Splines erzeugen.

Die Anordnung der Würfel kann über eine ASCII Datei festgelegt werden. Wir geben dabei nacheinander die x-y-Ebenen in z-Richtung an. Das so erzeugte SBW-Format hat folgende Form:


SBW format


Die Zeilenumbrüche werden hier berücksichtigt. X, Y und Z geben die maximale Anzahl der Würfel in x-, y-, und z-Richtung an. Dabei wird vom Ursprung in die jeweilige positive Richtung gezählt. Optional kann man eine Funktion func im Perl Syntax angeben, welche die Funktionskontrollpunkte festlegt. Diese kann auf die Koordinaten $x, $y, $z des Flächenkontrollpunktes zugreifen. Die Würfel werden durch den Rest der Datei bestimmt. Dazu wird der Raum in ein drei-dimensionales Gitter zerlegt. Die Belegung der einzelnen Zellen wird durch das Array a bestimmt. Ein . markiert eine leere Zelle, ein * einen Würfel in dieser Zelle, x ,X, y, Y, z und Z markieren Zellen, in denen der Würfel um die x-, y- oder z-Achse verdreht wurde.

Abbildung 4.2: Beispiel zum SBW-Format
Beispiel zum SBW-Format

Die in Abbildung 4.2 dargestellte Fläche wurde mit Hilfe der folgenden SBW-Datei erzeugt:


2x2x2;$x*$x+$y*$y+$z*$z
**
y.
*.
..



Die Farben und die Lichtquelle wurden durch editieren der ODL-Datei angepaßt. Die Abbildung zeigt auch nur die Fläche und nicht die darauf definierte Funktion.

Das Perlskript sbw2odl.pl konvertiert eine Datei im SBW-Format in das ODL-Format. Die SBW-Dateien werden dazu als Argumente übergeben.


next up previous contents
Next: 4.3.2 FNC-Format Up: 4.3 Erzeugen von ODL-Dateien Previous: 4.3 Erzeugen von ODL-Dateien   Inhalt
Copyright © 1999-2002 Frank C. Langbein. All rights reserved.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation.

Contact: webmaster@langbein.org
URI: http://www.langbein.org/fileadmin/research/surfaces/diploma/HTML/node34html