论文部分内容阅读
近年来细分方法已成为国际图形学领域的一项重要研究内容,尤其是Catmull-Clark细分曲面在计算机动画和几何造型方面取得了极大的成功。但是,要将Catmull-Clark细分曲面进一步应用到工程曲面造型上,仍有许多困难。如:Catmull-Clark细分曲面无法精确表示除抛物面外的常规二次曲面;在给定初始控制网格的情况下,难以调整所生成曲面的形状等。 本文结合国家自然科学基金项目,研究Catmull-Clark细分曲面形状的调整方法,提出了两种解决方案: 1)通过在曲面细分过程中引入一个参数t(0≤t≤1),直接修改三次B样条的细分规则,得出一种新的算法。并将该算法推广到任意拓扑结构上,使得Catmull-Clark细分曲面可调。文中对这族细分曲面的性质进行了较详尽的分析,并证明了在参数t不等于零时这族曲面在非奇异点处至少具有C~1连续。这种算法简洁直观,调节范围大。而且,用它作为Catmull-Clark细分的前置处理,效果良好。 2)针对C-B样条细分曲面形状的调节范围有限。本文提出了一种扩大调整细分曲面形状范围的新算法。该算法用细分因子C_k(COSα)取代C-B样条的形状控制参数α,并将C_k的定义区间从[-1,1]扩大到[-1,∞)。然后用这种扩展了的C-B样条构造Catmull-Clark细分曲面,使得所生成细分曲面的形状能够在C-B样条和初始的控制网格之间任意调整。同时还保留了C-B样条和Catmull-Clark细分曲面的主要特点,例如:精确表示圆柱体,处理任意拓扑结构的控制网格等。 此外,根据课题研究的需要,还在Visual C++ 6.0环境下通过使用OpenGL图形库开发了一个试验用的造型系统。在系统中以上算法得到验证。大量实例也表明:两种方案算法正确,造型良好,调整方便,可分别用于有不同要求的工程曲面造型。