【Three.js】VTK文件格式


Vtk模型是一種以文本方式表示的3D模型文件,其能夠表示點面信息,而且能夠以人類易讀易懂的方式以文本的形式存儲下來。在科學研究中,這種文件格式使用得非常多,我們這里詳細的講解一下,這種文件格式。

vtk是3D模型的一種格式,現在版本已經到4.0了。你可以在網上找到這種格式的詳細解釋,當然最好去google搜索。

打開vtk文件,我們以它來解釋vtk文件的格式,其中#是注釋的開始: 

# 這里表示使用的是vtk的3.0版本。雖然4.0版本已經出來了,不過目前廣泛使用的仍然是3.0
# vtk DataFile Version 3.0
# 這一行是輸出vtk文件的軟件寫的文字,無論什么都可以。
vtk output
# ASCII,表示這份vtk使用的標准ASCII碼字符集
ASCII
# “DATASET POLYDATA”表示多邊形面集,面是由一個個點組成的
DATASET POLYDATA
# 這里表示這個模型由35947個點組成,每個坐標的分量是一個浮點型
POINTS 35947 float
# 下面是35947個點的數據
-0.0378297 0.12794 0.00447467 -0.0447794 0.128887 0.00190497 -0.0680095 0.151244 0.0371953 
-0.00228741 0.13015 0.0232201 -0.0226054 0.126675 0.00715587 -0.0251078 0.125921 0.00624226 
-0.0371209 0.127449 0.0017956 0.033213 0.112692 0.0276861 0.0380425 0.109755 0.0161689 
-0.0255083 0.112568 0.0366767 -0.0245306 0.112636 0.0373469 0.0274031 0.12156 0.0212208 
-0.0628961 0.158419 -0.0175871 0.0400813 0.104202 0.0221684 0.0451532 0.0931968 0.0111604 
..........................................
..........................................
POLYGONS 69451 277804
3 21216 21215 20399 
3 9186 9280 14838 
3 16020 13433 5187 
3 16021 16020 5187 
3 20919 20920 21003 
3 23418 15239 23127 
3 30553 27378 30502 
..................
....................
CELL_DATA 69451
POINT_DATA 35947

 1、# vtk DataFile Version 3.0表示這個vtk文件的版本是3.0。最新版本是4.0,不過改變不大。

2、vtk output表示該文件是名字,一般寫成vtk output就可以了,基本上,你沒有必要去改變它。

3、ASCII表示該文件的格式,是ascii版本,該位置也可以寫binary,那么這個文件就是二進制格式的了。

4、DATASET POLYDATA中的DATASET是關鍵字表示數據集的意思,POLYDATA表示數據的類型,可以取STRUCTED_POINTS、STRUCTURED_GRID、UNSTRUCTURED_GRID、POLYDATA、FIELD等。這里取的是POLYDATA,表示三角形或者四邊形數據。

5、POINTS 35947 float 表示這個模型由35947個點組成,每個點的分量,其數據類型是浮點型。這一行后面就是35947*3個float型數字了。每三個數字表示一個點。

6、POLYGONS 69451 277804,POLYGONS是關鍵字,69451表示模型有69451個多邊形組成,后面行的3 21216 21215 20399中的3表示每個多邊形由三個頂點組成,如果等於4,那么每個多邊形有4個頂點組成。277804表示整個POLYGONS占據的數組的長度,長度計算公式是69451*4 = 277804,乘數4是3 21216 21215 20399這組元素的長度(一共有4個元素),也就每一行元素的個數,這主要是用來計算存儲空間的。

7、接下來后面是69451行數據,每一行是一個多邊形面。每個面由3個頂點組成,如3 21216 21215 20399這一行,后面的21216 21215 20399這三個數字,表示在上面的POINTS 35947 float段的頂點索引。

8、CELL_DATA 69451 表示面的個數,和上面定義的面數目必須一致。

9、POINT_DATA 35947表示點的個數,和“POINTS 35947 float”定義的也必須相同。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM