老顾谈几何

计算机辅助几何设计(CAD)理论的缺陷和全局微分几何

2022年入夏,整个世界依然受着战争和瘟疫的蹂躏,但是疫情有所缓解,学术交流和商务活动逐渐恢复。近期以来,很多老朋友来到纽约开会或者旅游,和老顾得以相见。这些老同学和老朋友,有金融界的翘楚、地产领域的成功人士、谷歌高管和学界知名教授。大家多年未见,天下时局沧桑巨变,彼此都有劫后余生的惶惑与感慨。无意交谈中遽然发现多位老同学已然作古。英年早逝最多的还是学术和仕途都很成功的教授们;其次是人到中年,对自身健康依然盲目自信的几位老同学,在激烈运动时突发意外而撒手人寰。前两天访问耶鲁,回忆起一家名叫“香格里拉”的中餐馆,有位老友非常钟爱里面的特色螺蛳。而这位老友因为生活挫折而精神失常,命丧西海岸警察乱枪之下。另一位耶鲁的朋友,其父亲早逝于肠癌,他由于携带基因从青年时代起就积极体检,迄今安然无恙。他经常说40岁之后的人生,每一天都是上天的恩赐,如今在金融领域非常成功。

老同学们都有着丰富的人生阅历,荣辱半生,看淡繁华,倾心交谈中会有很多人生感悟。一次和王师兄在曼哈顿的“草堂”小聚,王师兄身为谷歌高管,依然每天勤奋工作近10个小时,频繁穿梭于东西海岸。王师兄非常感慨此生庆幸选择了计算机专业方向。当年报考清华的时候,王师兄和老顾这些来自科技落后、教育资源贫乏地区的孩子们根本不了解何谓计算机科学。但在过去的三十年间,计算机工业的发展成为人类文明进步的核心力量,并且愈演愈烈,气势如虹。通过以王师兄为代表的一代人的努力,目前谷歌等IT公司使得整个人类终日浸泡在信息的海洋之中,每个人信息摄取的瓶颈不再是内容生成或者网络带宽,而是大脑处理消化信息的生理极限。虽然依靠计算机技术取得了令人尊重的社会地位和优渥的生活条件,但是师兄觉得日常的计算机工作缺乏智力的挑战性,甚至愤恨于计算机科学的肤浅,因此非常希望他的孩子们更多学习现代数学。王师兄和老顾在清华都曾进行过计算机辅助几何设计(CAD)领域的研究,多年来一直追踪3D技术的发展。依随元宇宙的兴起,工业软件的需求增长,计算机辅助设计、3D几何技术渐渐进入计算机工业舞台的中心,但是其理论基础依然具有本质缺陷。

数学与工程技术


数学一直领先工程技术数十年。在王师兄和老顾开始求学的年代,计算机科学领域用到的拓扑几何理论非常浅显,依随时代的发展,现如今计算机领域需要的数学早已今非昔比。老顾亲身经历了很多实例,对此体会颇深。在丘成桐先生指导的博士论文中,老顾开发了曲面共形结构的计算方法。后来有很多应用,例如医学图像中的虚拟肠镜技术,这里共形几何被用于直肠曲面间的精确注册,这一专利被西门子公司所采用。二十年后,日本和韩国由政府鼓励全民用虚拟肠镜技术进行肠癌早期筛查,所用方案基本脱胎于西门子技术。又如,丘先生在1970年代发展了蒙日-安培方程理论,于1993年提出了100个几何中的开放问题,其中第19问题就是如何发明高效稳定的数值算法求解球面蒙日-安培方程。最优传输理论中的Brenier理论等价于求解蒙日-安培方程。我们在2019年解决了丘先生提出的这个问题。近两年来,最优传输的理论和算法在深度学习中得到广泛应用,成为深度学习的理论基础,基于最优传输的深度学习日益成为一个分支领域。我们也相信,在可预见到的未来,丘成桐先生和郑绍远教授开创的仿射微分几何理论和蒙日-安培方程理论,会对工业软件的发展起到指导作用。

样条理论和仿射几何


1970年代,计算机开始应用于汽车、舰船和航空工业,由此催生了计算机辅助设计(CAD)这一领域。但是,早期的奠基者多是工程师和计算数学家,他们设计的CAD理论和方法只考虑了拓扑简单的曲面片设计,没有考虑复杂拓扑曲面的整体设计,因此具有很大的局限性。依随机械工业迅猛发展,CAD工业标准的制定,这些局限被固定下来。巨量资本注入到这些工业,顶层技术多次更新换代,(例如数值模拟、数控机床、3D打印),底层的局限更加积重难返。这些隐患在今日的CAD工业中成为难以解决的巨大困难。究其根本,这些困难的根源在于CAD领域的奠基者只考虑了局域微分几何,而忽视了大域(整体)微分几何。下面我们简略分析其中最为基本的一些问题。

Image

图0. Dodge的CAD模型(Kendrick Shepherd)。

在动漫动画领域、游戏领域和3D打印领域中,曲面都是用三角网格来表示。这种方法所表示的曲面只是连续但不可微。在CAD领域,曲面都是用分片有理多项式来表示(NURBS ),从而具有高阶导数。在用数控机床加工时,我们可以计算车刀的速度和加速度。样条曲面的终极目的是设计一种分片代数曲面,以任意精度逼近拓扑和几何复杂曲面,实现自动无缝拼接,处处曲率连续(光滑)。

在一维情形,曲率光滑的曲线被分片多项式曲线所逼近,曲线的形状由几个控制点所决定,曲线上任意一点都由相邻几个控制点的加权平均来得到,其权重取决于该点的参数与控制点对应的参数(knots)。具体的数学表示如下:一条参数曲线表示为单变元多项式映射:,

这里系数是三维空间中的向量。的极形式(polar form)或者开花(blossom)是一个-元多项式,满足特定条件:
  1. 对称性:设是的任意排列,那么
  1. 仿射性:Blossom关于每个变量都是仿射的,给定,
  1. 同一性:

Image图1. B-样条曲线和控制点。

最为常用的样条曲线是3次的,以此保证曲率是连续的。给定参数直线,knots是相异的点

每相邻的3个knots对应一个控制点。给定参数,我们可以用极形式的仿射性质来计算,如图所示:

Image图2. deBoor评估算法。

表示成和的线性组和:

这里权重

被称为是关于的重心坐标。由仿射性

deBoor算法中每个节点都由两个上层节点线性组合得到,组合系数等于重心坐标。相邻4个控制点得到一段多项式曲线,不同段的多项式曲线自动衔接。我们看到,如果我们对参数(包含knots)进行仿射变换 , 则重心坐标不变,deBoor评估过程不变,所得B-样条曲线不变。这意味着重心坐标在仿射变换下不变,B-样条曲线在仿射变换下不变。亦即B样条理论(开花理论)是基于仿射几何的。

我们可以将样条曲线的理论直接推广到样条曲面。一种方法是将开花理论推广到高维。给定平面参数区域,给定knots,每个控制点与3个knots相联系,计算这些knots的三角剖分,对于参数区域中的任意一点,由三角剖分得到相应的三角形包含点,计算重心坐标,由开花理论计算样条曲面上的点。这里需要一些三角剖分的组合性质。这种样条曲面可以定义在三角剖分之上,同样具有参数仿射不变性质。给定一张封闭曲面,我们可以在上构造三角剖分,这种B-样条曲面可否定义在上?如果可以,那么我们就得到整体光滑的分片多项式曲面。但是这种方法无法实现,核心原因在于开花理论是基于仿射几何,一般曲面上无法定义仿射几何结构。

一般几何结构


根据Klein的Erlangen纲领,不同的几何研究不同变换群下的不变量。令 是一个同质的空间,是一个微分同胚的Lie群,作用在上,如此上具有由对称群所决定的几何。给定一张曲面,被一族开集覆盖。每个开集有一个局部坐标映射, 被称为一个局部坐标卡。假设, 局部坐标变换

如果所有的局部坐标变换都在群中,那么图册被称为是一个-图册。-图册的等价类被称为是-结构。如果曲面配有一个结构,则我们可以在曲面上定义相应的几何。例如,是复平面,是双全纯映射群,则对应的结构是共形结构。在共形结构下,角度的概念是良定义的,长度的概念是无法定义的。如果是实射影平面,是射影变换群,则对应的结构是射影结构,我们可以在曲面上定义射影几何中的常见概念,例如射影直线,射影圆锥曲线,实交比等等。如果是单位球面,是线性分式群,则是复射影结构,这是复交比,角度,圆弧等概念依然全局定义。如果是仿射平面,是仿射变换群,则-结构是仿射结构,这时重心坐标是有意义的,借助仿射结构B-样条曲面的构造方法可以直接定义在曲面上。

Image

图3. 亏格2曲面的复射影结构和实射影结构。

但是,仿射结构的存在与否取决于曲面的拓扑。可以直接证明,假如可定向封闭曲面存在一个仿射图册,则我们可以全局定义一个特殊的联络,其诱导的高斯曲率为零。根据高斯-博纳定理,曲面的欧拉示性数为零,亏格为。对于其他亏格的封闭曲面,仿射结构不存在。这意味着由于拓扑障碍,经典的局部样条理论无法推广到一般的整体曲面之上。相反的,实射影和复射影结构是广泛存在的,如果我们能够发明一种代数构造,基于射影不变量,例如实交比或者复较比,那么我们就可以发明一种样条曲面,整体自动拼接,曲率处处连续。迄今为止,这种构造尚未被发明出来。

奇异点与矢量丛示性类


由于一般高亏格曲面上不存在仿射结构,自动拼接、全局光滑的样条构造无法实现。人们推求其次,容许奇异点的存在,在奇异点处,曲面光滑性变差,高阶导数会变得无穷大,加工过程中车刀可能会断裂。这时出现CAD的又一个中心问题:奇异点的设置。基于三角剖分的样条曲面组合构造过于复杂,工业界通常采用更为简单的张量积样条曲面:

这里和都是一维的B-样条曲线。

Image

图4. 张量积样条曲面。

是整体上的分片(有理)多项式曲面,每一片的定义域是平面上的矩形,如此得到曲面的一个剖分,每个胞腔都是拓扑四边形,即我们得到曲面的一个四边形网格剖分。每个顶点与多个四边形面相邻,这个面数被称为是顶点的拓扑度。拓扑度不为的顶点是四边形网格的奇异点。这些奇异点的选取应该满足苛刻的拓扑几何条件,从根本上决定了网格的质量。从拓扑上而言,如果我们将每个面设为平面正方形,则每个顶点的离散高斯曲率为

, 总曲率满足Gauss-Bonnet定理

局部坐标变换群是平面刚体变换群的特殊子群,其平移分量为整数平移,旋转分量的转角为的整数倍。如此我们得到一个结构,这里是欧氏平面,

当我们将B-样条推广为T-样条,我们可以将整数平移条件放宽,但是旋转的转角限制不变。如此得到的黎曼度量是带有锥奇异点的平直度量,并且沿着任意封闭路径平行移动一个切向量,转角为的整数倍,这一条件也被成为是特殊的和乐群条件。

长期以来,这一问题没有理论解释,实践中依赖工程师日积月累的实际经验来手工调整,经常是按下了葫芦,浮起了瓢。这意味着这一问题本质上是一个全局问题。由于缺乏理论指导,在工业中,人们迫不得已将构造多片样条,然后试图将其粘和。这样得到的曲面有很多难以被人们肉眼察觉的缝隙,如何检查并且消除这些缝隙,成为CAD领域的一个难题。本质上,这依然是缺乏对于整体微分几何的深刻理解所造成的工程缺陷。

Image

图5. T-样条曲面和上面的奇异点。

经过长期探索,我们终于找到了这种几何结构的控制方程,从而奠定了整体四边形网格生成,样条曲面构造的理论基础。我们可以证明:如果曲面具有(2)式所定义的几何结构,则曲面上配备了一个平直度量具有锥奇异点,四边形网格诱导一个亚纯四次微分,的奇异点构型等价于的除子,

假设是任意一个全纯次微分,那么是一个亚纯函数,其除子满足Abel定理:令是黎曼面的周期矩阵,是黎曼面的Jacobi簇,是Abel-Jacobi映射,将黎曼面全纯地嵌入到Jacobi簇中,Abel定理断言:

通过求解Abel方程,我们可以决定奇异点所在的位置和拓扑度,从而决定四边形网格或者T-网格,构造样条曲面。这里Abel-Jacobi方程描述的除子,实质是黎曼面上全纯线丛的示性类,而亚纯四次微分则是全纯线丛的一个全局截面。

Image

图6. T-样条曲面奇异点集满足Abel-Jacobi条件。

几何结构的计算


我们看到CAD应用需要计算特定的几何结构。给定带有黎曼度量的封闭曲面,其共形结构可以通过计算其全纯1-形式来得到。首先,我们计算曲面的单纯下同调群的基底,然后计算对偶de Rham上同调群基底,通过Hodge分解得到调和1-形式,每一个调和形式与其共轭配对,得到全纯1-形式. 由此,我们可以计算曲面的周期矩阵,Jacobi簇和Abel-Jacobi映射,从而可以求取Abel-Jacobi方程(3),得到奇异点所在位置。

高亏格曲面的复射影结构和实射影结构可以通过曲面Ricci流的方法计算出来。假设曲面的黎曼度量是,Gauss曲率是,我们希望计算实值函数, 使得Gauss曲率为常值,这等价于求解Yamabe方程:

这可以由曲面Ricci流方法计算出来:

这里是曲面的初始面积。所得到的黎曼度量被称为是单值化度量。我们将曲面的万有覆迭空间等距嵌入在双曲平面上,如果我们用Poincare模型,则覆盖变换为Mobius变换,我们得到曲面的一个复射影结构;如果我们用Klein模型,则覆盖变换为实射影变换,我们得到曲面的一个实射影结构。

如果我们通过求解Abel-Jacobi方程(3),得到的除子,然后我们设定目标曲率

用Ricci流得到所诱导的度量,满足和乐群条件,这样得到样条曲面所需要几何结构。如此构造的样条可以实现严丝合缝地自动拼接,全局曲率光滑(奇异点除外)。

开放问题

如上所述,由曲面黎曼度量所决定的各种几何结构目前能够计算出来,但是这些几何结构的模空间计算问题却是长期未解的开放问题。给定一张拓扑曲面,其上所有可能的共形结构构成了所谓的Teichmuller空间。我们固定曲面上的一个共形结构,其他的共形结构与直接相差一个Teichmuller映射,其Beltrami微分有一个全纯二次微分给出,。因此共形结构的计算归结为全纯二次微分群的计算。一种方法是计算图值调和映射,调和映射诱导的Hopf微分给出了全纯二次微分。另外一种算法是基于Abel-Jacobi定理和Ricci流方法。由此我们看到Teichmuller空间维数是,这里是曲面的亏格。

曲面的复射影结构由所决定,这里是一个共形结构,是一个全纯developing映射,满足Schwarzian导数方程:

即由一个全纯二次微分所决定。目前没有任何算法计算复射影结构的模空间。我们可以看到,这个模空间的维数为. 目前并没有任何算法可以计算复射影结构的模空间。

实射影结构的计算比较复杂,假设曲面的亏格,有一个-结构。将曲面的局部坐标卡用局部坐标变换粘贴,可以将曲面的万用覆迭空间嵌入到的一个凸集上,将等同于中的平面,则过原点和的所有射线构成一个锥体。锥体内部存在一个仿射球是某个凸函数的图,这里由某个函数所决定,满足蒙日-安培方程,具有Dirichlet边界条件:

。凸函数的Hessian给出了仿射球的仿射度量,此仿射度量也是黎曼度量,从而得到Levi-Civita联络和一个共形结构。仿射球上也存在仿射联络,其测地线为射影测地线。那么这两个联络之间的差异由一个全纯3次微分和共形结构来刻画。由此一个实射影结构由所决定, 这里是共形结构,是一个全纯3次微分,-结构模空间的维数为。目前并没有任何算法可以计算实射影结构的模空间。

总结和展望


我们可以看到工业软件中几何建模的理论基础是仿射微分几何。传统的样条曲面构造依赖于仿射结构,张量积样条曲面依赖于如下结构

这个结构的奇异集满足Abel-Jacobi条件,其计算依赖于全纯微分的算法和Ricci流的算法。这个结构可以实现样条曲面整体自动拼接,除奇异集合外,全局曲率连续。更进一步,如果我们能够构造基于射影不变量的样条,那么我们可以得到全局光滑的样条曲面。曲面由黎曼度量所决定的复射影和实射影结构可以由曲面Ricci流算法得到。更加一般的几何结构算法,目前尚未被发明出来。

Image

图7. 拓扑优化的宝马摩托车架(BMW).

虽然工业软件、CAD建模软件、CAE模拟仿真软件今天无处不在,但是其理论基础存在很大的局限性,核心原因在于传统方法只考虑了局部微分几何,当推广到全局曲面上的时候,不可避免地会遇到拓扑障碍,表现为特殊向量丛的示性类。因此,目前的CAD方法具有本质的困难。特别是近些年来,3D打印技术突飞猛进,拓扑优化成为工业软件中发展最为迅速的方向。拓扑优化之后得到的设计方案过于复杂,无法用传统的数控机床加工出来,但是可以用金属3D打印进行制造。目前的一个发展热点是如何将拓扑优化生成的曲面转换成传统的样条曲面。这一迫切需求,使得CAD理论基础必须加以拓宽和加深,传统方法的缺陷必须弥补。我们认为从根本上而言,其解决方案在于整体微分几何。改进后的方法需要能够计算整体几何结构,从长远来看,基于Hodge定理的全纯微分算法、基于Ricci流的标准度量算法以及基于蒙日-安培方程的仿射球算法都将不可或缺。我们希望现代几何思想和方法的引进会进一步推动工业软件的发展。

暑期课程

目前来看,这些算法不属于传统的数值偏微分方程解法,年轻学子们无法深入学习研究。为此我们准备在线上开设“计算共形几何”课程,专门讲解这些现代几何理论和计算。我们的线上课程计划从2022年7月份开始,每周4次,每次8:30-10:00pm. 具体课程链接将会很快发布,敬请期待。


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

Image

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