基于递归分割的曲面造型算法.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
任秉银等:基于递归分割的曲面造型算法
基于递归分割的曲面造型算法
任秉银孟庆鑫* 于华
(*哈尔滨工程大学机电学院哈尔滨150001)
(哈尔滨工业大学现代生产技术中心哈尔滨150001)
摘要对常用复杂曲面造型方法的缺点进行了分析,给出了基于递归分割构造任意拓扑结构复杂曲面的有关算法,避免了参数方法在构造复杂曲面时费时而且难于处理的参数曲面求交和曲面拼接等问题,为优质高效建立复杂曲面模型奠定了基础。关键词递归分割,曲面造型,初始网格
模;另一类则是根据对已有实体模型的少数测量点
0 引言
无论是在先进制造领域中的计算机辅助设计(CAD)、有限元分析(FEM)、快速原型制造(RapidPrototyping)以及数控加工(NCMachining),还是在计算机动画(ComputerAnimation)、虚拟现实(Vir-tualReality)等领域中,建立复杂实体的几何模型都是至关重要的工作。自70年代以来,复杂曲面造型方法大致经历了从Bezier 方法到张量积非均匀有理B样条方法(通常简称为NURBS方法)的发展过程。特别是进入90年代以来,NURBS曲线、曲面因为具有许多突出的优点而成为曲面造型领域的研究热点,有关研究论文数不胜数。事实上这种方法已经发展成为复杂曲面造型的通用表示方法。但在实际应用中,NURBS方法在处理比较复杂的曲面模型时仍然存在一些缺点。研究开发优质高效的复杂曲面造型理论与方法已经是势在必行。
本文简要介绍基于递归分割的曲面造型方法。这种方法可以直接处理任意拓扑结构的复杂曲面,省去了繁琐的曲面分片和拼接处理。
信息重新构造自由曲面模型,即模型重构。对于第一类问题,近年来主要采用双参数NURBS曲面方法来解决。但是构造NURBS曲面要求给定的控制点在逻辑上必须呈矩阵形排列,或者说,NURBS方法只能直接处理具有四条边界的非封闭曲面或者柱形回转面。这就意味着NURBS方法不能直接表示拓扑结构比较复杂的自由曲面,必须将复杂曲面分解为若干个简单的自由曲面片分别处理,然后再进行大量的曲面拼接或曲面裁剪运算才能获得复杂曲面的整体几何模型[1]。如十字形曲面必须被划分成至少三个曲面片分别处理,然后进行拼接,带孔的曲面必须进行裁剪才行。对于像汽车模型那样的复杂曲面,一般要划分成数百个曲面片,在进行拼接整个汽车模型时的工作量可想而知。
对于第二类问题,基本上是先根据曲面上的测量点反算控制点,而后再用参数曲面方法构造曲面模型。在反算过程中,必须求解大型的线性方程组。如果采用NURBS方法反算,还必须慎重处理参数节点区间的分割和权因子的问题。
另外,尽管用参数方法构造的自由曲面模型是分片光滑的连续几何模型,但是在几何模型的图形显示、有限元分析、快速原型制造以及数控加工等各个工程领域的实际应用中,光滑连续的参数化自由曲面模型必须被分别离散为多面体模型。
综上所述,以NURBS曲面为代表的参数化曲面建模方法虽然具备许多优点,但在以上几方面却存在难以克服的缺点,这些缺陷无疑给复杂曲面的
1 曲面造型技术的关键
问题
从初始条件来看,自由曲面造型问题可分为两大类:一类是根据给定控制点的有关坐标信息来构造自由曲面模型,即几何建
-511-943-015)资助项目。863计划(863
男,1966年生,博士后,副教授;研究方向:几何建模,CAD/CAM一体化;联系人。
-11-21)(收稿日期:2000
高技术通讯 2002.01造型带来诸多不便。
面片的方法,并推广到任意拓扑网格的情形。但是
-样条曲直到1998年,Sederberg等[4]参照非均匀B面的构造方法,在任意拓扑的网格上引入非均匀节点区间的概念,可以得到尖点、褶皱、刺等特征造型
效果。同时DeRose等[5]应用Catmull-Clark的递归分割方法完成了动画人物的几何模型,首先在计算机动画领域中真正得到成功应用。
由此可知,递归分割算法可以克服NURBS方法的前述缺点,具备强大的曲面造型能力。递归分
所构成的网格为
1)P(i
2 递归分割曲面造型算法
2.1 基本定义
在介绍递归分割算法的有关内容之前,先给出
以下几个定义:
网格节点:构成网格的控制点或测量数据点统称为网格节点(Vertex)。
网格的层:若记初始节点
(0)Pi
割技术不仅在计算机动画、计算机图象处理等领域中显示了广阔的应用前景,而且在计算机辅助几何设计(CAGD)、有限元分析(FEM)以及快速原型(RapidPrototyping)等领域中同样具有巨大的潜力。2.3 基于三角形单元的递归分割算法
递归分割算法所产生的网格可以是三角形或四边形。由于三角形单元在满足任意拓扑结构的复杂形状方面比四边形单元有更好的柔性,本文将重点介绍基于三角形网格的递归逼近分割算法。
这种算法与其它多数基于三角形网格的递归算法相似。在三角形的每一边上新插入一个节点后将其分为两段,于是,一个三角形网格被四个小的三角形网格代替,再按照Loop[6]于1987年提出的有关-样递归算法,最后可以得到切平面连续的双二次B条曲面。根据这样的递归分割规则,除了初始网格上的不规则节点在经过递归分割后仍然是不规则节点外,所有奇节点都是规则节点。
对于递归逼近分割算法,新节点的具体位置是由周围若干节点的线性组合确定的。为了使最后的曲面具有较好的连续性,相应于各种拓扑结构的网格节点应采用不同的权因子。计算规则节点的权因子如图1
所示。
0层网格,经过一次分割后得到的节点
k)
点P(i
所构成
的网格称为第1层网格,经过k次分割后得到的节
所构成的网格称为第k层网格。
奇节点:在当前网格层上两个节点之间新插入偶节点:从当前网格层上的某节点继承而来的节点,即与原来节点相对应的节点称为偶节点(Evenvertice)。
节点的度:在网格上与某节点直接相连的周围节点总数称为该节点的度(Valence)。规则节点:对于由三角形单元构成的网格,节点的度为6的内部节点和其度为4的边界节点,或者对于由四边形单元构成的网格,节点的度为4的内部节点和其度为3的边界节点统称为规则节点(Regularvertex)。