论文部分内容阅读
科学可视化建模过程中,为了对三维模型截面进行观察和分析,需要对三维模型施以剖切操作。因此,对三维表面模型进行剖切操作也就成为科学可视化研究中的关键技术之一。一般来讲,三维模型都是由数量巨大的三角网格组成的,网格信息不仅包含其空间信息(坐标信息),而且还包含网格几何元素之间连接关系的拓扑信息。因此,对三维模型进行切割就是对组成三维模型的三角网格进行剖切。本文首先介绍了三角剖切理论基础,对剖切的三维模型文件格式(OBJ模型文件)进行介绍,分析了该文件中如何组织保存三维模型网格的空间信息和拓扑信息,然后针对Wavefont OBJ模型文件的格式特点设计出传统网格数据结构。接着讲述了海量数据处理带来的效率问题,分析出了传统网格数据结构的弊端,并采用基于八叉树区域划分的思想,通过区域划分算法将模型的网格数据按照区域进行存储,存储到八叉树的各个结点中,实现了海量网格数据结构。接下来采用基于八叉树的查找算法,改进原始的三角网格剖分算法,在模型剖切前通过基于八叉树的查找算法仅遍历剖切到的空间小区域内的三角面片,只对该区域对应的八叉树叶结点中的三角面片进行计算;而原始的三角网格剖分算法需要遍历整个三维模型中所有的三角面片数,并分别对每个三角面片进行计算,所以改进后的三维模型剖切算法在一定程度上提高了三维模型的剖切效率。在三维模型剖切过程中该算法同步处理被破坏网格的空间信息和拓扑信息,保存新生成的网格空间信息和拓扑信息,使剖切后的三维模型仍能保持网格空间信息的正确性和其拓扑信息一致性。最后针对网格个数不同的三维模型,采用原三角网格剖分算法和改进后的三维模型剖切算法分别对模型进行剖切,比较了两个算法采用同一剖切平面切割相同三维模型所花费的时间,验证了本文算法在三维模型剖切效率上的优越性。