论文部分内容阅读
计算机动画是一个迅速发展的领域,它不仅可以将已经存在的事物变为可见的,也可以将人为创造的概念动态地表现出来。计算机动画是一门涉及多学科的综合技术,它以计算机图形学三维造型的显示为基础,涉及图像处理技术、摄影技术、绘画技术、广告创意、计算机视频、视像与声音的合成技术等。碰撞检测技术是计算机动画中基础问题之一,其任务就是确定动画场景中的两个或多个物体彼此之间是否发生接触或穿透,它也是许多其它学科中一个基础的问题。精确的碰撞检测对提高动画场景的真实性和实时性起着至关重要的作用。研究表明,多种碰撞检测归根到底都要进行基本几何元素的相交测试,基本几何元素的相交测试是碰撞检测数据结构和算法的基本组成部分。而基本几何元素大多是三角形或四面体,因此高效的三角形对相交测试对提高碰撞检测算法效率,增强动画场景中的真实感起着至关重要的作用。为提高碰撞检测的速度,就必须减少三角形对相交测试的测试步骤和计算复杂度。基于此观点,本文提出了一种基于Ayellet算法的改进算法,该算法从代数的角度出发,首先快速排除掉三角形对不相交或共面的两种情况,然后计算三角形TA与三角形TB所在平面π2的相交线段,反过来计算三角形TB与三角形TA所在平面π1的相交线段,最后检测这两条线段是否有公共点,而不去计算这两条线段相交点的具体坐标。如果有公共点则三角形对相交,反之则不相交。该算法也可以应用于类似的问题,如矩形对的相交测试,多边形对的相交测试。实验结果表明该算法均优于现有的其它算法。本文还提出了一种全新的三角形对相交测试的算法,该算法结合了支持向量机中的一类分类方法。首先使用核函数把其中一个三角形(记为Ta)训练成球心为a半径为R的超球体,然后依据另一个三角形(记为Tb)上的某些点到超球体的球心a的距离di(i=1,2…,n)与R的关系,判断这些点是否在超球体内。如果Tb上有点在超球体内,则断定两个三角形发生相交,反之则没有。理论分析和实验结果表明,该算法速度很快,效率较高,能够满足计算机动画场景中的物体之间的实时碰撞检测要求。上述的两种三角形对相交测试算法,测试步骤都比较少,能够满足精度要求不是很苛刻的计算机动画中的碰撞检测,同时能满足计算机动画的真实性和实时性要求。本文的研究成果对计算机动画中碰撞检测技术有重要的理论价值和实际意义。