论文部分内容阅读
曲面求交和曲面上曲线的等距是CAD/CAM中的重要操作,被广泛应用于曲面裁剪、数控加工、实体造型等领域。在计算机可视化计算领域,除了采用孔斯曲面片、B样条曲面片或NURBS曲面片等解析曲面片来表示曲面之外,也常常采用离散的数据结构来表示曲面,如四边形网格、三角网格。由于利用网格来表示曲面具有一般性,并且具有数学描述简单、通用性好、灵活性强等优点,在工程实际应用中广泛采用网格来表示曲面。本文对网格曲面的求交问题以及用求得的交线作为基曲线来构造网格曲面上的等距线等问题进行了研究,所做的工作主要包括以下几点:1、分析了网格曲面求交及曲面上交线的等距线的研究现状,对已有算法的优缺点进行了分析对比,找出算法存在的问题与不足。2、提出了基于包围盒的三角网格曲面求交算法。与现有的基于包围盒的曲面求交算法不同,本文在运用包围盒过滤掉不可能相交的三角面片后,再引入背景网格细分单元,将网格曲面上的三角面片分别归类到不同的背景网格细分单元中;然后对处于同一个细分单元中且来自不同曲面的三角面片求交;最后,采用跟踪相邻三角面片的方法将三角面片交线段连接成曲面的交线环/交线链。这样做,可以进一步过滤掉大量不可能相交的三角面片对,从而提高算法的效率。3、采用Visua1C++6.0和OpenGL开发平台,实现了基于包围盒的三角网格曲面求交算法。4、以三角网格曲面求交得到的交线作为基曲线,研究了在网格曲面上求取基曲线的等距线的问题。分析了曲面上求等距线的典型算法,对Holla提出的算法中的全局无效环删除问题进行改进,结合多边形链求交算法和改进的多边形链求交算法的思想,采用扫描线法,来提高去除全局无效环的效率。5、在Visua1C++6.0和OpenGL开发平台上,以三角网格化球面与其它网格曲面的交线作为基曲线,采用逐步递增求等距的方法,构造了球面上的等距线。