PLY (ファイル形式)
拡張子 | .ply |
---|---|
MIMEタイプ | text/plain |
タイプコード | ASCII/バイナリファイル |
マジック ナンバー | PLY |
開発者 | Greg Turk、スタンフォード大学 |
初版 | 1994[1] |
種別 | 3Dモデル形式 |
PLYはPolygon File FormatもしくはStanford Triangle Formatとして知られているコンピュータファイル形式である。これは原則として3Dスキャナからの3次元データを格納するために設計された。データ格納形式は、名目上平面ポリゴンのリストとして、単独オブジェクトの比較的簡単な記述をサポートしている。以下を含めた様々なプロパティが格納され得る: 色および透明性、サーフィス法線、テクスチャ座標およびデータ信頼値。また、この形式はポリゴンの表と裏に異なったプロパティを持たせることができる。このファイル形式には、ASCIIとバイナリの二つのバージョンが存在する。
ファイル形式
[編集]ファイルはヘッダにより組織され、そのヘッダにメッシュの要素およびその型が指定されており、それに要素自身のリストが続く。通常、その要素は頂点と面であるが、辺や、レンジマップのサンプルや、トライアングルストリップのような他の項目も含むことができる。
ASCII及びバイナリファイルのヘッダは、どちらもASCIIテキストとなっている。二つのバージョンは、ヘッダ後の数値データのみ異なる。
ヘッダは常に、ファイルをPLYファイルとするための識別子である
ply
の行を含むマジックナンバーで始まる。二行目はPLY形式のバリエーションを示す。これは以下のどれかである必要がある:
format ascii 1.0 format binary_little_endian 1.0 format binary_big_endian 1.0
この標準の将来のバージョンでは、最後の部分にあるリビジョンバージョンが変わりうる。しかし、現在のところ1.0のみ使われている。
コメントは、行頭で単語comment
を使うことにより、ヘッダーに置くことができる。これは行頭から行末までの全てが無視される。例:
comment This is a comment!
'element'キーワードは、どのように何か特有のデータ要素が格納され、どれぐらいそれらがあるのかの記述に導入されている。従って、12頂点あり、それぞれが浮動小数点 (X, Y, Z) の三つとして表現されたファイルは、以下のようになるだろう:
element vertex 12 property float x property float y property float z
他の'property'には、それぞれの頂点に色やその他のデータ項目が含まれていること、及びその情報のデータ型を示しても良い。データ型には、PLYファイルの出所に依って、二種類存在する。型はchar uchar short ushort int uint float doubleの内の一つ、もしくはint8 uint8 int16 uint16 int32 uint32 float32 float64の内の一つで指定できる。十角ポリゴン面を持つオブジェクトは、以下のようになる:
element face 10 property list uchar int vertex_indices
単語'list'はデータが値のリストであることを示す。リストの行にある最初の型は、項目数のものを表す (この場合、'uchar'として表現される)。この例ではそれぞれのリスト項目は'int'として表現される。また、ヘッダの最後に、常に以下の行が無くてはならない:
end_header
ASCII又はバイナリ形式
[編集]この形式のASCII版では、空白で区切られた数字を持つ行に頂点と面がそれぞれ記述される。バイナリ版では、データは単純にヘッダで指定された'エンディアン'かつ'property'レコードに与えられたデータタイプで、ぎっしり詰め込まれる。ポリゴン共通の「property list ...」の表現のために、要素の最初の数字はポリゴンが持つ頂点の数となっており、残りの数字は先行する頂点リストにあるこれらの頂点のインデックスとなっている。
歴史
[編集]PLY形式は90年代半ばにスタンフォードグラフィクス研究所のGreg TurkらによってMarc Levoyの指導の下に開発された。その設計はWavefront .objファイルにインスパイアされたものの、Obj形式は任意のプロパティ及びグルーピングの拡張性を欠いていたため、頂点、面、構成データ、他のグルーピングの観念を一般化して"property"及び"element"キーワードが案出された。
関連項目
[編集]- Standard Triangulated Language
- Additive Manufacturing File Format
- Wavefront .objファイル - .obj拡張子を持つ3Dジオメトリ定義ファイル形式
- MeshLab - PLY形式と3Dメッシュ間の変換、処理、可視化のためのオープンソースのWindows、Mac OS XおよびLinuxアプリケーション
- CloudCompare - PLYファイルを扱うための別のオープンソースアプリケーション
- Mathematica - PLYファイルを扱って作業可能な技術的計算システム
出典
[編集]- ^ Greg Turk. “The PLY Polygon File Format”. 2017年5月2日時点のオリジナルよりアーカイブ。 Template:Cite webの呼び出しエラー:引数 accessdate は必須です。[出典無効]
外部リンク
[編集]- PLY - Polygon File Format
- Some tools for working with PLY files (C source code)
- rply - An Ansi C software library for reading and writing PLY files (MIT license)
- libply - A C++ software library for reading and writing PLY files (GNU license)
- Another C++ software library for reading and writing PLY files (GPL 3.0 license)
- A repository of 3D models stored in the PLY format