PLY (ファイル形式)

Polygon File Format
拡張子.ply
MIMEタイプtext/plain
タイプコードASCII/バイナリファイル
マジック
ナンバー
PLY
開発者Greg Turk(英語版)スタンフォード大学
初版1994[1]
種別3Dモデル形式

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

ミケランジェロ『ダビデ像』の極めて高い解像度の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日時点のオリジナルよりアーカイブ。 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
3Dファイル形式
レガシー
3DCG
3D CAD
ラピッドプロトタイピング
及びマルチメディア
現行
3DCG
3D CAD
3D都市モデル(英語版)
Web3D
3Dプリンター
フライトシミュレータ
ボクセル/ボリューム
  • OpenVDB形式 (*.vdb)(英語版)
CADCAMのソフトウェア
オープンソース
  • BRL-CAD(英語版)
  • FreeCAD
  • HeeksCAD(英語版)
  • KiCad
  • LibreCAD(英語版)
  • NaroCAD
  • OpenSCAD(英語版)
  • QCad(英語版)
フリーウェア
プロプライエタリ
ファイル形式
ジオメトリモデリングカーネル(英語版)
  • 表示
  • 編集