论文部分内容阅读
在计算机图形学的造型领域中,集合操作是用来进行实体模型的构建以及拓扑变换的一种重要的工具,由于传统意义上二维流形在正则集合运算下的非封闭性,使得集合操作后的多面体失去了原有二维流形,造成了一些后续的问题,例如处理后的一些图形再进行某些操作,如细分操作不能正确地完成。 图形旋转系统理论是拓扑意义上对图形体的数据表达。虽然图形旋转系统的操作非常简单,只有边的插入和删除,但是它们是可以确保二维流形。在已有的边的拓扑操作上,加上增加和删除孤点操作后,图形旋转系统的拓扑操作是完备的。由于图形旋转系统和图形嵌入之间存在着——对应的关系,因此我们可以把对图形的操作转换为对旋转系统的操作,从而保证了图形体在经过拓扑变换后依然能够保证其二维流形性。 本文在基于图形旋转系统的理论的基础上,扩展了基于图形旋转系统的基于面的数据结构DLFL(Doubly Linked Face List),使得其可以表达非流形体。同时我们扩充了DLFL的操作以及给出了多面体的二维流形的判定算法。通过这一扩展结构,我们利用顶点领域分类器的理论实现了集合操作,我们的集合操作是健壮的,是可以保证多面体的二维流形的。通过DLFL的两个多面体之间的粘合算法我们参数化了集合操作,使得集合并操作的结果可以由用户决定是否为连通。 基于图形旋转系统和表示图形旋转系统的数据结构,我们利用Visual C++和OpenGL开发出一个多功能的三维图形建模系统,该建模系统具有保证二维流形、多变的拓扑改变、良好的用户交互性等特点,同时它可以很容易地创建具有艺术感的图形。