预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第13届全国特种加工学术会议论文集 基于openGL的STL文件显示核心技术与实现 李继平’,宋丹路2 ., (l四川职业技术学院四川遂宁6290服); ., 2西南科技大学制造学院四川绵阳621010) , 摘共:分析了STL文件的存储结构给出了获取数据以及各顶点法向t计算方法;提出了一种将STL文件在 ,. Q阵nOL环境中予以真实再现的实用方法其显示效果甚佳 关锐词:sTL;q阵nGL;法向矢t , sTL文件格式是由美国3Dsystem公司开发的已被工业界认为是目前快速自动成形俘叩idprototype) 。、、 领域的标准零件描述文件格式1目前绝大多数三维几何造型系统如枷一EuGAutocAD等都提供输出 。 STL文件功能 , OpenGL是SGI公司推出的一个性能优越的开放式三维图形标准它实质上是一个开放的三维图形软 、一。 件包,在硬件窗口和操作系统三方面都是相互独立的1231openGL作为一个性能优越的图形应用程序设 ,,、 计界面而广泛适用于各种档次的计算机环境它已成为目前事实上的三维图形开发标准卜51在虚拟现实 、。 图像处理CADICAM等领域得到广泛应用 1STL文件格式 。 STL文件的存储包括二进制和ASCn两种格式其存储的信息为三角形片面的3个顶点的几何坐标以 。 及该片面的法向量 AScll格式的STL文件逻辑结构: Solid(n田的e) . 几Cetnon力al0.0(拟X兀七+的0.0(X)0(X)e+(X)1仪粉以刃e+0() outerlooP .一.一. vertex2《洲X力侧殆+以)2983312e0125仪众兀陌十佣 .一.. ve血x1843402e+(X)1337777e+0125仪众刃e+(X) .一.. ve血x2仪以刀叱+加1337777e+(X)25(灯沁0e+(X) endiooP efi山raCet endsolid(najrne) ,。 文件中的facet为一个三角形片面的开始endfacet为其结束其间的nonnal后紧接的三个数值为三 , 角形片面的法向量;vertex后紧接的3个数值为三角形片面的顶点几何坐标一个三角形片共3个这样的 。。 顶点在sohd与endsolid之间有若干个这样的三角形片面信息 二进制格式的STL文件逻辑结构描述: ,,。 ¹前80个字节为文件头一般存储的是soud(n)和空格不包括数据信息 。~ º紧接着的4个字节用来标明数据信息的开始 ,, »其后每48个字节存储一个三角形片面的数据;在这48个字节中每4个字节表示一个浮点型 。。 分量,其存储采用的是IEEE标准前3个为法向量的分量,而后的九个浮点数,为3个顶点的坐标分量 快速成形及快速制造技术 ,。 ¼在每两个三角形片面数据(48字节)之间存在两个字节起间隔作用 2读取sTL文件中的数据 ,。 在用O伴nGL绘图之前从S几文件中读取数据并以合理的结构进行存储是至关重要的一步其中 ,, ASCn格式的S几文件可以按行读取然后将表示数据的字符串取出利用strod函数将其转化成实型数 。。 据存储起来整个过程相对简单不再详述 IEEE制定的浮点数格式如下所示: bit3l23·3022司 正负号阶码尾数 , noat格式:用4个bytes存储,也就是32bits各个bit的用途如下: ,,, bit31为符号位为O表示正数反之为负数;23一30为阶码位采用移码表示;0一2为省略小数 ,。 点前1的纯小数表示尾数现就二进制S几文件给一种读取伪代码: while(Read(访tsedata.-bufer,50)) {fo心<12)12表示一个三角形片面中的12个数据 {if(阶码E口]不为o) .一 {E山=加仁皿ata-bufer山E127;1将移码还原 加通为尾数 M山1=0x8以xxx〕;1将M前省去的1补上并将M转化为实型; · M口]+=10; } if(阶码E为0) {M=0;} } ., 1其中int--data‘bufer山F为符号位可根据其确定整个数的正负: } ,。 其中int-dat」)u任er为结构数组可用C语言中的位段定义该结构 ,。 数据的动态存储可用MFC提供的C盯ay定义最好在使用前调用Setsize函数 3顶点法向量的计算 。 物体的法向矢量定义了其表面在3D空间中的方向,尤其在有光照条件下,它相对光源的方向顶点 ,。 法向矢量在0伴nGL的光照模型中具有极其重要的地位它被用来决定在顶点处物体可接收多少光在 ,, OpenGL环境中,对于用创建多边形来近似逼近的复杂曲面必须指定每个多边形顶点处的法向矢量同 ,,, 时相邻多边形的法向矢量应该保持基本连续这样在经过光照