Tessellation(密铺/镶嵌/平面填充)或称细分曲面(subdivision surface),是指用一些较小的表面填满(tiling)一个较大的表面而不留任何空隙。在数学上,Tessellation 可以推广到更高的维度,称为空间填充。

A wall sculpture in Leeuwarden celebrating the artistic tessellations of M. C. Escher

在几何学中,两块相邻 tiles 的边界叫做 edge,三个或更多 tiles 的交点叫做 vertex。平面密铺分为规则和不规则两种,规则镶嵌即重复组合一种或多种不同的图形,具有周期性的重复模式。由正多边形组成的可以分为正镶嵌、半正镶嵌(Demiregular Tessellation)和不均匀半正镶嵌和复合多边形镶嵌等种类。

通过两个或多个凸规则多边形对平面进行细分,使得相同顺序的相同多边形围绕每个多边形顶点称为半规则 Tessellation,或者有时称为阿基米德曲面细分:

生成式艺术和算法创作05-Tessellation_计算机图形学

有 14 个单向 Tessellation 是三个常规和八个半规则镶嵌的有序组合:

生成式艺术和算法创作05-Tessellation_计算机图形学_02

有规律的填充形成的图案,可分为 17 组。你没有看错,是总共只有 17 组,详细的介绍请见 Wallpaper group,感觉有必要单开一篇来专门研究。

缺乏重复图案的密铺称为非周期平铺(Non-periodic/Aperiodic)。非周期平铺使用一些较小的表面来填满一个较大的表面而不留任何空隙,但由于每一片的形状皆不相同,以致无法形成重复图案。

另外,也存在非欧几里得空间的密铺,如正七边形镶嵌、七阶三角形镶嵌等。

在三维成像中也会使用 Tessellation 快速生成 3D 成像的小三角形。可以使用 GPU 通过 Programmable Tessellator 实现细分曲面,使得渲染对象的表面和边缘更平滑,物件呈现更为精细。

(写到这里只有一个感受:需要完全重修几何学和计算机图形学……)