凸多面体线消隐算法的研究与改进
2012-05-04宋人杰张加玲李晓栋
计算机工程与设计 2012年6期
宋人杰,张加玲,李晓栋
(东北电力大学 信息工程学院,吉林 吉林132012)
0 引 言
所谓消隐,是把场景中的视点虚拟成人眼,将物体被遮挡的线段或者是面隐藏起来不显示,只显示从视点出发的视线能看到的部分,来真实的生成人眼看到的场景。三维立体造型使观察者看到更完整的物体,真实感图形使人们更加直观、形象的认识和了解地理、工程信息,这些信息广泛应用在仿真模拟、几何造型、指挥控制、科学计算的可视化等领域[1]。不消除物体自身遮挡或相互遮挡而无法看见的线条,显示的线条将杂乱无章,三维图形也将失去立体感,进而就会产生二义性[2,10-11]。为了使展示的图形具有理想的三维显示效果,消除物体的隐藏线和隐藏面成为必须解决的问题。
现今的线消隐算法通常需要很大的存储空间或者要经过非常复杂的步骤,求交的计算量大,使得消隐的代价大或者导致消隐效率低,为解决这一问题,本文提出改进的消隐算法来弥补传统算法的不足。
1 传统线消隐算法的缺点及实现
Roberts算法是最早几个公开发表的隐藏线消除算法之一,它在对象空间中实现。采用此算法将首先消除被物体自身遮挡的边和面,即所谓的自隐藏线和自隐藏面[3]。处理多个凸面体的消隐时,传统的算法要使每个物体留下的边或面与剩余的物体一一比较,以确定边或面上哪些部分被遮挡,如果场景中的凸多面体个数比较多时,会使算法的工作量随着场景中物体数量的平方递增,消隐时间会随之增加,使得效率大大降低。……
登录APP查看全文
