Android API開發之OpenGL開發之Android OpenGL STL詳解
1.簡介
.stl 檔案是在計算機圖形應用系統中,用於表示三角形網格的一種檔案格式。 它的檔案格式非常簡單, 應用很廣泛。
STL是最多快速原型系統所應用的標準檔案型別。STL是用三角網格來表現3D CAD模型。
STL只能用來表示封閉的面或者體,stl檔案有兩種:一種是ASCII明碼格式,另一種是二進位制格式。
2.檔案格式
2.1.ASCII格式
ASCII碼格式的STL檔案逐行給出三角面片的幾何資訊,每一行以1個或2個關鍵字開頭。
在STL檔案中的三角面片的資訊單元 facet 是一個帶向量方向的三角面片,STL三維模型就是由一系列這樣的三角面片構成。
整個STL檔案的首行給出了檔案路徑及檔名。
在一個 STL檔案中,每一個facet由7 行資料組成,
facet normal 是三角面片指向實體外部的法向量座標,
outer loop 說明隨後的3行資料分別是三角面片的3個頂點座標,3頂點沿指向實體外部的法向量方向逆時針排列。
ASCII格式的STL 檔案結構如下:
2.2.二進位制格式
二進位制STL檔案用固定的位元組數來給出三角面片的幾何資訊。
檔案起始的80個位元組是檔案頭,用於存貯檔名;
緊接著用 4 個位元組的整數來描述模型的三角面片個數,
後面逐個給出每個三角面片的幾何資訊。每個三角面片佔用固定的50個位元組,依次是:
3個4位元組浮點數(角面片的法向量)
3個4位元組浮點數(1個頂點的座標)
3個4位元組浮點數(2個頂點的座標)
3個4位元組浮點數(3個頂點的座標)個
三角面片的最後2個位元組用來描述三角面片的屬性資訊。
一個完整二進位制STL檔案的大小為三角形面片數乘以 50再加上84個位元組。
二進位制:
3.特點
stl檔案格式簡單,只能描述三維物體的幾何資訊,不支援顏色材質等資訊,是計算機圖形學處理CG,數字幾何處理如CAD, 數字幾何工業應用, 如三維印表機支援的最常見檔案格式。
表面的三角剖分之後造成3D模型呈現多面體狀。輸出STL檔案的引數選用會影響到成型質量的良莠。所以如果STL檔案屬於粗糙的或是呈現多面體狀,您將會在模型上看到真實的反應。
在CAD軟體包中,當您輸出STL檔案時,您可能會看到的引數設定名稱,如弦高(chord height)、誤差(deviation)、角度公差(angle tolerance)、或是某些相似的名稱。建議儲存值為0.01或是0.02。
相關文章
- Android OpenGL ES 開發(二): OpenGL ES 環境搭建Android
- ANDROID開發之SQLite詳解AndroidSQLite
- Android OpenGL ES 開發(二):繪製圖形Android
- 【七牛雲】Android OpenGL 開發工程師(上海)Android工程師
- OpenGL開發入門
- android開發之GPS定位詳解Android
- Android OpenGL ES學習筆記之概要Android筆記
- 3D開發和OpenGL3D
- Android 3D遊戲開發——Opengl ES遊戲引擎實現Android3D遊戲開發遊戲引擎
- [OpenGL]VS2010配置OpenGL開發環境開發環境
- Android開發之HandlerAndroid
- Android開發之TabLayoutAndroidTabLayout
- Android開發之ScrollerAndroid
- Android開發之ExpandableListViewAndroidView
- android開發 之 Bolts-AndroidAndroid
- 【七牛雲招聘】Android 多媒體 SDK 開發工程師 /Android OpenGL 開發工程師/iOS SDK 開發工程師Android工程師iOS
- Android開發之View動畫AndroidView動畫
- Android開發之幀動畫Android動畫
- opengl fbo 紋理 開發步驟
- Android開發規範詳解Android
- Android開發入門之熟悉開發環境Android開發環境
- OpenGL ES SDK for Android - 2Android
- OpenGL ES SDK for Android - 6Android
- android opengl es 原始碼Android原始碼
- Android開發之常用佈局Android
- Android JNI開發系列之配置Android
- android 開發之 APT 技術AndroidAPT
- android開發指令碼之awkAndroid指令碼
- Android開發之屬性動畫Android動畫
- Android開發之自定義SpinnerAndroid
- Android開發之浮動ActivityAndroid
- Android開發之ViewPager+FragmentAndroidViewpagerFragment
- Android開發之Fragment回退棧AndroidFragment
- Android開發之奇怪的FragmentAndroidFragment
- Android開發之WebService介紹AndroidWeb
- Android 3D遊戲開發(高階篇)——Opengl ES遊戲引擎實現Android3D遊戲開發遊戲引擎
- OpenGL 紋理詳解
- iOS開發之 Autolayout 詳解iOS