在上一节中,我们主要介绍了如何在VS2013平台上利用OpenGL库函数开发一个简单的三维绘图软件。但那个软件只是搭建一个简单的三维绘图软件平台,除了实现图像简单的平移、旋转、缩放功能外并没有什么实际的作用,但不用担心,那只是三维图形软件绘制的基础,为了实现一个完整的绘图或图像处理软件,我们就一步一步的实现这个功能。
我们知道对于一个三维的处理软件,首先应该有打开指定文件的功能,特别像一些三维绘图软件,这种功能是非常重要的。基于以上目的,我们本节内容介绍如何打开一个STL文件。
声明:本节内容是在上节所完成的OpenGLDrawing软件上执行的。
OpenGLDrawing源代码下载地址:https://download.youkuaiyun.com/download/belence_zhao/10408772
OpenGLDrawing文章地址:https://blog.youkuaiyun.com/Belence_zhao/article/details/80279976
在进行软件编写之前,我们首先必须对STL文件有所了解,只有知道STL文件的保存形式,我们才能够进行程序编写》
一、STL文件
总的来说,STL文件其实就是一种用三角面片来组合三维实体模型的一种文件保存格式。也就是所,用三角面片的形式保存数据的一种方法,如下图是实体模型的三角化。
1.STL文件的格式
STL文件的文件保存形式有两种,一种是ASCII形式的文件,另一种是二进制形式的保存文件。
a.ASCII文件格式
一个ASCII的STL文件形式如下:
solid name
facet normal ni nj nk
outer loop
vertex v1xv1yv1z
vertex v2xv2yv2z
vertex v3xv3yv3z
endloop
endfacet
endsolid name
一个STL文件有大三部分组成,以solid +文件名开始,以endsolid+文件名结束。中间部分每7行组成一个部分,在每个部分中解释如下:
facet normal //此三角面片的法向量3个分量
outer loop
vertex //第一个顶点坐标
&