轉載:http://www.hewebgl.com/article/getarticle/126
什么是vtk文件蟹倾?
Vtk模型是一種以文本方式表示的3D模型文件,其能夠表示點面信息弧腥,而且能夠以人類易讀易懂的方式以文本的形式存儲下來蛉幸。在科學研究中,這種文件格式使用得非常多砂蔽,我們這里詳細的講解一下,這種文件格式署惯。
vtk是3D模型的一種格式左驾,現(xiàn)在版本已經(jīng)到4.0了。你可以在網(wǎng)上找到這種格式的詳細解釋极谊,當然最好去google搜索诡右。
打開bunny.vtk文件,我們以它來解釋vtk文件的格式轻猖,其中#是注釋的開始
# 這里表示使用的是vtk的3.0版本帆吻。雖然4.0版本已經(jīng)出來了,不過目前廣泛使用的仍然是3.0
# vtkDataFileVersion3.0
# 這一行是輸出vtk文件的軟件寫的文字咙边,無論什么都可以猜煮。
vtk output
#ASCII,表示這份vtk使用的標準ASCII碼字符集
ASCII
# “DATASETPOLYDATA”表示多邊形面集败许,面是由一個個點組成的
DATASETPOLYDATA
# 這里表示這個模型由35947個點組成王带,每個坐標的分量是一個浮點型
POINTS35947float
# 下面是35947個點的數(shù)據(jù)
-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
你可以在 http://wenku.baidu.com/view/a67cdad049649b6648d747fc.htm 這個網(wǎng)站找到vtk 4.0版本的解釋。下面對幾個重要的段落進行一下解釋市殷。
1愕撰、# vtk DataFile Version 3.0表示這個vtk文件的版本是3.0。最新版本是4.0,不過改變不大搞挣。
2带迟、vtk output表示該文件是名字,一般寫成vtk output就可以了囱桨,基本上邮旷,你沒有必要去改變它。
3蝇摸、ASCII表示該文件的格式,是ascii版本办陷,該位置也可以寫binary貌夕,那么這個文件就是二進制格式的了。
4民镜、DATASET POLYDATA中的DATASET是關鍵字表示數(shù)據(jù)集的意思啡专,POLYDATA表示數(shù)據(jù)的類型,可以取STRUCTED_POINTS制圈、STRUCTURED_GRID们童、UNSTRUCTURED_GRID、POLYDATA鲸鹦、FIELD等慧库。這里取的是POLYDATA,表示三角形或者四邊形數(shù)據(jù)馋嗜。
5齐板、POINTS 35947 float 表示這個模型由35947個點組成,每個點的分量葛菇,其數(shù)據(jù)類型是浮點型甘磨。這一行后面就是35947*3個float型數(shù)字了。每三個數(shù)字表示一個點眯停。
6济舆、POLYGONS 69451 277804,POLYGONS是關鍵字莺债,69451表示模型有69451個多邊形組成滋觉,后面行的3 21216 21215 20399中的3表示每個多邊形由三個頂點組成,如果等于4九府,那么每個多邊形有4個頂點組成椎瘟。277804表示整個POLYGONS占據(jù)的數(shù)組的長度,長度計算公式是69451*4 = 277804侄旬,乘數(shù)4是3 21216 21215 20399這組元素的長度(一共有4個元素)肺蔚,也就每一行元素的個數(shù),這主要是用來計算存儲空間的儡羔。
7宣羊、接下來后面是69451行數(shù)據(jù)璧诵,每一行是一個多邊形面。每個面由3個頂點組成仇冯,如3 21216 21215 20399這一行之宿,后面的21216 21215 20399這三個數(shù)字,表示在上面的POINTS 35947 float段的頂點索引苛坚。
8比被、CELL_DATA 69451 表示面的個數(shù),和上面定義的面數(shù)目必須一致泼舱。
9等缀、POINT_DATA 35947表示點的個數(shù),和“POINTS 35947 float”定義的也必須相同娇昙。 Ok尺迂,vtk格式就這么多精髓了,雖然有些關鍵字這里我們并沒有講到冒掌,但是已經(jīng)足夠了噪裕,在以后遇到如果不明白,可以質詢我們股毫,也可以查查網(wǎng)上的文檔膳音,用一下google。