老顾谈几何

传统CAD建模方法的瓶颈与整体微分几何

这个周末恰逢教师节和中秋节,朋友们纷纷去海边赏月。下班时沿着长岛海滨高速公路(Ocean parkway)行驶,两侧沧海茫茫,空中一轮明月,波涛汹涌,万顷清辉,正可谓“海上生明月,天涯共此时”。节日期间向亲人师长问候,也收到世界各地很多同学朋友的祝福,非常令人感动!上周五刚刚结束今年的暑期课程,由于讲解了更深的专题(Abel-Jacobi,Riemann-Roch,曲面自旋结构,镜面反射的球面传输等理论),课时延长了一些,但是依然有很多重要的专题来不及讲授,其中最重要的当属全纯线丛和层的上同调理论。

在工程领域,很多时候需要构造某种特殊的几何或者代数结构,这种结构局部容易建立起来,但是推广到全局时会遇到困难。而层的上同调理论就是专门表达和解决这种局部构造的全局障碍的。虽然这种情形几乎在各个工程领域中无处不在,但是由于数学理论的高度抽象性,目前传统工程师们并没有充分理解和应用这种思想方法。经典的CAD手工建模方法无法将拓扑优化后的模型转换为NURBS曲面,也无法直接将3D扫描得到的点云转换成样条曲面,特别是用布尔运算拼接的曲面片不可避免地存在大量裂缝和重叠。传统建模方法所面临的瓶颈本质上是只运用了局部微分几何,而缺乏全局微分几何的思想和指导。

传统CAD方法的内在缺陷

Image图1. 本田汽车的NURBS 表示。

在几何建模(CAD)领域,传统的曲面CAD表示都是样条曲面,例如B-样条或者NURBS曲面,如图1所示的本田CAD模型就是用NURBS表示的。从拓扑层面上来看,样条曲面是用仿射几何不变量构造的,而拓扑复杂曲面不容许仿射结构,因此样条曲面无法直接构造。更进一步,传统NURBS都是基于张量积,或者等价的结构化四边形网格,而四边形网格本身具有共形几何的全局障碍(例如封闭轮胎曲面上不存在这样的四边形网格,只有一个度为3的奇异点和一个度为5的奇异点)。由于这些拓扑和几何限制,传统的手动CAD建模往往将整体曲面分解,将每一个曲面片用样条表示,然后将每片NURBS修剪,再整体拼接或者进行布尔运算(CSG模型)。当两个NURBS曲面彼此相交时,我们需要计算相交曲线,然后将NURBS曲面在参数域中进行修剪。由基本的代数几何定理可知,两个次数为的多项式曲面相交,其交线的次数是量级,在参数域中的表示十分复杂,一般只能近似。因此由简单NURBS曲面片通过布尔运算表达的CAD模型在交线处都有无法避免的重叠或者裂缝,即缺乏水密性。虽然人眼看不出来,但是在后期模拟仿真过程中,这些瑕疵会严重阻碍计算。在后期制造过程中,这些裂缝需要进行特殊处理,进行补缝和光滑化,刀具的路径设计也需要特殊考虑。这些瑕疵的弥补需要大量手工操作,十分令人头痛。

Image

图2. 汽车的B-柱的NURBS表示。

例如图2所示,汽车两门之间的支柱用NURBS表示,表面上看简单齐整,实际上却是由1537个NURBS曲面片拼成,其中的1276片是经过修剪得到的。放大之后再看,千疮百孔,复杂异常。那么,是否可以将这上千张NURBS合并成一张,不再需要拼接和修剪呢?答案是肯定的,但需要比较先进的理论和方法。

Image图3. 传统的分片参数化方法。

如图3所示,传统的几何处理软件只能将简单的曲面片参数化。对于复杂的曲面,传统方法只能将其分解成多个碎片,再将每个碎片平铺到平面上。这样,三维曲面上不可避免地出现很多裂缝,拼接这些裂缝保证整体光滑性非常繁琐和困难。

Image图4. 全局曲面参数化。

我们课程上讲过曲面单值化定理,也讲过Ricci流理论,我们知道整张曲面可以平铺到二维平面上,从而建立曲面的参数域。如图4所示,用Ricci流和最优传输,我们可以将曲面整体参数化,从而避免曲面整体的拼接问题。对于几何建模,我们需要整体结构化四边形网格生成。

新方法的优势

Image

图5. 结构化四边形网格生成,奇异点选取。

如图5所示,给定一张曲面,可能具有复杂拓扑,我们来整体构造结构化四边形网格以生成高质量NURBS。首先,网格的格线光滑流畅,两族流形彼此正交垂直,这意味着流线是调和共轭的,曲面的全局参数化是共形的。整体性的关键在于奇异点位置的选取,如果选取得当,那么流线与特征线重合,与边界平行或垂直。局部上,我们可以轻而易举地构造这种网格,但是整体上能否拓展,这个问题非常有趣而深奥,这也正是今年暑期课程的核心内容,Abel-Jacobi理论给出了奇异点的限制条件,决定了存在性;Riemann-Roch给出了解有多少,而这些理论的现代版本就是全纯线丛截面层的上同调理论。

给定物理世界中的曲面,具有欧氏空间诱导的黎曼度量,则曲面具有天然的共形结构,可以被视为黎曼面。代表曲面的余切丛,令全纯线丛 为余切丛的4次幂:

等价地,令是余切丛的一个全纯截面,即黎曼面的全纯微分,为的零点构成的除子,令,那么。任意一个上的四边形网格剖分,若与共形,则都对应一个亚纯四次微分,即的一个亚纯截面,。给定用户指定的四边形网格奇异点,即的零极点构型,,那么我们有:

所有这种亚纯截面等价于全纯线丛的全纯截面,即

因此四边形网格的存在性归结为判定截面层的上同调群是否为零。由Riemann-Roch定理, 层的欧拉示性数为:

这里g为曲面的亏格。进一步由Serre对偶定理

我们面临如下几个基本理论问题:

  1. 是否存在一个四边形网格,其奇异点构型恰为,这等价于是否为平凡丛,为复一维。这一问题已经解决,要用到丘成桐先生带领笔者团队共同发明的全纯微分的算法和曲面Ricci流算法和Abel-Jacobi理论;
  2. 如果不存在这样的四边形网格,如何修改,以保证四边形网格的存在性?这一问题已经解决;
  3. 如果只是部分地描述四边形网格的奇异点构型,估计解空间的大小,即群的维数。这个问题目前为开放状态。

由Riemann-Roch定理可知,如果我们选取包含足够多的极点,即四边形网格上度为3的奇异点,则右侧必为正数,解一定存在。这和经验相符:增加度为3的奇异点,结构化四边形网格相对容易构造。

相较于传统方法,这里的方法具有很大优势:

  1. 理论严密,整个算法具有严格的理论基础,解的存在性、唯一性有保证,从而具有普适性;
  2. 自动化,由于用数学理论取代手工调整,算法的自动化程度较高;
  3. 整体性,算法整体求解,减少碎片个数和裂缝条数,提高整体光滑性;
  4. 简单性,传统样条建模算法中,复杂拓扑的样条拼接,多片样条曲面片汇合处的补洞等都是非常复杂繁琐的。新算法的整体性减少了拼接的负担,更加简洁直接;同时参数域也不再有复杂的修剪(如图6);
  5. 适用性,新的样条曲面更加适用于后端分析的任务,和CAM中的路径规划。这种算法也适用于拓扑优化得到的曲面到NURBS的转换,以及用3D扫描、逆向工程方法进行的几何建模。
    从长远来看,用整体微分几何观点来扬弃局部观点,符合科技发展的历史规律。从近期工程角度而言,目前存在很多未知需要进一步探索,例如网格流线顺应特征线和边界线等等,这一方向任重而道远。

    Image

    图6. 传统的修剪NURBS(左帧);非修剪的整体NURBS(右帧)

等几何分析方法

Image

图7. 1996 Dodge Neon CAD模型的传统NURBS表示,无法直接用于IGA分析。

Image

图8. 基于整体微分几何重新参数化处理后的Dodge Neon 模型,可以直接用于等几何(IGA)分析。

在CAE领域,等几何分析(Isogeometric analysis)是目前发展迅猛的一个领域。在传统的几何建模(CAD)领域,所有模型的数学表示都是样条曲面;在传统的CAE领域,几何模型都用三角网格来表示,各种偏微分方程都用有限元、有限体积法等求解。将CAD模型转换成适用于分析的模型占据了整个流程的70%左右的时间。等几何分析方法统一了CAD和CAE的数学表示,用样条来表达偏微分方程的解空间,从而省却了中间的网格生成和几何逼近的步骤。和传统的有限元方法相比较,等几何分析方法具有一定的优越性,例如更光滑的基函数具有更好的逼近能力,在共振分析中展现了更精确的计算结果等等。但是传统CAD曲面中的NURBS曲面缺乏水密性,大量的裂缝、重叠等几何瑕疵使得其NURBS表示无法用于等几何分析(图7所示)。用我们这里介绍的方法得到的高质量NURBS可以直接应用于IGA,得到高精度计算结果(图8所示)。

小结

传统的手工CAD建模方法首先建立多个曲面片的样条表示,然后将这些曲面片用布尔运算和修剪拼接起来,得到的NURBS曲面具有大量的裂缝和局部重叠,无法得到具有水密性的曲面表达,因此需要繁重的处理工作加以改善。这种方法本质上是局部方法,工程性地生硬拼接。如果用共形几何的理论,我们可以用全局的方法得到整体的NURBS曲面,本身具有水密性,直接适用于下游的分析和制造流程。算法的核心是Ricci流方法和全纯线丛截面层的上同调理论。这再度显示了现代数学对于工程领域本质问题的前瞻和指导作用。


请长按下方二维码,选择“识别图中二维码”,即可关注。

Image

【老顾谈几何】邀请国内国际著名纯粹数学家,应用数学家,理论物理学家和计算机科学家,讲授现代拓扑和几何的理论,算法和应用。