<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=PLY</id>
	<title>PLY - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=PLY"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=PLY&amp;action=history"/>
	<updated>2026-07-12T01:25:16Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=PLY&amp;diff=525660&amp;oldid=prev</id>
		<title>imported&gt;Kunjinkao：​使用HotCat已移除Category:電腦圖學</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=PLY&amp;diff=525660&amp;oldid=prev"/>
		<updated>2024-01-12T14:33:45Z</updated>

		<summary type="html">&lt;p&gt;使用&lt;a href=&quot;/index.php?title=WP:HOTCAT&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;WP:HOTCAT（页面不存在）&quot;&gt;HotCat&lt;/a&gt;已移除&lt;a href=&quot;/wiki/Category:%E9%9B%BB%E8%85%A6%E5%9C%96%E5%AD%B8&quot; title=&quot;Category:電腦圖學&quot;&gt;Category:電腦圖學&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Copy edit|time=2023-08-02T04:27:51+00:00}}&lt;br /&gt;
{{Unreferenced|time=2023-08-02T04:27:51+00:00}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PLY&amp;#039;&amp;#039;&amp;#039;是一種電腦檔案格式，全名為&amp;#039;&amp;#039;&amp;#039;多邊形檔案（Polygon File Format）&amp;#039;&amp;#039;&amp;#039;或 &amp;#039;&amp;#039;&amp;#039;史丹佛三角形檔案（Stanford Triangle Format）&amp;#039;&amp;#039;&amp;#039;。&lt;br /&gt;
&lt;br /&gt;
[[File:David von Michelangelo.jpg|thumb|250px|[[史丹佛大學]]的 [http://graphics.stanford.edu/projects/mich/ The Digital Michelangelo Project]{{Wayback|url=http://graphics.stanford.edu/projects/mich/ |date=20080913194440 }}計畫採用PLY格式儲存極高解析度之[[米開朗基羅]]的作品&amp;quot;[[大衛]]&amp;quot;雕塑。]]&lt;br /&gt;
&lt;br /&gt;
該格式主要用以儲存立體掃描結果的三維數值，透過多邊形片面的集合描述三維物體，與其他格式相較之下這是較為簡單的方法。它可以儲存的資訊包含顏色、透明度、表面法向量、材質座標與資料可信度，並能對多邊形的正反兩面設定不同的屬性。&lt;br /&gt;
&lt;br /&gt;
在檔案內容的儲存上PLY有兩種版本，分別是純文字（ASCII）版本與二元碼（binary）版本，其差異在儲存時是否以ASCII編碼表示元素資訊。&lt;br /&gt;
&lt;br /&gt;
== 檔案格式 ==&lt;br /&gt;
&lt;br /&gt;
（本文並未提供完整的格式描述，以下僅介紹PLY的基本概念與格式）&lt;br /&gt;
&lt;br /&gt;
每個PLY檔都包含檔頭（header），用以設定網格模型的「元素」與「屬性」，以及在檔頭下方接著一連串的元素「數值資料」。一般而言，網格模型的「元素」就是[[頂點 (電腦圖學)|頂點]]（vertices）、面（faces），另外還可能包含有邊（edges）、深度圖樣本（samples of range maps）與三角帶（triangle strips）等元素。無論是純文字與二元碼的PLY檔，檔頭資訊都是以ASCII編碼編寫，接續其後的數值資料才有編碼之分。PLY檔案以此行：&lt;br /&gt;
&lt;br /&gt;
  ply&lt;br /&gt;
&lt;br /&gt;
開頭作為PLY格式的識別。接著第二行是版本資訊，目前有三種寫法：&lt;br /&gt;
&lt;br /&gt;
  format ascii 1.0&lt;br /&gt;
  format binary_little_endian 1.0&lt;br /&gt;
  format binary_big_endian 1.0&lt;br /&gt;
&lt;br /&gt;
其中ascii, binary_little_endian, binary_big_endian是檔案儲存的編碼方式，而1.0是遵循的標準版本（現階段僅有PLY 1.0版）。在檔頭中可使用&amp;#039;comment&amp;#039;作為一行的開頭以編寫註解，例如：&lt;br /&gt;
&lt;br /&gt;
  comment This is a comment!&lt;br /&gt;
&lt;br /&gt;
描述元素及屬性，必須使用&amp;#039;element&amp;#039;及&amp;#039;property&amp;#039;的關鍵字，一般的格式為element下方接著屬性列表，例如:&lt;br /&gt;
&lt;br /&gt;
  element &amp;lt;element name&amp;gt; &amp;lt;number in file&amp;gt;&lt;br /&gt;
  property &amp;lt;data_type&amp;gt; &amp;lt;property name 1&amp;gt;&lt;br /&gt;
  property &amp;lt;data_type&amp;gt; &amp;lt;property name 2&amp;gt;&lt;br /&gt;
  property &amp;lt;data_type&amp;gt; &amp;lt;property name 3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;property&amp;#039;不僅定義了資料的型態，其出現順序亦定義了資料的順序。內定的資料形態有兩種寫法：一種是&amp;#039;&amp;#039;char uchar short ushort int uint float double&amp;#039;&amp;#039;,另外一種是具有位元長度的&amp;#039;&amp;#039;int8 uint8 int16 uint16 int32 uint32 float32 float64&amp;#039;&amp;#039;。&lt;br /&gt;
例如，描述一個包含12個&amp;#039;&amp;#039;&amp;#039;頂點&amp;#039;&amp;#039;&amp;#039;的物體，每個頂點使用3個單精度浮點數 (x,y,z）代表點的座標，使用3個unsigned char代表[[頂點 (電腦圖學)|頂點]]顏色，顏色順序為 (B, G, R),則檔頭的寫法為：&lt;br /&gt;
&lt;br /&gt;
  element vertex 12&lt;br /&gt;
  property float x&lt;br /&gt;
  property float y&lt;br /&gt;
  property float z&lt;br /&gt;
  property uchar blue&lt;br /&gt;
  property uchar green&lt;br /&gt;
  property uchar red&lt;br /&gt;
&lt;br /&gt;
其中vertex是內定的元素類型，接續的6行property描述構成vertex元素的數值欄位順序代表的意義，及其資料形態。&lt;br /&gt;
&lt;br /&gt;
另一個常使用的元素是&amp;#039;&amp;#039;&amp;#039;面&amp;#039;&amp;#039;&amp;#039;。由於一個面是由3個以上的頂點所組成，因此使用一個「頂點列表」即可描述一個面, PLY格式使用一個特殊關鍵字&amp;#039;property list&amp;#039;定義之。&lt;br /&gt;
例如，一個具有10個面的物體，其PLY檔頭可能包含：&lt;br /&gt;
&lt;br /&gt;
  element face 10&lt;br /&gt;
  property list uchar int vertex_indices&lt;br /&gt;
&lt;br /&gt;
&amp;#039;property list&amp;#039;表示該元素face的特性是由一行的頂點列表來描述。列表開頭以uchar型態的數值表示列表的項目數，後面接著資料型態為int的頂點索引值（vertex_indices），頂點索引值從0開始。&lt;br /&gt;
&lt;br /&gt;
最後，標頭必須以此行結尾：&lt;br /&gt;
&lt;br /&gt;
  end_header&lt;br /&gt;
&lt;br /&gt;
檔頭後接著的是元素資料（端點座標、拓樸連結等）。在ASCII格式中各個端點與面的資訊都是以獨立的一行描述，而二元編碼格式則連續儲存這些資料，載入時須以&amp;#039;element&amp;#039;定義的元素數目以及&amp;#039;property&amp;#039;中設定的資料形態計算各筆欄位的長度。&lt;br /&gt;
&lt;br /&gt;
== 範例 ==&lt;br /&gt;
一個典型的PLY檔案結構分成三部分：&lt;br /&gt;
&lt;br /&gt;
  檔頭 (從ply開始到end_header）&lt;br /&gt;
  頂點元素列表&lt;br /&gt;
  面元素列表&lt;br /&gt;
&lt;br /&gt;
其中的&amp;#039;&amp;#039;&amp;#039;頂點元素列表&amp;#039;&amp;#039;&amp;#039;一般以x y z方式排列，形態如檔頭所定義；而&amp;#039;&amp;#039;&amp;#039;面元素列表&amp;#039;&amp;#039;&amp;#039;是以下列格式表示。&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;組成面的端點數N&amp;gt; &amp;lt;端點#1的索引&amp;gt; &amp;lt;端點#2的索引&amp;gt; ... &amp;lt;端點#N的索引&amp;gt;&lt;br /&gt;
&lt;br /&gt;
例如畫出一個有4個頂點，4個面的[[四面體]]，檔案內容為:&lt;br /&gt;
&lt;br /&gt;
  ply&lt;br /&gt;
  format ascii 1.0&lt;br /&gt;
  comment這是一個正四面體&lt;br /&gt;
  element vertex 4&lt;br /&gt;
  property float x&lt;br /&gt;
  property float y&lt;br /&gt;
  property float z&lt;br /&gt;
  element face 4&lt;br /&gt;
  property list uchar int vertex_index&lt;br /&gt;
  end_header&lt;br /&gt;
  0 3 0&lt;br /&gt;
  2.449 -1.0 -1.414&lt;br /&gt;
  0 -1 2.828&lt;br /&gt;
  -2.449 -1.0 -1.414&lt;br /&gt;
  3 0 1 3&lt;br /&gt;
  3 0 2 1&lt;br /&gt;
  3 0 3 2&lt;br /&gt;
  3 1 2 3&lt;br /&gt;
&lt;br /&gt;
其中1~10行是檔頭, 11~14行是&amp;#039;&amp;#039;&amp;#039;頂點元素列表&amp;#039;&amp;#039;&amp;#039;, 15~18行則是&amp;#039;&amp;#039;&amp;#039;面元素列表&amp;#039;&amp;#039;&amp;#039;。&lt;br /&gt;
&lt;br /&gt;
== 歷史 ==&lt;br /&gt;
PLY格式發展於90年代中期，在史丹佛大學圖學實驗室的Marc Levoy教授指導下，由{{le|Greg Turk|Greg Turk}}及其他成員開發出來。PLY格式受[[Wavefront .obj文件|Wavefront .obj]]格式的啟發，但改進了Obj格式所缺少的對任意屬性及群組的擴充性。因此PLY格式發明了&amp;quot;property&amp;quot;及&amp;quot;element&amp;quot;這兩個關鍵詞，來概括「頂點、面、相關資訊、群組」的概念。&lt;br /&gt;
&lt;br /&gt;
== 參見 ==&lt;br /&gt;
* [[Blender]]:免費而功能強大3D編輯工具，可以用來匯入PLY檔案&lt;br /&gt;
* [[MeshLab]]:在Windows、Mac OS X與Linux平台上開放原始碼的網格編修與展示工具，可用來編輯轉換PLY檔案&lt;br /&gt;
&lt;br /&gt;
== 外部連結 ==&lt;br /&gt;
* [http://www.cs.virginia.edu/~gfx/Courses/2001/Advanced.spring.01/plylib/Ply.txt Greg Turk撰寫的PLY格式文件]{{Wayback|url=http://www.cs.virginia.edu/~gfx/Courses/2001/Advanced.spring.01/plylib/Ply.txt |date=20141107082911 }}&lt;br /&gt;
* [http://paulbourke.net/dataformats/ply/ PLY - Polygon File Format]{{Wayback|url=http://paulbourke.net/dataformats/ply/ |date=20130727054955 }}（內含格式範例檔）&lt;br /&gt;
* [http://www.cc.gatech.edu/projects/large_models/ply.html 一些支援PLY的工具]{{Wayback|url=http://www.cc.gatech.edu/projects/large_models/ply.html |date=20090227034438 }}&lt;br /&gt;
* [https://web.archive.org/web/20081203195143/http://www.cs.princeton.edu/~diego/professional/rply/ 讀取、寫入PLY檔的函式庫]&lt;br /&gt;
* [http://graphics.stanford.edu/data/3Dscanrep/ 以PLY格式儲存的大量三維模型]{{Wayback|url=http://graphics.stanford.edu/data/3Dscanrep/ |date=20090322202830 }}&lt;br /&gt;
&lt;br /&gt;
[[分類:三維計算機圖形學]]&lt;br /&gt;
[[分類:文件格式]]&lt;br /&gt;
[[分類:CAD文件格式]]&lt;br /&gt;
[[分類:圖形文件格式]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Kunjinkao</name></author>
	</entry>
</feed>