PLYPolygon File FormatもしくはStanford Triangle Formatとして知られているコンピュータファイル形式である。これは原則として3Dスキャナからの3次元データを格納するために設計された。データ格納形式は、名目上平面ポリゴンのリストとして、単独オブジェクトの比較的簡単な記述をサポートしている。以下を含めた様々なプロパティが格納され得る: 色および透明性、サーフィス法線、テクスチャ座標およびデータ信頼値。また、この形式はポリゴンの表と裏に異なったプロパティを持たせることができる。このファイル形式には、ASCIIバイナリの二つのバージョンが存在する。

Polygon File Format
拡張子.ply
MIMEタイプtext/plain
タイプコードASCII/バイナリファイル
マジック
ナンバー
PLY
開発者Greg Turk英語版スタンフォード大学
初版1994[1]
種別3Dモデル形式
ミケランジェロダビデ像』の極めて高い解像度の3DスキャンのためにPLY形式を使用したスタンフォード大学The Digital Michelangelo Project

ファイル形式 編集

ファイルはヘッダにより組織され、そのヘッダにメッシュの要素およびその型が指定されており、それに要素自身のリストが続く。通常、その要素は頂点と面であるが、辺や、レンジマップのサンプルや、トライアングルストリップのような他の項目も含むことができる。

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"キーワードが案出された。

関連項目 編集

出典 編集

  1. ^ Greg Turk. “The PLY Polygon File Format”. 2017年5月2日時点のオリジナルよりアーカイブ。[出典無効]

外部リンク 編集