Escher Tile Deformation via Closed-Form Solution
Industrial Light & Magic; Adobe
一句话总结
本文提出一种基于闭式解析解的实时形变方法,能在保持”可无缝密铺”(tileability)的前提下,用点控制手柄同时形变 Escher 平铺图案的边界与内部纹理,并覆盖欧氏平面上全部 17 种壁纸群。
研究背景
- 领域现状:平铺(tessellation)与 Escher 风格的互锁图案在图形学中已研究半个多世纪,既有 Escherization(找与目标形状最接近的可平铺形状)、Generative Escher Meshes(用文本驱动形变方形网格)等工作,也有 ARAP、Bounded Biharmonic Weights、Regularized Kelvinlets 等通用交互形变算法。
- 核心痛点:通用形变算法不是为”周期性”设计的,直接用来编辑平铺图案会破坏可密铺性,产生缝隙或重叠。根源在于平铺的无限重复:即使用户只放一个手柄,它也会被无限复制,而当图案含旋转、反射或滑移反射时,各副本手柄的位移方向并不一致——问题起初甚至”定义不清”。同时多数已有工具只编辑边界,忽略内部纹理。
- 本文 idea:把形变问题重述为求解一个周期性位移场 \(u:\mathbb{R}^2\to\mathbb{R}^2\),并要求它与任意对称操作可交换 \(u(g(x))=g(u(x))\)。关键做法是把平移与其余变换(旋转、反射、滑移反射)解耦,借助 orbifold(带锥点的流形)与 Bravais 格,把单个手柄位移解析地积分成满足对称约束的周期位移场。
方法
整体框架:把一个平铺基本单元看作 orbifold,其对称类型只由锥点决定。用户输入一个手柄位移向量 \(u_0\) 后,锥点与镜像线把它变换出一组”基本向量”(fundamental vectors)\(\{u_i\}\);纯平移再把每个基本向量沿格点复制成方向、大小一致的”引导场”(guidance field)。于是任意点 x 的位移就是各基本向量按权重的线性组合 \(u_x=\sum_{i=0}^{k} w_{xi}\cdot u_i\),剩下的核心问题是解析地求出权重 \(w_x\)。
flowchart LR
A[用户输入手柄与位移向量 u0] --> B[锥点与镜像线生成基本向量集]
B --> C[平移复制为引导场 沿 Bravais 格排布]
C --> D[单个晶胞内对无穷级数求闭式解 得权重 wx]
D --> E[组合各基本向量 得周期位移场 ux]
E --> F[形变平铺 保持可密铺 图像 网格 体素通用]
关键设计:
-
用衰减函数把无穷求和变成可解析的几何级数。作者给每个控制点配一个衰减函数,方形格情形形如 \(c=\dfrac{1}{2^{\sigma\vert x-n\vert +\sigma\vert y-m\vert }}\)。这样选择的原因是它的无穷求和恰是几何级数,既收敛又有闭式解,保证实时。作者特意对比说明:若取 \(c=\tfrac{1}{r}\) 会得到调和级数不收敛,若取高斯型 \(c=A\cdot e^{-\frac{(x-n)^2}{2\sigma_x^2}-\frac{(y-m)^2}{2\sigma_y^2}}\) 虽收敛却没有已知闭式解。
-
在”单个周期”内求解并用坐标折叠复用。因位移场本身是周期函数(论文称之为”无限时钟”:一处边界外凸,必有另一处内凹,例如壁虎的腿外凸伴随肚子内凹),闭式解只需在一个晶胞内求出。查询任意点时把全局坐标模到一个单位晶胞的局部坐标,例如 \((x,y)=\dfrac{\big((x_g,y_g)-(x_0,y_0)\big)\bmod L}{L}\),与 orbifold 的”折叠”思想一致——等价特征只计一次。
-
按四类 Bravais 格分别推导闭式解,覆盖全部 17 个壁纸群。由于 Mathematica 无法直接处理带绝对值的级数,作者把权重拆成若干去绝对值的分区求和(如方形格拆成 \(w_{++},w_{--},w_{+-},w_{-+}\) 四项)再合并。四类格给出各自的解析权重公式,符号推导借助 Wolfram Mathematica 完成。
-
可调衰减参数 \(\sigma\) 提供局部性控制。\(\sigma\) 越大形变越局部、越锐利;越小则影响范围越大、越全局,从而给艺术家从精细到整体的语义化调节能力。
实验结果
本文属偏理论/构造性工作,没有”方法×指标”式定量基准对比。主要验证是把实时闭式解(对整张平面做无穷求和)与较慢的数值解(对大邻域求和)并排比较,两者一致,佐证解析解的正确性;其余为定性应用展示(照片编辑、可形变动画、织物制造、体积雕刻、对称群降级等)。核心结构可概括为四类 Bravais 格对 17 个壁纸群的覆盖:
| Bravais 格 | 晶胞形状 | 覆盖的壁纸群(orbifold 记号) | 群数 |
|---|---|---|---|
| 正方格 tetragonal | 正方形 | ∗442、4∗2、442 | 3 |
| 正交格 orthorhombic | 矩形 | ∗2222、22∗、∗∗、××、22× | 5 |
| 六方格 hexagonal | 等边三角形 | 333、∗333、3∗3、632、∗632 | 5 |
| 单斜格 monoclinic | 平行四边形 | 2222、o、2∗22、∗× | 4 |
四类合计覆盖欧氏平面全部 17 个壁纸群。方法在连续域上运算,因此对图像、曲线、2D 三角网格、3D 体素等不同表示形式都适用;论文还展示了将 2D 平行四边形晶胞扩展为 3D 平行六面体晶胞,把”可密铺的牛”雕刻成”可密铺的犀牛”。
亮点与局限
- 亮点:
- 首次为”保持可密铺性的平铺形变”给出闭式解析解,无需迭代数值求解或网格离散,天然实时。
- 把平移与旋转/反射/滑移反射解耦,用 orbifold + Bravais 格统一处理全部 17 个壁纸群。
- 同时形变边界与内部纹理,把平铺当作”有纹理的形状”而非仅边界;表示无关,图像/网格/体素通用。
- 可调衰减参数 \(\sigma\) 支持从局部到全局的语义化编辑;并支持跨对称群降级(如 ∗442 →4∗2)。
- 局限:
- 极端形变下不保证映射的单射性(injectivity),可能自交;作者设想用满足弹性波方程的无散度衰减函数或 Kelvinlets 来改进。
- 对称群”降级”场景的处理尚不全面,需要枚举各壁纸群的子群并以数学证明验证降级后仍满足子群定义条件。
- 目前在平面上工作,尚未推广到 UV 参数空间与任意曲面(球面、双曲面)。
延伸思考
- 方法本质是”把无限重复的手柄贡献用可解析的级数求和”,与 Regularized/Dynamic Kelvinlets 用弹性基本解构造无网格形变一脉相承;若把衰减函数换成满足弹性波方程且无散度的核,或许能在保持闭式解的同时获得物理更自然、且单射的形变。
- 论文与 orbifold Tutte 嵌入、周期全局参数化等工作紧密相关,把它推到 UV 空间后,可望让可密铺形变作用到任意网格表面,甚至非欧域,potentially 连接”装饰艺术设计”与”曲面参数化”两条线。
- 作者指出闭式求和依赖几何级数这一巧合,暗示用 theta 函数、椭圆函数去攻克高斯型衰减的解析求和,可能拓宽可用衰减核的类别,是值得追问的数学方向。
- 对可制造互锁结构(可打包硬件、自复制机器人等)而言,”形变后仍严格无缝”这一性质可能有超出艺术之外的工程价值。