DDG(离散微分几何):曲面参数化 | HyperPlane

DDG(离散微分几何):曲面参数化

翻译自 DISCRETE DIFFERENTIAL GEOMETRY: AN APPLIED INTRODUCTION 第七章 Surface Parameterization。如果有翻译错误或者不当的地方希望能指出,谢谢~

在这一章中我们将看看曲面参数化的问题。基本想法是我们在空间中有一个曲面,我们想要将它“平铺”在平面上。最古老的例子可能是制作一个地图:

DDG7_1

关于地图你会注意到一个事情是它们看起来都存在某种形式的形变:格陵兰岛看起来特别大,或者“北”相对于“东”的角度看起来并不正确。这些现象反应了关于曲面参数化的一般现实:在完美地同时保证长度和角度不变去平铺曲面是不可能的——换句话说,并不是每一个曲面都存在等距参数化。然而,总是可以找到一个保角的或者共形参数化方法,这也是我们将在这个部分进行的内容。

0.1 两个四分之一的旋转得到翻转:复数的一个简要介绍 如果你看到过复数,你可能遇到过像-1的“平方根”这样对于虚数单位ii完全糟糕的描述:

i=1i = \sqrt{-1}

有一个人提议由于任何一个实数的平方根都是非负的,那么数ii肯定是“虚拟的”。讲得通,对吗?这个说法的问题是它忽视了ii的简单几何意义,它是十分真实的!!!!!因此,让我们开始:符号ii表示在逆时针方向上的一个四分之一的旋转。比如,如果zz是一个指向东的向量,那么iziz是一个指向北的向量:

DDG7_2

当我们再应用一个四分之一的旋转会发生什么呢?我们当然会得到一个二分之一的旋转!

DDG7_3

换句话说,我们有i(iz)=zi(iz) = -z。我们可以将这个声明缩写为i2z=zi^2z = -z,它意味着我们必须有

i2=1i^2 = -1

即,两个四分之一的旋转得到一个翻转。这就是全部。没有平方根,也不需要任何创造力。将虚数单位ii考虑为一个90度的旋转将是我们在共形映射中讨论的基本内容。

共形结构

DDG7_4

对于空间中的一个曲面f:MR3f:M \rightarrow \mathbb{R}^3,我们也有一个简单的方法去表达90度的旋转。特别地,如果df(X)df(X)R3\mathbb{R}^3中的一个正切向量,我们可以通过与一个单位法线NN叉乘表示一个逆时针方向的四分之一旋转:

N×df(X)N \times df(X)

由于向量N×df(X)N \times df(X)也是和曲面f(M)f(M)相切的,那么在域MM上肯定有对应的正切向量——让我们将这个向量称为JX\mathcal{J}X。换句话说,

df(JX)=N×df(X)df(\mathcal{J}X) = N \times df(X)

映射J\mathcal{J}被称为由ff引导的共形结构。(一些人可能更喜欢称J\mathcal{J}几乎复结构或者线性复结构,但是对于曲面所有的这些思想基本是一致的。)一个黎曼曲面是带有一个复结构的曲面,即,它是一个我们知道如何去测量正切向量角度(但是可能不包括它们的长度)的曲面。

关于共形结构J\mathcal{J}需要被记得的最重要的事情,像虚数单位ii一样,没有什么奇怪的或者神秘的东西:它表示在逆时针方向的一个四分之一的旋转。并且,像前面提到的,两个四分之一的旋转得到一个翻转:

J2=id\mathcal{J}^2 = -id

其中idid表示单位元。

此时你可能会惊讶,“为什么我们要使用两个不同的符号,iiJ\mathcal{J},但是它们恰好表示同一个东西呢?”这个说法让人特别迷惑,上图的域MM看起来十分像(复)平面的一片。但是一般的,MM并不必须是平面的一片——它可能是任意一个拓扑曲面(一个球面,一个甜甜圈,等等)。并且一般的,正切向量不是复数!因此,写成iXiX不是那么能够说得通的,写成Jz\mathcal{J}z也是。但是明确的是有一个我们这里想要刻画的关系,并且这个关系由我们的好朋友Augustin Cauchy和Bernhard Riemann描述。

柯西-黎曼方程

DDG7_5

想很久以前的地图绘制员,我们的目标是参数化平面上的一个给定曲面。特别的,我们想找到一个保角的映射。我们如何能将这个条件表示得更明确呢?当然,我们知道如何去表达在曲面上90度的旋转,使用复结构J\mathcal{J}。并且我们知道如何去表达在平面上90度的旋转,使用虚数单位ii。因此,一个保角或者共形映射z:MCz:M \rightarrow \mathbb{C}对于MM上的所有正切向量XX必须满足柯西-黎曼方程

dz(JX)=idz(X)dz(\mathcal{J}X) = idz(X)

换句话说,讲一个向量旋转90度然后再将它映射到平面上,等价于将它映射到平面上然后旋转90度。为了更精准一点,zz是一个全纯(holomorphic)函数,意味着它同时保持角度和朝向不变(dz(X)×dz(JX)dz(X) \times dz(\mathcal{J}X)向平面外“刺出”)。保角但是逆转朝向的映射被称为反全纯的(antiholomorphic)。

注意到在柯西-黎曼方程中dzdz的意义和我们讨论一个浸入ffdfdf的意义没有什么不同:它告诉我们当我们从一个空间到另一个空间的时候正切向量是如何“伸长”的。实际上,和ff一样,映射zz仅仅是MM的另一个浸入——此时是到C\mathbb{C}中去而不是R3\mathbb{R}^3。柯西-黎曼的基本思想是这两个浸入应该共享相同的角度符号,就像上面的插图强调的一样。一个看这个图的方法,是去想象我们开始于一个抽象域MM,它“不知道”如何测量两个向量之间的角度。通过在三维空间中浸入MM(通过映射ff),我们继承了一般的欧式角度符号。然后我们寻找一个映射zz到复平面,它共享同样的角度符号(但是可能有不一样的长度符号!)。

黎曼曲面上的微分形式

用一半的生命知道你想要什么。然后用另一半知道怎么获得它。在这个情况下,我们知道我们想要什么:一个满足柯西-黎曼方程的映射zz。但是我们如何计算它呢?为了将这个问题和已有的计算工具连接起来,让我们用外微积分的形式重写柯西-黎曼。实际上,让我们回顾一下在曲面和它们的共形结构的上下文下微分形式的所有思想。像我们将要看到的一样,这种思考方式可以得到一些漂亮的简单几何表示。

重新想想我们对实值微分形式的几何解释:一个k-型测量一些k维的体积(长度、面积等等)。一个需要注意的事情是在n流形上没有n+1维体积可以测量。比如,我们不能在一个曲线上测量2维面积——仅仅只能是1维长度。同样地,我们不能在曲面上测量3维体积——仅仅只能是1维长度和2维面积。由于这些原因,曲面上的微分形式变得非常容易理解:

  • 0-型看起来像标量函数
  • 1-型看起来像向量场
  • 2-型看起来像标量乘面积

然后这个列表就结束了!没有3-型(或者4-型、5-型)需要去考虑的。(一个更代数的方法去说服你自己面对这个现实是去考虑楔形积的反对称性:αβ=βα\alpha \wedge \beta = - \beta \wedge \alpha。当你使用超过两个基1-型进行楔形积的时候会发生什么?)

在曲面上Hodge星也非常容易解释。回想Hodge星背后的基本思想:在n维中,我们可以通过一个完全的(n-k)维子空间确定任意一个k维线性子空间。比如,我们可以通过两个基向量描述R3\mathbb{R}^3中的一个平面,或者使用一个单独的法向量。在曲面上,最有意思的情况可能是1-型的Hodge星。粗略地说,任意一个1-型α\alpha都可以由一个等长的正交1-型α\star \alpha确定:

DDG7_6

看起来很熟悉?至少在曲面上,此时可以清晰的是1-型上的Hodge星和共形结构J\mathcal{J}关系比较紧密。更准确一点,如果α\alpha是一个曲面上的1-型,那么对于一个正切向量场XX我们可以定义一个1-型Hodge星:

α(X):=α(JX)\star \alpha (X) \coloneqq \alpha (\mathcal{J}X)

换句话说,将α\star\alpha应用到向量XX上等价于将α\alpha应用到旋转后的矩阵JX\mathcal{J}X上。2-型上的Hodge星也可以使用共形结构解释。特别的,让ω\omega是曲面MM上任意一个2-型,让XX是任意一个单位向量场。那么我们有:

ω:=ω(X,JX)\star \omega \coloneqq \omega(X, \mathcal{J}X)

换句话说,通过使用我们的2-型去测量面积,我们可以确定一个与之关联的“尺度因子”,它就是曲面上的一个标量函数(即,0-型)。

注意到这里我们已经使用了特别的约定:有两个相等的且相对的方向垂直于α\alpha,并且我们也可以简单的使用约定α(X)=α(JX)\star \alpha(X) = -\alpha(\mathcal{J}X)(很多作者都是这样做的!)一个需要提及的重要的事情是这个选择会如何影响我们对内积的表示。(下面有个练习说这个,没有翻译)

贯穿上下文我们都将使用之前的约定(α(X):=α(JX)\star \alpha(X) \coloneqq \alpha(\mathcal{J}X)),并且将使用两条竖线\| \cdot \|表示对应的范数,即

α=:=α,α\| \alpha \| =\coloneqq \sqrt{\langle\langle \alpha, \alpha \rangle\rangle }

复微分形式 一般地,一个k-型是一个从k个向量到一个标量的多线性映射。然而,一个“标量”不一定是一个实数。比如,当我们看着面积向量,我们将映射f:MR3f:M \rightarrow \mathbb{R}^3看作一个R3\mathbb{R}^3值的0-型,并且它的微分df:TMR3df:TM \rightarrow \mathbb{R}^3是一个R3\mathbb{R}^3值的1-型。同样的,我们也可以讨论复值的k-型,即函数将k个向量映射得到一个复数。在复数的设定中,很难将k-型解释为测量k维体积的对象(什么是“复”体积?),但是我们仍然保留同样的代数性质(多线性、反对称等等)。我们也有一些新的工具。

就像我们可以共轭复数,我们也可以共轭复值1-型。就像我们所期望的,这个操作简单地翻转了虚部:

(αˉ)(X):=(α(X))(\bar{\alpha})(X) \coloneqq \overline{(\alpha(X))}

类似地,我们可以定义(αβ)(X,Υ):=(αβ(X,Υ))(\overline{\alpha \wedge \beta})(X, \Upsilon) \coloneqq \overline{(\alpha \wedge \beta(X, \Upsilon))},其中αβ=αˉβˉ\overline{\alpha \wedge \beta} = \bar{\alpha} \wedge \bar{\beta}(为什么?)

共形参数化

到目前为止我们有了所有我们需要的工具去描述我们共形参数化的算法了。记得我们想找到一个映射z:MCz:M \rightarrow \mathbb{C}对于所有的正切向量XX满足柯西-黎曼方程

dz(JX)=idz(X)dz(\mathcal{J}X) = idz(X)

如果我们将dzdz解释为复值1-型,我们可以将这个关系重写为

dz=idz\star dz = idz

注意到这个声明的几何意义不会改变:映射dz\star dz在将它映射到平面上之前将它的参数旋转90度;idzidz在将它映射到平面之后再旋转向量90度。最终,角度保持不变。我们可以测量映射的衰退变成共形的,通过测量等式坐标和等式右边整个的区别:

EC(z):=14dzidz2E_C(z) \coloneqq \frac{1}{4} \| \star dz - idz \|^2

等式E(z)E(z)被称为共形能量。为了计算一个共形映射,我们仅仅需要在合适的约束下求解一个简单的凸二次最优化问题

minzEC(z)\min_z E_C(z)

然而,首先我们将使用熟悉的对象(比如拉普拉斯)重写能量——这个方案将使它在离散设定中尤其容易设置和求解我们的最优化问题。

很好。所以计算一个共形映射我们只需要知道如何离散化拉普拉斯Δ\Delta(我们早就在泊松方程中学过了)和带符号的面积A\mathcal{A}。然而,让我们换个角度看看我们的最优化问题——原来我们说我们想求解

minzdzidz2\min_z \| \star dz - idz \|^2

这个公式有一个明显的问题,任意一个常量映射z(p)z0Cz(p) \equiv z_0 \in \mathbb{C}都是一个全局的最优解。换句话说,如果我们将整个曲面MM映射到一个复平面上的点z0z_0那么共形能力就是0。(为什么?因为导数dzdz在所有位置都为0!)凭直觉我们可以想象我们正试图拉伸一个小的弹性材料片(像一小片橡胶球)覆盖平面的一个大区域。如果我们不固定这个小片在足够的位置,它将会很简单的坍塌为一个点:

DDG7_7

我们因此需要增加一些其它的约束去让解更“有趣”。但是我们应该使用哪个约束呢?如果我们使用太少的约束,解可能仍然会看起来很无趣——比如,如果我们仅仅固定我们的弹性片到一个点上,它可能仍然会坍塌到这个点周围。如果我们使用特别多的约束,可能会导致完全误解——换句话说,可能没有完美的共形映射(dz=idz\star dz = idz)同时满足所有我们提出的约束。为了更好的理解这个情况,让我们换个角度看看调和函数并且它们如何与全纯映射相关的。

另一种调研调和函数和全纯函数之间关系的方法是考虑我们的最优化问题

minzEC(z)=12Δz,zA(z)\min_z E_C(z) = \frac{1}{2} \langle\langle \Delta z, z\rangle\rangle - \mathcal{A}(z)

它的最优解看起来是什么样?为了让问题更容易分析一点,让我们想象映射zz被规定沿着M\partial M,即我们“固定”所有沿着边界的点。从我们在顶点法线的讨论中,你可以会回想起此时符号面积也固定了,由于它可以被解释为一个边界积分。换句话说,如果我们固定了边界那么A(z)\mathcal{A}(z)对于所有的映射zz给出了同样的常量,并且我们只需要考虑最小化Dirichlet能量ED(z)=12Δz,zE_D(z) = \frac{1}{2}\langle\langle \Delta z, z \rangle\rangle的映射。特别的,由于EDE_D是正的且是二次的,它在他的梯度消失的时候取得最小,即无论哪里

Δz=0\Delta z = 0

结论:在固定边界条件下共形能量的最优解是调和的。它同时是纯的吗?换句话说,它保角吗?很难过的说,不:尽管每一个共形映射都是调和的,但不是每一个调和映射都是共形的。

DDG7_8

从一个实际的透视,这个观测意味着我们不能只随意地固定我们的橡胶片并且希望得到最好的结果——一般的,一个调和映射将不会保持角度不变(就像上面描绘的,我们固定边界到一个给定的矩形)。转变一下,让我们考虑如下的最优化问题:

minzEC(z)s.t.z=1,z,1=0\begin{aligned} \min_z & E_C(z) \\ s.t. & \| z \| = 1, \\ & \langle\langle z, \mathbb{1} \rangle\rangle = 0 \end{aligned}

其中1\mathbb{1}表示常函数z(p)1z(p) \equiv 1,即函数在每一个点都等于“1”。这些约束在几何上意味着什么呢?假设AA是曲面f(M)f(M)的整个面积。那么第二个约束等价为

1AMzdA=0\frac{1}{A} \intop_M zdA = 0

即解的平均值为0。等价于:解必须以原点为中心。第一个约束保证了解不会坍塌到原点附近,即为了让范数非0,必须至少有一个非零点z(p)0z(p) \neq 0。同时,这些条件是我们能要求的最“薄弱”的事情:我们不知道我们希望我们的映射去哪里,但是我们确定不希望它坍塌!

最后一节是关于最优化求解的,省略。