1. 引言
随着智能制造和先进制造的快速发展,几何设计和仿真的一体化已经成为CAD/CAE领域中亟待解决的关键瓶颈问题。在CAD领域中,三维几何对象几乎完全利用边界表示(B-rep)和构造表示(CSG) [1],而在CAE领域中,一般由网格单元表示模型。使用传统有限元分析法对几何模型进行分析优化时,需要进行划分网格,而离散网格生成阶段约占整个设计分析过程的80%,实际设计优化过程中模型可能进行多次转换,模型细节易丢失,时间成本高,容易影响模型的求解精度和整个过程的效率。
基于样条曲线表达的体参数化模型以及等几何分析有望实现CAD和CAE的一体化。以B样条或非均匀有理B样条作为映射函数的体参数化模型可避免B-Rep和CSG表达模型的缺陷,无需进行格式转换和划分网格,可直接进行分析优化 [2] [3]。目前,体参数化模型的构建主要分为创建式和重建式两种方法。创建式多采用不同样条进行体参数化模型的构建,重建式方法通过提取现有模型中的参数或特征,构建体参数化模型 [4]。王中 [5] 等人提出一种基于特征驱动的T样条船体曲面参数化设计方法。何坤金 [6] 等人提出了层次参数化的自由曲面特征表示与实现方法。在构建体参数化模型时,需要对存在亏格的模型进行剖分,使之转化为零亏格模型。目前,针对模型平面剖分的算法,已有大量相关研究,何寿平 [7] 等人提出一种基于矢量场的二维区域全自动分解方法,实现了任意二维几何模型的高质量分块结构四边形网格自动生成。陈建军 [8] 提出一种基于前沿推进三角网格思想的铺路法拓展至曲面四边网格生成的方法。徐岗 [9] 等人提出一种基于边界简化与多目标优化的高质量四边形网格生成新框架。陈龙 [10] 等人提出了一种基于曲线几何特征的曲多边形四边剖分算法。由于体参数化模型表达形式必须是零亏格的三变量张量体,导致其难以创建具有任意拓扑结构的三维模型,比如带有空洞的模型。此外,在创建体参数化模型时,我们需要进行控制点、节点矢量、次数等参数的设置,这也使得时间成本较高。
本文提出一种基于自动剖分的体参数化模型快速构建的方法。如图1所示,首先利用提取到的模型参数构建曲线轮廓;其次,使用连接线自动添加算法,创建内外轮廓连接线,使得存在亏格的模型转换为零亏格的;然后,结合四边剖分算法对多边形轮廓进行剖分;最后,通过几何操作将二维平面映射到三维得到体参数化模型。
Figure 1. Quick construction process of volume parameterized model
图1. 体参数化模型快速构建流程
2. 连接线自动添加和四边剖分
内外轮廓之间的连接线的自动生成,是体参数化模型快速构建的关键一步。图2是连接线自动生成的算法流程。
Figure 2. Algorithm flow of automatic connection line generation
图2. 连接线自动生成算法流程
2.1. 几何域包含树构建
由若干条NURBS曲线首尾相连形成的区域,我们称之为几何域。几何域的集合用S表示。对于任意两个几何域S1和S2,他们之间只有包含与被包含的关系,如下图3所示。
从上图中,我们可以看到两个几何域上的点存在以下两种情况:1) 几何域S2的所有控制点都在几何域S1的内部或边界上。2) 几何域S2的某些控制点在几何域S1的外部。根据这两种情况,我们可以将判断两个几何域包含关系的问题转换为判断一个几何域的任意一点是否在另一个几何域内部的问题,即点与多边形的包含关系。
Figure 3. Geometric domain inclusion relationship
图3. 几何域包含关系
点与多边形的包含关系是计算机图形学中的一个基本问题,目前已经有许多相关的解决办法,如面积和法、夹角和法和射线法等。射线法作为最常用的方法,已有大量的相关学者对其进行了完善和改进。由于本文构建的几何域存在较多的NURBS曲线轮廓,传统的射线法无法完全满足要求,所以,我们通过使用改进后的射线法 [10] 来判断点与曲多边形的包含关系。
图4(a)中,从点P1引出的射线与曲线端点相交,取曲线上交点处的切向量α,若向量在第一、二象限,则交点数加1,否者,交点数不变。从P2引出的射线与曲线中间部分相交,取曲线上交点处的切向量β,同理,判断其所处象限,改变交点数。图4(b)中,从P3引出的射线与曲线相切,对于各种相切的情况,取离交点微小距离的两个点,计算对应的两个方向向量,若两者都位于第一、二象限,则交点数不变,若都位于第三四象限,则交点数加2,其他情况,交点数加1。
只需将点与几何域的每个轮廓曲线进行单独判断,把交点数相加,若结果为奇数,表示点在曲多边形内部,若为偶数,则表示点在曲多边形外部。如图5所示,通过判断一个几何域上任意点与另外一个几何域的包含关系,便可以实现两个几何域的包含关系。根据几何域集合中两两几何域的包含关系,构建出对应的几何域包含树,后续根据包含关系,自动构建出两者之间的连接线和执行两者之间的四边剖分。
Figure 5. Geometric domain includes tree construction
图5. 几何域包含树构建
2.2. 连接线生成
构建出几何域包含树之后,从根节点开始,由外向内构建出父子节点之间的连接线、相邻子节点之间的连接线。
首先,取几何域包含树的根节点,存入到节点容器Nodes中,判断其是否含有子节点,若有,将其子节点存入到Nodes中。取出根节点以及其子节点的轮廓线,并对轮廓线进行顺时针排序。
通过设置一个参考点,找出多边形轮廓上距离参考点最近的端点,得到包含该端点的两个轮廓线。如图6(a),这里,我们选择轮廓上所有端点中x坐标最小值的5倍,y坐标最小值的2倍作为参考点,若参考点的x和y值为正数,则取其负值作为参考点坐标。然后,找到轮廓上距离该参考点最近的端点,如点A和D,同时,我们可以获得包含这两个点的边界线AB和AC、DE和DF。向量AB和AC进行叉乘,通过判断叉乘结果的z坐标的正负,得到轮廓顺时针排序的起始轮廓线AB,同理,可以得到DE为起始轮廓线。
依序获得根节点轮廓上的端点,存放到PointsA容器中,获取根节点其中一个子节点的轮廓端点,存放到PointsB容器中。从PointsA中取一个控制点,并从PointsB中取一个控制点,由这两个控制点构建出连接线,存放到ResultS结果容器中,循环往复,得到所有可能的连接线。但是,并不是所有的连接线都适合作为最终的选择,比如,有些生成的连接线会与其他轮廓产生交点,这种连接线就不符合我们的建模要求。此外,为了保证后面剖分结果的面片质量,生成的连接线与其相邻轮廓的夹角不能过小,即不能存在尖角。
线段相交判断:如图6(b)所示,存在两线段AB和CD,若两者相交,则可以确定:1) 线段AB与CD所在的直线相交,即点A和点B分别在直线CD的两边;2) 线段CD与AB所在的直线相交,即点C和点D分别在直线AB的两边。线段CD两个端点与线段AB的其中一个端点连成的向量AC和AD,分别与向量AB作叉乘,若结果异号,说明CD两点在线段AB的两侧;若结果同号,说明CD两点在线段AB的同侧,则两线段肯定不相交。同理,只需要再证明AB两点在CD两侧,则两线段肯定相交。其中,若出现两向量叉乘为零向量,说明存在一个线段端点在另一线段上,这个时候也可以看作线段两端点在另一线段的两侧。
夹角判断:为了保证后面的剖分质量,需要对连接线的生成添加约束条件。针对存在的尖角问题,这里选择角度作为约束。在生成连接线之后,分别计算出该连接线与其所连的内外轮廓相邻边界的夹角,取其夹角之差,差值越小,说明角度越接近,面片质量会越高。根据夹角大小对所有的连接线进行排序,取夹角最小的连接线作为最终的结果,图7为连接线自动生成过程。
Figure 7. Schematic diagram of connection line generation
图7. 连接线生成示意图
2.3. 四边剖分
基于构建的几何域包含树,从最底层开始,依次提取父子节点和自动生成的内外轮廓连接线,进行全四边平面剖分。逐层向上重复操作,直到根节点。图8是四边剖分算法的流程。
Figure 8. Flow of four-sided partitioning algorithm
图8. 四边剖分算法流程
这里通过适用于体参数化模型的曲多边形全四边剖分算法 [10],对几何域进行了全四边自动剖分,得到全四边子域集合,再通过Coons插值,得到全四边曲面,如图9所示。
Figure 9. Results of four-sided subdivision
图9. 四边剖分结果
3. 体参数化模型构建
非均匀有理B样条(NURBS)是在B样条的基础上增加权重。NURBS继承了B样条的所有优良性质,能够精确的表达圆锥曲线,具有更高的灵活性。通过对NURBS曲线的控制点和权重的调整,可以得到更为精确的模型。
对于u方向次数为p、v方向次数为q、w方向次数为r的NURBS体,其表达式如式(3.1):
(1)
其中,
分别是次数为p、q、r的基函数,
是NURBS体的控制点,
为控制点权重。
通过全四边剖分算法得到剖分结果后,我们给出对应的路径,并进行拉伸几何操作,最后得到体参数化拉伸体模型。同理,我们通过其他几何操作,如放样、旋转等,可以得到对应的体参数化模型。图10是平面四边模型及其通过几何操作得到的体参数化模型。
4. 算法实例
根据模型尺寸,构建出模型的内外轮廓,即几何域集合。然后根据前面的几何域包含树构建算法,得到对应的几何域包含树。再利用连接线添加算法,自动构建出内外轮廓连接线。最后通过适用于体参数化模型的四边剖分算法 [10],对几何域进行自动剖分,并结合几何操作得到最终的体参数化模型。
图11是平面模型构建的过程,在约束条件下能够自动生成最合适的连接线,使得存在亏格的几何域变为零亏格,并且能够结合四边剖分算法,完成几何域的全四边剖分。
图12是剖分平面经过几何操作得到的体参数化模型,通过查看其雅可比值能够判断体参数化模型的网格质量。从图12(b)中可以看到,模型雅可比值都大于0,说明生成的网格质量符合要求,可直接用于等几何分析。
5. 结论
本文提出一种基于自动剖分的体参数化模型快速构建的方法。通过构建模型内外轮廓、自动添加内
Figure 10. Construction process of volume parameterized model
图10. 体参数化模型构建过程
Figure 11. Schematic diagram of model construction
图11. 模型构建示意图
外连接线和平面四边剖分,并结合几何操作,构建出体参数化模型。此方法能够克服以往方法工作量大、时间成本高等缺点,快速构建体参数化模型,得到的模型可直接用于等几何分析和优化。该方法有待改进的地方是仅仅针对的是平面模型,并未考虑存在曲面的几何模型,后续需要完成适用于曲面的算法。