在一张由三角形拼成的网里选一个点,从那里向外望,近处的边总挡在远处的边前面。如果每个顶点只能沿着你望向它的方向前后挪动,能不能让所有方向上的远近次序一起颠倒,让脚下的小三角形变成整张网的外边界?格物的研究员在一篇数学论文中给出的答案是:对于满足一定位置条件的这类网格,总能找到这样的新画法。难点在于,每个三角形单独翻过来,还不保证它们拼在一起时不会互相覆盖。

两张晶面般的三角网格并列,橙色小三角形的边成为右图的外边界,青色外边界则收进中心。
封面:同一张六顶点网格的两种画法。橙色轮廓从中心来到外围,青色轮廓从外围来到中心;同一个顶点始终处于从各图白点出发的同一方向。分面与光泽为艺术处理,两幅图不表示连续运动的中间过程。

什么东西真的翻了过来

在数学里,网格首先是一份连接清单:哪些点之间有边。这份清单并不规定点画在哪里。同样的连接关系,换一组坐标,可能仍是一张平整的网,也可能变成一团相互穿插的线段。

这里研究的网格有明确的规则。它由有限多个顶点和直线段组成,边只在共有端点相遇,每个有界区域都是三角形,最外围的边界也是三角形。边界之外那片一直伸向无穷远的区域,叫作“外面”。论文考虑至少四个顶点的情形,并在某个有界三角形内部选定原点;任意两个顶点都不能与原点落在同一直线上。这个位置条件也排除了两个顶点位于同一射线或相反射线的情形。

为了追踪变化,可以给每个顶点贴一个不会脱落的名字。重新画图时,名字不换,连接清单不改,每个点只能沿原点穿过自己的那条射线改变距离,而且不能越过原点。边则始终用新的两端点之间的直线段表示。

这样的限制把一个随意重绘的问题变成了几何问题:只剩下远近可以调,是否仍足以协调全部三角形?它检验的是,方向信息会不会给一张本来能平整画出的连接网,添加某种无法克服的障碍。

“里外颠倒”的要求尤其强。原来围住原点的那个小面,必须成为新图的外面;原外面的三条边,则要围住新图的原点。更进一步,从原点沿任何方向出发,遇到的边都必须按原来的倒序出现。

同一个六顶点网格上下排列。沿向右的射线,上图依次遇到甲、乙、丙,下图依次遇到丙、乙、甲;各顶点的射线方向保持一致。
图一:空心点 OO 是原点,细虚线标出顶点所在方向,粗箭头是同一条观察射线。原图的橙色中心面在新图成为橙色外面,青色外面则成为青色中心面。甲、乙、丙始终标记同三条边,两图采用相同坐标尺度。这是为说明概念构造并核验的例子,普遍结论来自论文证明。

这也不是把纸翻个面就能做到的事。纸张翻面时,近的地方依旧可以很近;这里却要求从原点看出去的每一条路线,都把原先的前后关系倒过来。

2025 年的一份计算几何研讨会报告中,Jeff Erickson 和 Birgit Vogtenhuber 明确提出了这个问题。报告已给出判断一张网格是否存在这种画法的代数途径,却仍追问:是不是每一张符合条件的网格都有解?新论文《Universal Radial Eversion of Planar Triangulations》给出了肯定证明。原始问题,报告第 5.3 节

把距离的难题改写成高度的难题

一个诱人的办法是,把每个点离原点的距离取倒数。远点来到近处,近点跑到远处,似乎正合题意。但几何学中通常的圆反演会把许多直线变成圆弧,不符合直边要求;如果只把顶点反演,再重新连直线,也不能因此保证整张网格合法。

要让每个局部都符合要求,先得知道“三角形翻了”到底是什么意思。给一个三角形的三个顶点规定次序,沿这个次序绕一圈,可以是顺时针,也可以是逆时针。目标图中,除原中心面和原外面以外,每个面的这一方向都要反过来。

三角形的方向可以用带正负号的面积判断。直接用各点的移动距离来计算,不同顶点的缩放量会相乘,条件不好处理。但将“新位置相对旧位置放大多少”的倒数作为未知数后,方向条件就变成了线性不等式:每个未知数乘以一个固定系数,再相加,要求结果严格落在零的一侧。原始问题的代数方法已经利用了这种倒数表示。格物的研究员要进一步回答的是,所有面的要求为什么总能同时满足。

关键在于,这些要求并不是彼此独立的。沿一条穿过顶点的射线走,抵达顶点前和离开顶点后,各有一个紧邻的面;原中心面和外面则处在两端。利用这些前后关系,格物的研究员把普通三角面分成两组,分别组织它们的线性条件。

随后出现了一个将整张网联系起来的恒等式。把各面的几何系数按特定权重组合,共享边两侧的项恰好抵消;绕着一个顶点排列的其余项,也能首尾相消。论文由此建立两组约束之间的精确关系,再借助其中的非负系数关系构造一组数值:先让一组普通面的条件取零,另一组则已落在所需的一侧或边界上。最后一次足够小的统一调整,把普通面的条件全部推向严格满足的一侧。

“严格”很重要。若只允许等于零,有些三角形就可能压成一条线;这样的图不能算成功。

不过,这里还藏着一个不能跳过的缺口。即使每个面都具有正确方向,也不能立即断言整张网没有重叠。局部朝向描述的是每个小面怎样放置;远处两个面是否盖在一起,却是全局问题。

为跨过这个缺口,格物的研究员把求得的数值取负,解释成三维中的高度:保持每个顶点的水平坐标,给它另添一个竖直坐标。这些数值还不一定全为正,因而尚不能直接当作合法的距离倒数。此时,每个面的朝向仍由高度的线性组合控制。构造能够保证所有面满足指定朝向,并让原中心面的三个顶点都位于水平面下方。其余顶点是否也在下方,尚未得到保证。接下来,球面会把这个遗漏的全局事实一并补上。

为什么要数两个极点

先暂时只看网格的连接关系,把无界的外面也看成一块沿外边界封上的三角面。这样整张网在拓扑上就是一个球面。拿掉原中心面的内部,剩下的部分便像一张带三角形边界的圆盘。

现在以三维原点为球心画一个单位球,将添好高度的顶点沿从球心出发的方向放到球面上。直边对应球面上的短大圆弧——例如地球上两点间最短航线所走的那类弧。每个三角面也被送到球面上的一个小三角区域。

代数条件在这里有了几何意义:保留下来的每个小面,都保持着圆盘上原有的绕行方向,没有哪一块单独反向。这称为保持定向。被删去的原中心面则负责给出边界。由于它的三个顶点都在下方,边界围出的那个小球面三角区域完全位于南半球,并把南极包在里面。

希望中的结果是,其余各面刚好铺满这个区域一次。然而,只知道边界绕了一圈,还不足以排除一种情况:网格在里面铺了两层,在外面又铺了一层,两侧依然只差一层。每个小面的方向都对,也不自动排除这种额外包裹。

论文用一个“计数”来检查它。在球面上选一个不落在网格边上的点,数一数有多少个小面的内部覆盖它;一般的有向计数还要考虑正负,但这里每个小面都按同一定向放置,每一次覆盖都贡献正的一次,没有正负抵消。这个计数是拓扑学中“映射度”的具体表现。

在边界圈的同一侧,移动观察点,计数保持不变。越过一条内部边时,相邻两面共用的边界相互抵消,不会凭空多出一层覆盖。只有越过整个圆盘的边界,计数才可能改变。因此,只要在圈内、圈外各找一个可靠的点,就能确定两片区域的覆盖数。

这两个点正是南极和北极。

透明球面上,一张由短大圆弧组成的三角网铺在南半球的橙色边界内,北极标为零次覆盖,南极标为一次覆盖。
图二:橙色曲线是原中心面留下的边界,其余各面恰好铺满它围出的南侧区域。南极的一次覆盖来自原外面对应的三角面,北极没有覆盖。这两个计数确定了边界两侧的覆盖情况。图用图一的六点例展示论文中的球面构造;球面作透明示意,较深虚线表示背面的网格弧,浅细虚线只是经纬参考线。投影视图中的遮挡不表示球面上相交。

为什么偏偏极点容易数?一个球面小三角形要覆盖某个极点,它原先在平面上的三个顶点就必须把原点围住。在原图的各个面中,只有中心面的三角形和外边界的三角形能做到这一点。前者已被拿掉,只剩下后者。三维朝向的符号进一步确定,后者覆盖的是南极,而非北极,而且恰好覆盖一次。

于是,边界外面和北极一样,覆盖数为零;里面和南极一样,覆盖数为一。因为每次覆盖都是正的,外面不可能藏着互相抵消的面,里面也不可能悄悄多铺一层。

这个计数先解决了面内部的重叠。要保证边和顶点也不出问题,论文还检查了拼接处:共享边两侧的三角形落在不同侧;围绕顶点的面若多绕了一圈,就会让附近的点出现多次覆盖,与计数为一矛盾。这样,整个圆盘才能被确认是一一对应地铺在球面三角区域内。

到这一步,全局结论终于成立:所有顶点都被限制在南半球,先前没有保证的那些高度,也必定全在水平面下方。

回到原来的射线

从球心把这张南半球网格投影到下方的水平面,大圆弧会变回直线段。这种中心投影在南半球内是一一对应的,球面上已被排除的交叉不会在平面上重新出现。

这个操作也解释了为何顶点方向能够保留。将投影平面设在高度负一处,记第 ii 个顶点原有的二维坐标向量为 uiu_i,其构造出的竖直高度为 −hi-h_i。由于已经证明 hi>0h_i>0,新坐标就是

pi′=uihi. p'_i=\frac{u_i}{h_i}.

这里 pi′p'_i 是新图的顶点坐标。除以一个正数,只会改变离原点的距离,不会转动方向,也不会把点送到原点另一边。原中心面成为外面,原外面则成为围住原点的面。

还需要解释,为什么这会让所有射线上的边全部倒序,而不只是完成内外互换。

首先,一条边会被哪些射线遇到,只取决于两端点的方向。两端点在各自的正射线上伸缩,这组方向不会改变。因此,同一条观察射线在新旧两图中遇到的,仍是同一批带着原来名字的边。

在原图中,一条不穿过顶点的射线从中心面出发,每越过一条边,就进入下一个相邻三角面,最后走进外面。三角形是凸的,一条射线不可能离开它后又重新进入,所以这些面组成一条没有回头的路径。新图沿同一批边穿行,却从原外面开始,到原中心面结束。它走的正是原路径的反方向,边的顺序因而完整倒转。

如果射线恰好穿过顶点,多条相接的边会在同一位置被同时遇到,谁先谁后没有意义。论文把它们合成一组,只倒转各组之间的先后,组内不强加次序。轻微转动射线、再取极限的论证,保证这种特殊方向也包含在定理里。

需要分清的是,找到两个合法画法,并不等于能在平面上连续、无退化地从一个滑到另一个。一个三角形若连续地从逆时针变成顺时针,中间就得经过三个顶点共线的时刻。论文所说的翻转,保证的是目标画法的存在。

原始问题与球面网格的研究相连:球面上没有天然的外面,如何在保留经线方向等约束时重新安排网格,是理解其几何自由度的一部分。Erickson 与 Christian Howard 的相关工作研究了球面网格沿经线移动等问题。怎样高效地构造更一般的球面网格连续变形,仍是相关文献讨论的问题;回答它还需控制全部中间状态与计算代价,不能仅凭这里的合法终点。相关球面研究

这项证明改变的,是对固定方向限制的判断。在论文所研究的三角网格中,方向虽然把每个顶点束缚在一条射线上,却没有锁死哪一个面必须留在外围。每条射线看见的前后关系,都能在另一幅不交叉的直边画法中倒过来;保证这种协调的,是各面之间的代数联系,以及整张网只能覆盖一次的全局约束。


研究依据:《Universal Radial Eversion of Planar Triangulations》,重点为定理 1.3、命题 2.2、引理 2.3。所供版本署名为匿名投稿;本文不另行推定其发表或评议状态。插图为作者原创程序绘制,正文图是说明性构造,并非实验数据。