任意形状的三角形网格划分
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第9卷 第5期
1997年9月计算机辅助设计与图形学学报J.CAD &CG V o l .9,N o.5Sep.,1997
任意曲面的三角形网格划分
陈永府 张 华 陈 兴 李德群
(华中理工大学塑性模拟及模具技术国家重点实验室 武汉 430074)
摘要 把曲面分为可展曲面和不可展曲面,对可展曲面用曲面展开算法展成平面,对不可展曲面用曲面分割算法转化成平面片,在平面上运用D elaunay 三角划分法进行网格划分,然后把网格节点反映射到曲面上,从而实现任意曲面的三角形网格划分。
关键词 D elaunay 三角划分,可展曲面,不可展曲面,曲面展开算法,曲面分割算法。
1996201203收稿,1996211222收到修改稿。本文得到“八五”重点攻关项目“注塑成形的计算机仿真与交互计算”资助。陈永府,1972年生,硕士研究生,研究方向为注塑模CA E 的前处理。张 华,博士研究生,研究方向为注塑模CA E 。陈 兴,副教授,研究方向为注塑模CAD 。李德群,博士生导师,研究方向为模具CAD 、CA E 、CAM 。
1 引 言
网格划分是计算机图形学研究的重要内容。目前,有很多种网格划分算法,如拓扑分解法、节点连接法、映射单元法、基于栅格法等。这些算法在二维网格划分上各有千秋,但对三维任意曲面的网格划分,成功的例子却很少。俄国数学家D elaunay 在1934年就证明了:对于任意给定的平面点集,有且仅有一种三解剖分方法能够满足“最大2最小角”优化准则,即所有三角形的最小内角之和最大。Sib son [1]证明了平面任意给定点集的D elauay 三角划分具有整体最优化的性质,这就是说,对于任意给定的平面点集,D elaunay 三角划分能够得到整体最优的三角形网格,能尽可能地避免病态三角形的出现。所以,D elaunay 三角划分在许多应用领域,尤其是在实体几何造型和有限元网格自动生成等研究领域,受到广泛的重视。但是传统的D elaunay 三角划分不能对三维任意曲面进行网格划分,为了解决这个问题,本文把曲面分为可展曲面和不可展曲面,分别对可展曲面采用曲面展开算法,对不可展曲面采用曲面分割算法;将曲面转化为平面,然后在平面上利用D elaunay 三角划分的优化性质进行网格划分,再将网格节点反映射到曲面上(限于篇幅,本文略去网格节点反映射到曲面上的算法),从而实现任意曲面的三角形网格划分。
2 平面任意多边形域的D elaunay 三角划分
L aw son [2]根据“最大2最小角”优化准则,通过“对角线交换”法则实现了二维给定点
集的D elaunay 三角划分。W atson [3]首次提出
“插入多边形”,并在此基础上,利用“外接__________________________________________________________
圆”准则,实现了无约束的D elaunay 三角划分。而实际上,网格划分总是有一定的边界约束条件,本文在W atson 算法的基础上,实现了任意多边形域的D elaunay 三角划分。
为了和图形系统统一,规定沿面上任一条边前进时,其左侧定义为图形区域,右侧定义为非图形区域,即外环按逆时针走向,内环按顺时针走向。不失一般性,假定所有的内环和外环均由直线段组成,因为任意曲线均可用小直线段进行拟合。任意多边形域的D e 2launay 三角划分算法如下:
令多边形的边数为N ,第k 条边的起点序号为L k 1,终点序号为L k 2。
(1)若N =3,则该多边形本身是一个三角形,划分结束;否则令k =1,转入(2);
(2)令k =k +1,若L k 2在有向线段L 11L 12之左,转入(3),否则转入(2);
(3)判断当前多边形其余各边是否与线段L 11L k 2或L 12L k 2相交,若是,转入(2),否则转入(4);(4)保存节点L k 2至候选节点链表中,若k =N ,转入(5),否则转入(2);
(5)从候选节点链表中找出与节点L 11、L 12形成外接圆半径最小的节点L 02,则节点L 11、L 12和L 02必然构成一个有效的D elaunay 三角形,同时对三角形作如下修正:
①若线段L 11L 02及L 12L 02均不是当前多边形的边界线段,则令N =N +1,L 12=L 02,L N 1=L 02,L N 2=L 12,转入(1);
②若线段L 11L 02(或L 12L 02)是当前多边形的第m 条边,而线段L 12L 02(或L 11L 02)不是当前多边形的边,则令L 11=L 02(或L 12=L 02),L m 1=L N 1,L m 2=L N 2,N =N -1,转入(1);
③若线段L 11L 02和L 12L 02分别是当前多边形的第m 条边和第n 条边,则将线段L 11L 12、第m 条边和第n 条边从当前多边形中删除,N =N -3,转入(1)。
多边形域由D elaunay 三角划分后所生成的网格大多数都是细长型的,如图1所示,远不能满足几何造型和有限元分析的要求。为此,还必须对其进一步细化,在边界上和图形区域内部插入适当数量的新节点,以提高网格的质量。图2是经过细化和L ap lace 光滑处理以后的三角形网格
。
图1 D elaunay
三角划分图2 细化和L ap lace 光滑后的网格
3 展开可展曲面
一条平面曲线沿着垂直于该平面的某一直线平行移动而形成的曲面,属于可展曲面,把平面曲线称为该曲面的轮廓线,而把沿其平行移动的直线称为该曲面的主轴。
如图3所示,曲线A B CD 为轮廓线,L L 1为曲面主轴。这里的轮廓线与曲面边界是有区别的,轮廓线沿主轴平移形成可展曲面,而可展曲面经过“修剪”后的边界才是这里所指的“曲面边界”。如图4所示,虚线为轮廓线所形成的可展曲面,实线为曲面边界。有时轮
7935期陈永府等:任意曲面的三角形网格划分