Polygon File Format
Das Polygon File Format (kurz PLY oder auch bekannt als Stanford Triangle Format) ist ein Dateiformat zur Speicherung dreidimensionaler Daten, das ursprünglich zur Verwendung mit 3D-Scannern konzipiert wurde. Das Format zeichnet sich durch eine einfache Beschreibung einzelner Objekte als Listen von Polygonen aus. Für die Vorder- und Rückseite eines Polygons können unterschiedliche Attribute definiert werden, wie zum Beispiel Farbe, Transparenz, Oberflächen-Normalen, Textur-Koordinaten oder Konfidenz-Werte gemessener Daten. Eine PLY-Datei kann im ASCII-Format oder als Binärdatei gespeichert werden. ![]() DateistrukturDie Dateien beginnen mit einem Header, der die Elemente des Polygonnetzes und ihre Typen spezifiziert. Die auf den Header folgende Liste enthält Elemente wie Vertices, Dreiecke (Faces) und Kanten. Sowohl in der ASCII- als auch in der Binär-Version der Datei besteht der Header immer aus ASCII-Zeichen; lediglich der numerische Teil der Datei wird unterschiedlich abgespeichert. Die erste Zeile des Headers besteht nur aus der Magischen Zahl: ply
Die zweite Zeile spezifiziert das Format der Datei und sollte einer der folgenden entsprechen: format ascii 1.0
format binary_little_endian 1.0
format binary_big_endian 1.0
Die Kennzeichnung Das Wort comment Dies ist ein Kommentar!
Mit dem Folgendes steht zum Beispiel in einer Datei, die 12 Vertices enthält, die jeweils als Zahlentripel aus (X,Y,Z) Floats definiert sind. element vertex 12
property float x
property float y
property float z
Weitere property uchar red
property uchar green
property uchar blue
Beachten Sie hierbei bitte, dass Farben typischerweise den Datentyp Für Datentypen bestehen zwei verschiedene Notationen, die wie oben als Skalare Variablen oder als Liste angegeben werden.
Für die Listen-Notation kann aus den rein numerischen Typen Ein Objekt mit zehn Polygon Faces kann mit der Listen-Notation wie folgt beschrieben werden: element face 10
property list uchar int vertex_indices
Mit dem Wort Folgende Zeile schließt den Header ab und wird gefolgt vom eigentlichen Inhalt der Datei: end_header
BeispielFolgendes beschreibt einen einfachen Würfel in einer PLY-Datei im ASCII Format und stammt aus der originalen Dateistruktur Definition von Greg Turk.[1] ply
format ascii 1.0 { ascii/binary, format version number }
comment made by Greg Turk { comments keyword specified, like all lines }
comment this file is a cube
element vertex 8 { define "vertex" element, 8 of them in file }
property float x { vertex contains float "x" coordinate }
property float y { y coordinate is also a vertex property }
property float z { z coordinate, too }
element face 6 { there are 6 "face" elements in the file }
property list uchar int vertex_indices { "vertex_indices" is a list of ints }
end_header { delimits the end of the header }
0 0 0 { start of vertex list }
0 0 1
0 1 1
0 1 0
1 0 0
1 0 1
1 1 1
1 1 0
4 0 1 2 3 { start of face list }
4 7 6 5 4
4 0 4 5 1
4 1 5 6 2
4 2 6 7 3
4 3 7 4 0
ASCII- oder Binär-FormatIn der ASCII-Version des Formats werden Vertices und Faces jeweils in einer Zeile beschrieben, Zahlenwerte werden durch Leerzeichen getrennt. Im Binär-Format werden die numerischen Werte einfach nur kompakter zusammengefasst, durch den im Header spezifizierten endian und gegebene Datentypen der EntstehungDas PLY-Format wurde Mitte der 1990er von Greg Turk und anderen unter der Leitung von Marc Levoy an der Stanford University entwickelt. Die grundlegende Struktur war inspiriert vom Wavefront-OBJ-Format, das aber nicht die gewünschte Flexibilität bot, diverse Zusatzinformationen oder Gruppierungen zu formulieren. Daraufhin wurden die Verwandte Dateiformate
Wissenschaftliche Softwarefür unstrukturierte Dreiecksgitter im PLY-Format: Programmbibliotheken und Quelltexte
Datensammlungen
Einzelnachweise
|