导语


在20世纪90年代初,算法数学艺术只是数学研究中的可视化辅助工具。渐渐地,图像的复杂性和艺术性成为了人们追求的目标。本文是对算法数学艺术的介绍和综述,介绍了算法数学艺术的11个分支,以及当前的进展,编译自数学家Xah Lee的个人网站。

风流张大少 | 作者

宇宙文明带路党 | 来源




目录:

1. 几何曲面

2. 三维或三维以上的规则立体

3. 平面曲线

4. 平面几何与处理

5. L-系统,海龟图形

6. 函数的图像

7. 镶嵌图案

8. IFS(迭代函数系统)分形

9. 更高维度

10. 进化编程(Evolutionary Programing)

11. 埃舍尔的数学艺术


原文标题:

Algorithmic Mathematical Art

原文地址:

http://xahlee.info/math/algorithmic_math_art.html



什么是算法数学艺术


如果视觉艺术品吸引数学家,且图形本身编码了一种数学结构,那它就是算法数学艺术作品,比如M . C .埃舍尔的镶嵌作品是数学艺术,但他的其他一些作品如《莫比乌斯带上的红蚁》、《魔镜》、《日与夜》、《生与降》等都是阐述数学思想的艺术作品,而不是本文讨论的数学艺术。


如果一件视觉艺术作品是递归的、对称的,或者体现了一个数学公式(如曲线和曲面),那么它就是算法数学艺术。例如,埃舍尔的《蝴蝶》、《漩涡》,以及他的镶嵌作品都是算法数学艺术。本文所有插图都是算法数学艺术作品。算法艺术表现出递归或对称性(包括准对称性,如彭罗斯镶嵌)。然而,由计算机程序生成的艺术品不一定是算法的。例如,光线追踪的计算机生成的场景,或者经过数字修饰的分形艺术作品,都不能认为是算法艺术。


在20世纪90年代初,算法数学艺术只是数学研究中的可视化辅助工具。渐渐地,图像的复杂性和艺术性成为了人们追求的目标。


算法数学作品中的算法

 

算法艺术作品未必由计算机程序生成。埃舍尔的作品就不是由计算机程序生成的。计算机生成的算法艺术品也可能并不通过算法生成。此处,“算法生成”是指一个程序,它提取了艺术品中固有的算法本质。例如,今天的许多镶嵌图案艺术品都是由计算机程序生成的,但是这些程序是在特殊的、逐个案例的基础上编写的,包括调整以匹配所需输出的绘图命令。虽然是由程序生成的,但创作的本质是人工的。我们真正想要的是一种形式的程序,它体现、捕捉或提取艺术品的算法本质,通过递归或对称代码作为可执行的规范。算法艺术品的美在于其内在的算法模式或对称之美,其创作过程也应如此。当实现了这一点,并且抓住了它的算法本质,我们就可以通过改变参数或输入,创造出大量的变化。这并不意味着结果会是相似的,我们从混沌理论中就可以知道。通过算法过程生成算法数学艺术可以比作通过递归指定一个序列,或者通过生成器和关系指定一个组,或者通过方程或细胞自动机模拟一个物理现象。这是一种对优雅的追求,抓住了本质,我们对关系就能有更精确的洞察。


以下是算法数学艺术的11个分支,以及当前的进展。





1. 几何曲面




方程Sin[x*y]+Sin[y*z]+Sin[z*x]=0的图像


黎曼曲面,作者:Richard Palais


用于视觉艺术目的的任意3D表面的绘图还没有被深入研究。例外的是一些特殊数学曲面的可视化,特别是在微分几何中。(例如,最小曲面http://virtualmathmuseum.org/Surface/gallery_m.html)


到今天为止, 我们还很少知道含有3个变量的方程的曲面的模样。含有超过3个变量的方程可以被投影或分割到3维空间中,这是完全未被探索的。





2. 三维或三维以上的规则立体




由五边形环组成的十二面体,作者Michael Trott (http://www.graphica.com/gallery/)


在二维中,我们有正多边形,如正方形、五边形和六边形。在三维中则称为正多面体。比如,立方体,八面体,二十面体。任何维度中此类对象的通用名称都称为多面体。


多面体作为艺术主题已经被广泛探索,可以追溯到希腊时代,以及不同的文化,经常作为玩具、雕塑、纸模(折纸)或悬挂装饰展出。在现代,多面体也被表现为建筑元素。(例如:迪士尼的测地线穹顶,伊甸园计划的半球体等)



纸模型规则多面体,作者Robert Webb

(图片来源http://www.software3d.com/FedSquare.php)


星形多面体形状的伊斯兰灯。

(2013年,摄于拉斯维加斯阿拉丁酒店度假村入口处)


计算机模型作为视觉艺术已经非常流行。但大部分都是对数学对象的直接渲染,几乎没有艺术价值。常见的是用最新的光线跟踪计算机图形技术渲染的多面体,带有一些星形或截角。高度艺术化的多面体的算法探索几乎不存在。上文中Michael Trott的图片是一个十二面体呈现为相连的五边形环,是一种基本的艺术探索。


对于一些算法艺术探索的例子,我们可以系统地研究如何通过环的链接来呈现空间。例如对于中心对称的十二面体,通过一些巧妙的连接,就可以把这些连接延伸到无限远,从而用这些连接填充整个空间,并且可以制作剖视图以产生艺术图像。或者,可以将多边形管子的半径做得更大,这样管子的每个多边形“边”都是一个大的平面区域,可以在上面刻画迷宫。或者,可以用球体代替环。十二面体周围的球的着色可以被系统地利用,所以导致不同的球群的对称性组不同。想象一个由不同颜色的球群组成的三维空间,表现出微妙的不同对称群,就像一个精心制作的复杂的瓷砖作品一样。或者,想象一下用正多面体均匀平铺的三维空间,其中一些墙壁是敞开的,从而形成一个三维迷宫。如果做得好,这将是一个极好的剖视图或半透明视图。在电子游戏中实现的步行穿越也有很大的潜力。立方体的固体堆叠被称为Polycube(polymino的三维版本)。实体块雕塑与其他正多面体基本未被探索。块状的连通四面体特别有趣。


以下是多面体的一些例子:


1.Sandor Kabai创造了许多奇妙的算法数学艺术,其中许多是以正多面体为主题的。

他的作品请见:http://www.kabai.hu/

2.Rob的多面体模型,作者,Robert Webb。

网址:http://www.software3d.com/MyModels.php

3.Ulrich Mikloweit的多面体的美丽复杂的物理模型。

http://www.polyedergarten.de/e_polyseite1.htm (如果能在电脑上用算法生成这些模型就更好了。)

4.Russell Towle的多面体研究

http://xahlee.info/math/russel_tower.html

5.超空间多面体剖分器Java小程序(2000),作者Mark Newbold。

http://dogfeathers.com/java/hyperslice.html

6多维空间恒星多面体剖分器(2000), 作者:Mark Newbold。

http://dogfeathers.com/java/hyperstar.html





3. 平面曲线




火爆”,曲线方程Sin[x*Sin[y]]-Cos[y*Cos[x]]=0的图像


密度图版本。(三角表达式的密度图)


以视觉艺术为目的的二维图形还没有得到太多的探索。超过4次的代数曲线几乎没有被探索过。我们可以创建一个程序,系统地按次数或类型生成和绘制所有可能的方程,包括非代数方程。


在建筑或室内装饰中,几乎所有的装饰元素都以几何为基础,其中大部分以曲线为基础。以曲线为基础的传统艺术的例子有:穹顶、拱门、拱顶(以圆弧为基础)、涡线(如柱子或小提琴上的卷轴,以各种螺旋线为基础)、花饰(以科纽螺线、连锁螺线为基础)、万花尺(以玫瑰花、内外旋轮线为基础)


基于曲线的艺术作品的方法可以包括:切线、包络线、焦散线(弦艺术);密切圆与反演、渐屈线/渐开线、垂足曲线、平行曲线、追逐曲线。





4. 平面几何与处理




‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

圆的嵌套反演,嵌套的圆可以产生许多美学形象。


球面上的圆在平面上的立体投影。 作者:Viktor Massalogin


圆的嵌套反演。 作者:William Gilbert


莫比乌斯变换生成的圆,作者:Ed Pegg Jr.


基于几何过程的传统艺术作品包括相切圆(阿波洛尼乌斯圆),应用于网格或规则镶嵌的各种平面变换(线性、仿射、射影、几何反演、莫比斯变换、立体投影……)


带有星形图案的壁纸图案,切割成菱形轮廓,然后应用鱼眼透镜变换。


以下是几个传统几何变换了例子:











5. L-系统,海龟图形




“蘑菇三角形”,由递归替换生成


雪花,由递归替换生成。作者:Michael McGuire


“风车镶嵌”:对直角三角形进行递归剖分


澳大利亚墨尔本联邦广场


L系统是一个递归符号序列替换系统,最初是为了模拟植物生长而设计的。它通常用于通过将符号序列解释为绘图命令或几何对象来生成自相似图像。海龟图形来自编程语言Logo,它通过指定方向和笔的上下来控制笔的运动。


L-System和海龟图形在程序员中很流行,然而,并没有对这些方法的视觉艺术可能性进行认真的研究。常见的有数学中著名的平面填充曲线、植物生长模型,或为儿童设计的简单对称的图案。其中很少有独具匠心的。


以下是几个二维L系统,作者:Robert M Dickau








6. 函数的图像




数学中的许多函数都可以用绘图的方式直观地表现出来。对于曲线和曲面,绘图方案很简单。往往只是在二维网格或三维网格上,用标记的轴作为坐标。如向量值函数、复值函数,数学家开发了其他方案来可视化这些函数。以下是一些例子。


作者:Linas Vepstas


复值函数 (z-2)^2(z+1-2*i)(z+2+2*i)/z^3 

作者:Hans Lundmark





7. 镶嵌图案





 


传统的凯尔特图案,作者:Alastair Luke。


着色是为了便于观察而加上的。事实上,中央的十字架及其圆形的末端都是由一根线组成的。我只是在不同的部分用了不同的颜色,否则就是单一的颜色。


凯尔特绳结图案的主要吸引力在于几何设计,但拓扑方面(“扭结”)在数学上也很有趣。人们可以研究传统的凯尔特绳结设计,看看它们是真的结,还是多少股的线,以及他们是如何打结的。我不知道这一点有没有人研究过。对算法结/编织图案代的系统研究很少。(B Grunbaum和G C Shephard对编织进行过系统的数学研究)


 



摘自的《艺术家和手工艺人的伊斯兰设计》

(Islamic Designs for artists and craftspeople),Eva Wilson著

(涂色以便显示编制纹路)


一个绳结设计


一个柳条编织图案,通常见于亚洲的藤椅上。


 


 


不同文化有许多不同的图案设计。特别是凯尔特绳结和伊斯兰几何镶嵌图案特别有数学韵味。虽然世界上和历史上现存的图案数量很多,但就数学或算法分类而言,种类并不多。鉴于这些艺术图案是由工匠们在文化上发展起来的,而不是平面对称性的数学分析或系统算法探索的结果,这就不足为奇了。


对于平面图案,从上个世纪开始就知道有17种对称性。(请参考Branko Grünbaum等人的论文,Symmetry in Moorish and Other Ornaments,1986)并不是所有的类型都能在阿尔罕布拉宫中找到,这与大众的看法相反。使在今天,对镶嵌图案的数学理解也相对较差。它基本上是一个未被探索的领域。对编织的数学分析几乎完全没有接触过。(编织,作为凯尔特绳结和伊斯兰图案的数学内容。在拓扑结构上,它可以被认为是扭结和辫子,也可以看作是具有几何布局的带有标记节点和边的某种均匀的格子网络。)


彭罗斯镶嵌


彭罗斯镶嵌是一种非周期镶嵌。彭罗斯镶嵌的发现是数学和晶体学上的一个突破,影响很大(比如材料科学)。非周期镶嵌的美感在于其有序性是微妙的。这种类型的美在过去未曾见到。


一种镶嵌图案,作者:Olaf Delgado Friedrichs


双曲面镶嵌,作者:hsaka


双曲面半规则镶嵌


现代数学知识为装饰设计增加了令人难以置信的新可能性。对对称的数学理解,非周期镶嵌的发现,以及基于双曲几何的设计,在以前都是不可能的。


几何框架中的绳结,

http://knotplot.com/





8. IFS(迭代函数系统)分形




寻根算法图。牛顿分形。作者:Ben Haller


迭代过程的图,作者:Ben Haller


分形是数学对象的图形。它们最初是数学过程的视觉辅助。从本质上讲,平面上的每一个点都是根据(x,y)在递归带入方程时的表现而着色的。


分形,由于其花哨怪异的本质,在计算机艺术家中极受欢迎,即使是那些对数学或计算机科学不感兴趣的人也不例外。分形作为一种视觉艺术,已经被广泛地探索,网络上有大量的作品。


分形作为一种视觉艺术形式的探索在一定程度上受到了限制。艺术创作仅限于编造方程和着色方案。有些人已经开始将计算机生成的分形与人工操作相结合,比如混合数字修改的照片。这样的艺术品不再是算法或数学。





9. 更高维度




随着我们对高维空间的理解,它为算法艺术打开了一扇巨大的大门,主要手法是将更高维度的物体投影或切割到三维空间或平面的过程。


非欧几何学、高维几何学、拓扑学在世界上只有少数数学家理解。(也许有几千人,如果是专业数学领域的人士,可能更少。)因此,通过对它们的理解来进行艺术创作基本上是不存在的。本页所讨论的几乎所有观点都可以在更高维度和或非欧几里得空间中进行思考。在更高维度上,有一些全新的概念在低维度上是不存在的。(可定向性、嵌入性、各向同性等)随着数学和技术的发展,我们可能会看到更多的视觉艺术在高维度上的探索。


例如,创建镶嵌图案的一个想法是切开一些高维流形的规则网格。此外,我们可能会问,是否有可能通过视觉展示来编码一些高维流形属性。(例如,我们可以通过展示矩形网格的前后图像来说明反转的角度不变特性。我们也可以通过线性变换和仿射变换应用到网格上时的样子来展示它们。我们可以通过阴影来显示投影变换和圆锥截面的特性。想象一下大教堂里美丽的彩色玻璃。)我们可以通过动画展示同胚或连续变换,尤其是在镶嵌上。我们可以根据曲面的曲率给曲面着色,沿常曲率线绘制网格线,并显示曲率不变性,如螺旋曲面,悬链曲面族。


高维正多面体的三维切割,作者:Mark Newbold


三维流形的可视化,作者:Jeff Weeks





10. 进化编程(Evolutionary Programing)




进化编程是一种新兴的生成视觉艺术的方法。这种方法通常作为遗传编程,由人类仲裁者来判断适者生存。然而,20世纪90年代至今所做的大多数研究,往往以抽象的“艺术”为借口,是对眼睛的侮辱。它们不是数学。


细胞自动机的一个例子,

摘自《一种新的科学》(A New Kind of Science),S.Wolfram著


细胞自动机也可以用于数学视觉艺术。例如,Stephen Wolfram的《一种新的科学》(A New Kind of Science)一书中就包含了许多赏心悦目的细胞自动机图像,尽管并不是以视觉艺术为明确目的。


例如,人们经常引用海贝上的图案就是细胞自动机的结果(下图)。这是一个将细胞自动机用于非数学艺术的例子。



然而,细胞自动机可能被用于数学艺术。例如,考虑到各种各样的海贝形状。(下图)有些贝壳有角、尖刺和肋骨。有些是长的,有些是扁的,还有许多类型的整体螺旋结构。贝壳是从软体动物分泌的钙沉积物中生长出来的,经过多年的进化,出现了许多不同的形状。因此,可以想象,可以用遗传程序建立一个三维细胞自动机来模拟进化过程,从而获得许多贝壳形状,作为数学螺旋曲面的纯艺术。







11. 埃舍尔的数学艺术




埃舍尔(M C Escher,1898-1972)是荷兰艺术家,他的作品以数学主题为主,其中很多是纯算法的艺术。不过,埃舍尔是一位传统艺术家,他的算法艺术是手工完成的,并不是计算机程序来完成,也没有明确的算法规范。


从算法到视觉图像很容易,但是给定一个算法作品,很难以精确的可运行程序的形式提取算法。埃舍尔的以下两幅作品说明了这一点:



埃舍尔的《蝴蝶》显然是纯算法作品。然而,要把其中的算法提取出来,并把它变成一个程序并非易事。从最简单的角度来看,应该能够从半只蝴蝶开始,然后递归地应用算法得到最终的图像。需要注意的是,蝴蝶的翅膀是以相互交错的圆圈的方式着色的,这必须以某种方式编码到算法中。有不同的算法方法。人们可以通过像海龟图形那样描述笔的路径,或者像L系统那样通过递归替换来实现。也许最不有趣的方法是通过一些数学模型的映射过程,比如双曲几何上的旋转对称镶嵌。一旦得到一种算法,人们应该能够将其应用于各种图案,或者调整参数以获得不同的效果。



埃舍尔的《漩涡》。这幅画也是算法艺术。一条条一模一样的鱼,缠绕成一个双螺旋。要用算法生成这个图像,可以从一只鱼开始,通过反射和滑移反射得到一串鱼,然后使用一个函数将条带映射成螺旋,再通过镜像得到另一个螺旋。(或者使用将条带映射成这样的双螺旋的函数。)找到这个函数可能并不容易。也许一个更优雅但更难的方法用递归描述它,这将更好地处理每个螺旋中心的奇点。



埃舍尔的《变形》。基于算法的镶嵌变形是一种特殊的算法数学艺术。侯世达(Douglas Hofstadter)对此颇有研究。



埃舍尔的另一幅算法数学艺术作品《蛇》。它由不同大小的相互连接的圆圈组成的编织,在一个圆圈内有特定的几何布局。蛇的形象仅仅是为艺术品增添情趣的装饰品。

要用算法生成这个作品,需要对扭结进行编码。(即当两个圆相交时,哪一个在上面。)还需要对几何布局进行编码,即圆的位置和大小。注意,圆在靠近中心的地方变小,但在靠近边缘的地方也会变小。这种大小变化不是线性的。另外请注意,圆圈有3种不同的颜色。当它们向边缘扩散时,着色基本上是循环往复的。另外,每个圆环都薄厚不一,窄的一边要么朝向中心,要么朝向边缘。


相关链接与文献:

以下是一些从事算法艺术、数学艺术或其艺术作品与数学密切相关的人的名单:


·Michael Trott从20世纪90年代初就开始用Mathematica探索数学艺术。著有《Mathematica Guidebook》,他的作品请见http://www.mathematicaguidebooks.org/gallery/

·Sandor Kabai创造了许多奇妙的算法数学艺术。他是这方面卓有成果的人之一。他的作品请见 http://www.kabai.hu/

·Hop David,一位创作了许多创造性数学插图的传统艺术家,他的作品请见http://clowder.net/hop/index.html

·Craig S Kaplan,一位计算几何专家,做了许多镶嵌图案方面艺术品 http://www.cgl.uwaterloo.ca/~csk/phd/

·侯世达,他最出名的作品是《哥德尔、埃舍尔、巴赫:集异璧之大成》。他一直对人工智能及其与艺术的关系感兴趣。他在《科学美国人》上发表了一篇关于镶嵌变形的文章。我不知道他是否像这里讨论的那样做了很多艺术品。

·Ed Pegg Jr’s,数学家,mathpuzzle.com网站的创建者。该网站包含大量高质量的数学插图。但大多都不是通过编程完成的,而是简单的插画,但也有艺术性的。例如他的镶嵌作品 http://www.mathpuzzle.com/Mitre2.html


下面是一份书单:


·《镶嵌与图案》(Tiling and Patterns),1987年,作者 B Grunbaum 和G C Shephard,关于这个主题的最权威和信息最丰富的作品。

·《一种新科学》(A New Kind Of Science),2002年,作者Stephen Wolfram,讲述了细胞自动机之美。

·《贝壳的算法之美》(The Algorithmic Beauty of Sea Shells),作者Hans Meinhardt, Przemyslaw Prusinkiewicz, Deborah R Fowler,还有一本关于植物的类似书籍《植物的算法之美》(The Algorithmic Beauty of Plants)。

·《对称的形象》,1990年,作者Doris Schattschneider,一本关于埃舍尔镶嵌作品的画册,非常精美。


以下是几本关于伊斯兰几何图案的书:


·《从伊斯法罕到泰姬陵的伊斯兰艺术和建筑》(Islamic Art and Architecture from Isfahan to Taj Mahal),2002年,作者Thames and Hudson

·《伊斯兰艺术》(The Art of Islam ),1992年,作者Nurhan Atasoy, Afif Bahnassi, Michael Rogers,主要是带说明的照片,包括建筑和墙壁装饰。

·《伊斯兰的辉煌:建筑、装饰和设计》(Splendors of Islam “Architecture, Decorations and design”),2000年,作者Dominique Clevenot, Gerard Degeorge。书中有大量伊斯兰建筑和装饰的精美照片。

·《伊斯兰艺术与建筑1250-1800》(The Art and Architecture of Islam 1250 to 1800),作者Sheila S Blair, Jonathan M Bloom。一本画册,里面有很多文字和照片。

·《伊斯兰艺术》(Islamic arts),作者Sheila S Blair, Jonathan M Bloom。这本不是画册,是学术性书籍,以文字为主,书中附有精美的图片。

·《伊斯兰几何图案的对称性》(Symmetries of Islamic Geometrical Patterns),1995年,作者Syed Jan Abas, Amer Shaker Salman。包含了大约250种伊斯兰对称图案的黑白图案。


青山不改,绿水长流,在下告退。



复杂科学最新论文


集智斑图顶刊论文速递栏目上线以来,持续收录来自Nature、Science等顶刊的最新论文,追踪复杂系统、网络科学、计算社会科学等领域的前沿进展。现在正式推出订阅功能,每周通过微信服务号「集智斑图」推送论文信息。扫描下方二维码即可一键订阅:



推荐阅读


点击“阅读原文”,追踪复杂科学顶刊论文