
女士们,先生们,老小 爷们儿们!在下张大少。
我们直观地探讨了对称差集集运算应用于简朴平面区域的对称排列。快速算法执行这一操作的区域由多边形曲线被普遍 使用,使其成为一个适用 工具的数学艺术。
荟萃的对称差
给定两个荟萃A和B,它们的对称差集A⊕B包罗恰恰 属于给定荟萃之一的所有元素。更正式的说法是:A⊕B=(A∪B)−(A∩B)。这个简朴的运算是交流和团结 的,因此它可以绝不迷糊 地应用于任何有限荟萃。一样平常 来说,一个元素属于A1⊕A2⊕···⊕An ,若是 它属于Ai[3]的奇数。两组、三组和四组对称差集的维恩图如图1所示。
图1:两个、三个和四个荟萃的对称差集的维恩图。
渲染大量平面区域的对称差集的重大 性可以通过将每个区域想象成半透明的圆盘来说明。随着层的增添 ,重叠区域会变暗,而且每个子区域会凭证 其所属的层的数目 而变暗。以2为模镌汰 这些层数获得对称差集,其中1体现某个点属于对称差集,0体现它不属于对称差集。参见图2。
图2:左图:七个半透明的圆盘。中央 :七个圆盘的对称差集。右:Mathematica的对称差集算子应用于七个盘形区域。
盘算
虽然矢量图形法式笼罩半透明区域很简朴,但识别困绕特定阴影的每个连通子区域的界线 曲线则完全是另一回事。这正是有用 盘算对称差集所需要的。盘算对称差集的算法的最新希望 (例如参见[1,2])已经发生了快速、结实的软件。Matlab、Mathematica、OpenSCAD和大多数CAD法式现在可以盘算离散化平面区域(即由一条或多条多边形曲线困绕的区域)的对称差集。
图2中最右边的图像展示了Mathematica的对称差集运算符怎样 盘算七个圆盘的对称差集。首先,每个圆盘用一个有几百条边的多边形来近似。显示了组成磁盘界线 的多边形路径上的极点。然后,该算法盘算两条路径的一对边相交的每个点,并将这些点添加到极点荟萃中。最后,实心区域泛起在对称的差异被三角化以填充它们。
图2:左侧:7个半透明圆盘。中:七个圆盘的对称差集。右图:适用于七个圆盘状区域的数学对称差运算符。
布尔荟萃运算盘算算法的创新一直是由应用法式驱动的。例如,在熔融沉积建模中,在3D打印之前对模子 举行 切片会将模子 剖析为水平层。每一层都是一个平面区域,其轮廓是挤出机的刀具路径。两个相邻层中区域的差异体现印刷品的部门将不被支持 --在印刷品的这一部门下面将有没有质料的突出部门。切片软件越来越多地使用这些区域差异来自动标志这些潜在的问题区域。另一个应用法式使用海洋照片来模拟冰盖。对称差集异可以用来突出冰盖随时间转变 的区域[2]。
对称的对称差集
我们对对称差集的兴趣不是由这样的现实 应用驱动的,而是由当应用于简朴形状的对称排列——对称对称差集时运算所固有的几何美感和重大 性所驱动的。例如,图3显示了五个等边三角形排列的对称差集,每个等边三角形是通过围绕一个公共点旋转2π/5而从下一个三角形获得的。由此发生的图形的错综重大 掩饰 了其结构的简朴性。
图3:五个等边三角形的对称差集。五个三角形中的一个画在右边;其他的是通过围绕指示点旋转2π/5的倍数获得的。
虽然,我们可以将任何图形的副本匀称 地排列在一个圆圈周围,并取它们的对称差集。好比说,让我们把图3所示的整个五三角形结构复制三个副本,每个副本都是通过围绕一个公共点旋转2π/3而从下一个副本获得的。这三个荟萃的对称差集现实 上就是3×5=15个相同的等边三角形的特定排列的对称差集。这是关联性的直接效果 。图4显示了旋转中央 三种差异选择下的万花筒效果。
图4:每幅图显示了15个相一律 边三角形的对称差集。图3中的结构的三个副本通过2π/3旋转,具有三个差异的旋转中央 。
图5显示了图3中10个副本的结构围绕一个公共点旋转的对称差集,使其成为50个相一律 边三角形排列的对称差集。
图5:左:50个相同的等边三角形的对称性差异。图3中的结构围绕一个公共点旋转了2π/10的倍数。右图。中央 的特写。
建设简朴图形的对称排列的另一种要领始于参数曲线,例如图6中央 所示的七叶次摆线。该曲线的区域被匀称 地分成许多小的子区间。然后将正方形的中央 放在曲线上由支解确定的每个点上,这样正方形的一条对角线与曲线相切。然后我们取所有这些方块的对称差集。
图6:63个正方形(左)和28个正方形(右)的对称差集。正方形的中央 位于七瓣曲线(中央 )上,一条对角线与曲线相切。
我们选择沿着曲线放置63个正方形来发生图6中左边的图像,而使用28个正方形来发生右边的图像。这些选择,加上每个方块的巨细,纯粹是审美的。用于这些图像的正方形的巨细显示在中央面板中。注重 7 × 9 = 63,左边曲线的每个波瓣有9个方块。右边曲线的每个波瓣有4个方块。每当正方形的总数是7的倍数时,将在曲线上离其中央 最远的每个点上放置一个正方形;若是 正方形的总数是7的偶数倍,那么也将在曲线上最靠近 其中央 的7个点上准确 地放置一个正方形(图6的中央 显示了每种正方形的示例)。因此,放置在每个波瓣上的正方形数目 的均等对所得图像的中央 区域具有有形的视觉效果。
总结和结论
简朴形状的简朴排列,当透过对称差集算子视察时,可以展现 重大 的对称性和惊人的图案。我们的示例仅说明晰 使用该工具建设图像的无数可能性中的几种。对称差集运算的快速、结实和准确 实现使其使用比以往任何时间 都更容易。
参考文献
[1] M. Gaspar. “A procedure for computing the symmetric difference of regions defined by polygonal curves.” Journal of Symbolic Computation, vol. 61–62, 2014, pp. 53–65.
https://www.sciencedirect.com/science/article/pii/S0747717113001272.
[2] F. Martínez, A. J. Rueda, and F. R. Feito. “A new algorithm for computing Boolean operations on polygons.” Computers & Geosciences, vol. 35, no. 6, 2009, pp. 1177–1185.
https://www.sciencedirect.com/science/article/pii/S0098300408002793.
[3] C. Woo. “Symmetric difference on a finite number of sets.” Planet Math, 2013.
https://planetmath.org/symmetricdifferenceonafinitenumberofsets.
青山不改,绿水长流,在下告退。
转发随意,转载请联系张大少本尊。

