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 文件结构如下:

Android API开发之OpenGL开发之Android OpenGL STL详解_第1张图片

 

 

 

2.2.二进制格式

二进制STL文件用固定的字节数来给出三角面片的几何信息。

文件起始的80个字节是文件头,用于存贮文件名;

紧接着用 4 个字节的整数来描述模型的三角面片个数,

后面逐个给出每个三角面片的几何信息。每个三角面片占用固定的50个字节,依次是:

3个4字节浮点数(角面片的法矢量)

3个4字节浮点数(1个顶点的坐标)

3个4字节浮点数(2个顶点的坐标)

3个4字节浮点数(3个顶点的坐标)个

三角面片的最后2个字节用来描述三角面片的属性信息。

一个完整二进制STL文件的大小为三角形面片数乘以 50再加上84个字节。

二进制:

Android API开发之OpenGL开发之Android OpenGL STL详解_第2张图片

 

 

3.特点

 

stl文件格式简单,只能描述三维物体的几何信息,不支持颜色材质等信息,是计算机图形学处理CG,数字几何处理如CAD, 数字几何工业应用, 如三维打印机支持的最常见文件格式。

表面的三角剖分之后造成3D模型呈现多面体状。输出STL档案的参数选用会影响到成型质量的良莠。所以如果STL档案属于粗糙的或是呈现多面体状,您将会在模型上看到真实的反应。

在CAD软件包中,当您输出STL档案时,您可能会看到的参数设定名称,如弦高(chord height)、误差(deviation)、角度公差(angle tolerance)、或是某些相似的名称。建议储存值为0.01或是0.02。

 

 

 

 

 

你可能感兴趣的:(Android,API开发,Android,OpenGL,Android,OpenGL,ES,Android,3D图形开发,Android,3D开发,stl格式)