女士們,先生們,老少爺們兒們!在下張大少。
前文回顧:
數(shù)學(xué)家Frank A. Farris的對(duì)稱(chēng)藝術(shù)盛宴
何為飾帶對(duì)稱(chēng)群?7種畫(huà)花邊的方法
裝飾藝術(shù)中的反對(duì)稱(chēng)與模塊化:黑白陰陽(yáng)之妙趣
古代薩珊波斯王朝灰泥裝飾中的實(shí)用幾何學(xué)研究
錫耶納大教堂大理石地面上飾帶圖案的重復(fù)和多穩(wěn)定感知類(lèi)型
英國(guó)切德沃斯羅馬別墅內(nèi)的馬賽克圖案幾何分析
哥特教堂唯美玫瑰花窗的暴力幾何解構(gòu)——阿波羅尼斯墊圓
基督教堂、清真寺、猶太會(huì)堂和寺廟中的數(shù)學(xué)
震驚!印第安原始部落手工藝品用數(shù)學(xué)對(duì)稱(chēng)性蒙騙游客,你可敢信?
黑人大叔的數(shù)學(xué)創(chuàng)想——非洲藝術(shù)品中的幾何學(xué)
設(shè)計(jì)課程中的結(jié)構(gòu)與形式
我們直觀地探討了對(duì)稱(chēng)差集集運(yùn)算應(yīng)用于簡(jiǎn)單平面區(qū)域的對(duì)稱(chēng)排列??焖偎惴▓?zhí)行這一操作的區(qū)域由多邊形曲線被廣泛使用,使其成為一個(gè)實(shí)用工具的數(shù)學(xué)藝術(shù)。
集合的對(duì)稱(chēng)差
給定兩個(gè)集合A和B,它們的對(duì)稱(chēng)差集A⊕B包含恰好屬于給定集合之一的所有元素。更正式的說(shuō)法是:A⊕B=(A∪B)?(A∩B)。這個(gè)簡(jiǎn)單的運(yùn)算是交換和結(jié)合的,因此它可以毫不含糊地應(yīng)用于任何有限集合。一般來(lái)說(shuō),一個(gè)元素屬于A1⊕A2⊕···⊕An ,如果它屬于Ai[3]的奇數(shù)。兩組、三組和四組對(duì)稱(chēng)差集的維恩圖如圖1所示。
圖1:兩個(gè)、三個(gè)和四個(gè)集合的對(duì)稱(chēng)差集的維恩圖。
渲染大量平面區(qū)域的對(duì)稱(chēng)差集的復(fù)雜性可以通過(guò)將每個(gè)區(qū)域想象成半透明的圓盤(pán)來(lái)說(shuō)明。隨著層的增加,重疊區(qū)域會(huì)變暗,并且每個(gè)子區(qū)域會(huì)根據(jù)其所屬的層的數(shù)量而變暗。以2為模減少這些層數(shù)得到對(duì)稱(chēng)差集,其中1表示某個(gè)點(diǎn)屬于對(duì)稱(chēng)差集,0表示它不屬于對(duì)稱(chēng)差集。參見(jiàn)圖2。
圖2:左圖:七個(gè)半透明的圓盤(pán)。中間:七個(gè)圓盤(pán)的對(duì)稱(chēng)差集。右:Mathematica的對(duì)稱(chēng)差集算子應(yīng)用于七個(gè)盤(pán)形區(qū)域。
計(jì)算
雖然矢量圖形程序覆蓋半透明區(qū)域很簡(jiǎn)單,但識(shí)別包圍特定陰影的每個(gè)連通子區(qū)域的邊界曲線則完全是另一回事。這正是有效計(jì)算對(duì)稱(chēng)差集所需要的。計(jì)算對(duì)稱(chēng)差集的算法的最新進(jìn)展(例如參見(jiàn)[1,2])已經(jīng)產(chǎn)生了快速、健壯的軟件。Matlab、Mathematica、OpenSCAD和大多數(shù)CAD程序現(xiàn)在可以計(jì)算離散化平面區(qū)域(即由一條或多條多邊形曲線包圍的區(qū)域)的對(duì)稱(chēng)差集。
圖2中最右邊的圖像展示了Mathematica的對(duì)稱(chēng)差集運(yùn)算符如何計(jì)算七個(gè)圓盤(pán)的對(duì)稱(chēng)差集。首先,每個(gè)圓盤(pán)用一個(gè)有幾百條邊的多邊形來(lái)近似。顯示了構(gòu)成磁盤(pán)邊界的多邊形路徑上的頂點(diǎn)。然后,該算法計(jì)算兩條路徑的一對(duì)邊相交的每個(gè)點(diǎn),并將這些點(diǎn)添加到頂點(diǎn)集合中。最后,實(shí)心區(qū)域出現(xiàn)在對(duì)稱(chēng)的差異被三角化以填充它們。
圖2:左側(cè):7個(gè)半透明圓盤(pán)。中:七個(gè)圓盤(pán)的對(duì)稱(chēng)差集。右圖:適用于七個(gè)圓盤(pán)狀區(qū)域的數(shù)學(xué)對(duì)稱(chēng)差運(yùn)算符。
布爾集合運(yùn)算計(jì)算算法的創(chuàng)新一直是由應(yīng)用程序驅(qū)動(dòng)的。例如,在熔融沉積建模中,在3D打印之前對(duì)模型進(jìn)行切片會(huì)將模型分解為水平層。每一層都是一個(gè)平面區(qū)域,其輪廓是擠出機(jī)的刀具路徑。兩個(gè)相鄰層中區(qū)域的差異表示印刷品的部分將不被支撐--在印刷品的這一部分下面將有沒(méi)有材料的突出部分。切片軟件越來(lái)越多地使用這些區(qū)域差異來(lái)自動(dòng)標(biāo)記這些潛在的問(wèn)題區(qū)域。另一個(gè)應(yīng)用程序使用海洋照片來(lái)模擬冰蓋。對(duì)稱(chēng)差集異可以用來(lái)突出冰蓋隨時(shí)間變化的區(qū)域[2]。
對(duì)稱(chēng)的對(duì)稱(chēng)差集
我們對(duì)對(duì)稱(chēng)差集的興趣不是由這樣的實(shí)際應(yīng)用驅(qū)動(dòng)的,而是由當(dāng)應(yīng)用于簡(jiǎn)單形狀的對(duì)稱(chēng)排列——對(duì)稱(chēng)對(duì)稱(chēng)差集時(shí)運(yùn)算所固有的幾何美感和復(fù)雜性所驅(qū)動(dòng)的。例如,圖3顯示了五個(gè)等邊三角形排列的對(duì)稱(chēng)差集,每個(gè)等邊三角形是通過(guò)圍繞一個(gè)公共點(diǎn)旋轉(zhuǎn)2π/5而從下一個(gè)三角形獲得的。由此產(chǎn)生的圖形的錯(cuò)綜復(fù)雜掩蓋了其構(gòu)造的簡(jiǎn)單性。
圖3:五個(gè)等邊三角形的對(duì)稱(chēng)差集。五個(gè)三角形中的一個(gè)畫(huà)在右邊;其他的是通過(guò)圍繞指示點(diǎn)旋轉(zhuǎn)2π/5的倍數(shù)獲得的。
當(dāng)然,我們可以將任何圖形的副本均勻地排列在一個(gè)圓圈周?chē)?,并取它們的?duì)稱(chēng)差集。比如說(shuō),讓我們把圖3所示的整個(gè)五三角形結(jié)構(gòu)復(fù)制三個(gè)副本,每個(gè)副本都是通過(guò)圍繞一個(gè)公共點(diǎn)旋轉(zhuǎn)2π/3而從下一個(gè)副本獲得的。這三個(gè)集合的對(duì)稱(chēng)差集實(shí)際上就是3×5=15個(gè)相同的等邊三角形的特定排列的對(duì)稱(chēng)差集。這是關(guān)聯(lián)性的直接結(jié)果。圖4顯示了旋轉(zhuǎn)中心三種不同選擇下的萬(wàn)花筒效果。
圖4:每幅圖顯示了15個(gè)相同等邊三角形的對(duì)稱(chēng)差集。圖3中的結(jié)構(gòu)的三個(gè)副本通過(guò)2π/3旋轉(zhuǎn),具有三個(gè)不同的旋轉(zhuǎn)中心。
圖5顯示了圖3中10個(gè)副本的結(jié)構(gòu)圍繞一個(gè)公共點(diǎn)旋轉(zhuǎn)的對(duì)稱(chēng)差集,使其成為50個(gè)相同等邊三角形排列的對(duì)稱(chēng)差集。
圖5:左:50個(gè)相同的等邊三角形的對(duì)稱(chēng)性差異。圖3中的結(jié)構(gòu)圍繞一個(gè)公共點(diǎn)旋轉(zhuǎn)了2π/10的倍數(shù)。右圖。中心的特寫(xiě)。
創(chuàng)建簡(jiǎn)單圖形的對(duì)稱(chēng)排列的另一種方法始于參數(shù)曲線,例如圖6中間所示的七葉次擺線。該曲線的區(qū)域被均勻地分成許多小的子區(qū)間。然后將正方形的中心放在曲線上由分割確定的每個(gè)點(diǎn)上,這樣正方形的一條對(duì)角線與曲線相切。然后我們?nèi)∷羞@些方塊的對(duì)稱(chēng)差集。
圖6:63個(gè)正方形(左)和28個(gè)正方形(右)的對(duì)稱(chēng)差集。正方形的中心位于七瓣曲線(中間)上,一條對(duì)角線與曲線相切。
我們選擇沿著曲線放置63個(gè)正方形來(lái)產(chǎn)生圖6中左邊的圖像,而使用28個(gè)正方形來(lái)產(chǎn)生右邊的圖像。這些選擇,加上每個(gè)方塊的大小,純粹是審美的。用于這些圖像的正方形的大小顯示在中央面板中。注意7 × 9 = 63,左邊曲線的每個(gè)波瓣有9個(gè)方塊。右邊曲線的每個(gè)波瓣有4個(gè)方塊。每當(dāng)正方形的總數(shù)是7的倍數(shù)時(shí),將在曲線上離其中心最遠(yuǎn)的每個(gè)點(diǎn)上放置一個(gè)正方形;如果正方形的總數(shù)是7的偶數(shù)倍,那么也將在曲線上最接近其中心的7個(gè)點(diǎn)上精確地放置一個(gè)正方形(圖6的中心顯示了每種正方形的示例)。因此,放置在每個(gè)波瓣上的正方形數(shù)量的均等對(duì)所得圖像的中心區(qū)域具有有形的視覺(jué)效果。
總結(jié)和結(jié)論
簡(jiǎn)單形狀的簡(jiǎn)單排列,當(dāng)透過(guò)對(duì)稱(chēng)差集算子觀察時(shí),可以揭示復(fù)雜的對(duì)稱(chēng)性和驚人的圖案。我們的示例僅說(shuō)明了使用該工具創(chuàng)建圖像的無(wú)數(shù)可能性中的幾種。對(duì)稱(chēng)差集運(yùn)算的快速、健壯和精確實(shí)現(xiàn)使其使用比以往任何時(shí)候都更容易。
參考文獻(xiàn)
[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.
青山不改,綠水長(zhǎng)流,在下告退。
轉(zhuǎn)發(fā)隨意,轉(zhuǎn)載請(qǐng)聯(lián)系張大少本尊,聯(lián)系方式請(qǐng)見(jiàn)公眾號(hào)底部菜單欄。
聯(lián)系客服