龙空技术网

利用编程算法,看清雪花的“真面目”

三联生活周刊 80015

前言:

当前你们对“雪花算法的问题”大致比较讲究,你们都需要学习一些“雪花算法的问题”的相关内容。那么小编也在网络上汇集了一些有关“雪花算法的问题””的相关文章,希望大家能喜欢,我们快快来了解一下吧!

浪漫的雪花、理性的雪花

提到雪,你会想到什么,脚印、古都、恋人,还是红泥小火炉?

没错,在惯常思维中,我们对雪充满了浪漫想象,雪是与美划等号的。日本作家川端康成写过一本名叫《雪国》的小说,讲述了舞蹈家岛村在遍地大雪的雪国温泉与单纯的艺妓驹子发生的爱情故事。这本小说,将雪所蕴含的虚无之美、洁净之美与悲哀之美展现得淋漓尽致。

△ 雪花对我们来说既熟悉又陌生

可是,在感性认知以外,我们是否可以试试从另外一个角度来看待雪之美呢?相信许多人都有这样的经历,当你想努力观察落在自己手上的雪花时,还来不及看清它就已经已经融化了。因此,雪很常见,可雪花的真实面目,以及它的形成过程又很神秘。

不过好在,有位叫孙略的艺术家,用他的方式带我们重新认识了雪花。孙略曾给不少朋友看过这样一组图片:

△ 不同的雪花照片

在展示完这组照片之后,孙略还会给朋友们出一道选择题。

(单选题)“雪花工场”所使用的技术是:

A 某种显微摄影技术

B 精湛的手绘技术

C 特殊的电脑动画技术

D 神秘的编程算法

猜猜看,答案是什么呢?随后我们会公布正确答案。

……

……

……

……

……

……

正确答案是D!这是一种通过神秘的编程算法,所制造出的雪花影像。在面对这道选择题时,孙略的大多数朋友都猜错了,这似乎能证明孙略独门绝技的高妙。

其实,这组图片,来源于孙略的艺术项目“雪花工场”。“雪花工场”通过计算机算法,模拟了在自然中,一片雪花形成的全过程,从而批量生产雪花。雪花在孙略眼中,并不像在我们眼中一样充满浪漫主义色彩,反而闪烁出了科技的光辉。他因此为我们提供了一种重新认识雪花的方式。

△ “雪花工场”生产的雪花

孙略曾是一位地地道道的工科男,大学和研究生期间,他在清华大学接受了7年的理工训练。可随后,在家庭熏陶和个人兴趣的联合作用下,孙略选择前往北京电影学院读博,并且毕业后留校任教,方向是“影像技术”。

先理后文的教育经历,让孙略拥有了一套异于普通人的脑回路,电影学院的教育和教学经验,让孙略对美、对艺术相当敏感,而早先的理工训练,又让他可以用极端理性的思维解读艺术与美。用孙略自己的话说,他愈来愈觉得自己像个“杂种”,搞不清自己到底是属于哪一个部分。而也有一些人说,孙略是“披着艺术的外衣搞科学研究”。

△ 孙略 《静止的电影》

的确,他平时经常鼓弄一些技术,搞出一些有意思的影像,他曾做过一个系列作品,是将一整部电影影像中出现的所有像素,都浓缩进了一幅画面,他将这一系列的作品命名为《静止的电影》。孙略总是可以在我们习以为常的事情之外出其不意地另辟蹊径。诸如此类的作品孙略做过不少,而《雪花工场》就是其中之一。

从自然,到程序

粗看上去,孙略的雪花并没有什么稀奇,与我们印象中的雪花别无二致,不过《雪花工场》的迷人之处还真不在于最后形成的影像,而在于制造影像的过程。《雪花工场》最初的灵感来源,是孙略看到的一份来自美国的科学报告。这份科学报告的作者,是一位著名的晶体学家,也是一位专注研究雪花的“闲人”。通过多年的研究,他为雪花的生成构造出了一套物理模型,为了方便人们的记忆,他粗略地把雪花的形状分成了八大类。

星状(Stellar Dendrites)

齿状(Fernlike Stellar Dendrites)

柱状与针状(Columns and Needles)

帽状(Capped Columns)

钻石状 (Diamond Dust Crystals)

三瓣雪花(Triangular Crystals)

十二瓣雪花(Twelve-branched Snowflakes)

霜冻雪花(Rimed Snowflakes)

以上是最粗糙的八大分类,实际上研究雪花的人很多,分类也各式各样,最少的分八种,最多的上百种,美国科学家的另一种分类是35种。

除了为雪花的形状分类,美国科学家还还原了自然环境中,雪花形成的真实过程,这个过程的复杂程度,远远超出了我们的想象,甚至可以说,每一篇雪花的形成,都像宇宙一样复杂。

在受到美国科学家的启发后,孙略决定将雪花在大自然中形成的过程,用电脑程序的算法模拟出来,用科技还原自然。

如何“克隆”自然

就像人类至今不能治疗感冒一样,自然界中任何不起眼的小东西,都远比我们想象的复杂。因此,用算法还原雪花的形成过程也像一场艰难的“苦难行军”,不过如果化繁为简的话,制造雪花大致分为这样几步:

第一步:设定晶核

首先,每一朵雪花的形成,都需要一个晶核,绝大多数时候,晶核是空气中的微小灰尘。因此,孙略要在程序中设定一个原点代表晶核。

第二步:设定湿度

在晶核确定后,水蒸气会在晶核周围逐渐凝结,形成雪花。因此孙略要在程序中设定一个初始湿度数值,当晶核周围的水分子浓度越高时,雪花结晶的速度越快,由于雪花在生长过程中不断吸收周围的水蒸气,而且吸收的速度不一,从而造成雪花周围的水蒸气分布的不均匀,一般越是雪花枝叉尖端的地方水分子浓度越高,所以这些地方长的越快,更容易产生分叉。

△ 雪花的生长过程

第三步:设定温度

在雪花形成的过程中,相比起湿度,温度的影响更为复杂得多。实际上,温度对雪花形态的影响人类目前还尚未搞清,我们只是知道温度的影响效果很大,但具体是如何影响的,还没有人能真正说清。所以,孙略也只能将温度设定为另一个数值,温度与湿度的随机性,导致了雪花最终呈现效果的不同,就像人们常说的:世界上没有一朵雪花是一模一样的。

△ 影响雪花生长的因素

第四步:凝结与融化

在孙略设计算法的过程中,除了要考虑雪花凝结的过程,还要考虑雪花融化的过程。在真实世界中,雪花生长是凝结和融化同时发生的,只要凝结速度大于融化速度,雪花就能不断长大,把融化过程考虑进去,雪花看上去会更加真实。

为此,孙略通过编程为电子雪花设计了一个不断循环的过程,简而言之,就是:雪花结晶——周围水蒸汽浓度下降——雪花融化——周围水蒸汽浓度上升。

△ 雪花在边融化边凝结

就这样,在经过一整套仿佛流水线一样的作业后,孙略的雪花就这样一片一片地诞生了。

理工男的浪漫

孙略的雪花粗看上去,就像精微相机镜头下的摄影作品,但仔细观察,还是会发现一些数字化的、不够真实的痕迹,这是因为,即使是世界上运算能力最强的计算机,依旧无法承载一朵雪花形成过程中的全部计算量。“所以我现在只能做到模拟,而做不到完全还原,这就是雪花看起来不足够真实的原因。”孙略自己这样解释到。

无论如何,孙略的雪花已经足够“仿真”了,我们可以在图片中,看到雪花表面像陆地和山峰一样的起伏与凹凸,在看过孙略的雪花前,我一直觉得雪花仅仅是一个如同剪纸般的二维花朵,但孙略的“雪花工厂”告诉我,雪花其实是立体的,就像一个完全对称,泾渭分明的异形飞船。如果为孙略的雪花做一个纵向切片,你能看到山脉与它在水中的倒影。

△ 高低起伏的雪花

当你专注地观察孙略的雪花时,会被其深深吸引,每朵雪花都有着太多的变化,只要你一直观察,就总能发觉此前没有发现过的有趣细节,那些奇妙的凸起、分叉、弯曲……每朵雪花都像一个宝藏,每朵雪花都像宇宙一样浪漫。这是自然的力量,也是算法的力量。毫无疑问,孙略成功地颠覆了我们对雪花的认知。

△ 艺术家孙略

在科学家那里,这些雪花的成长只是一些结构框架,而孙略却将它变得真实,变成美。在《三体》中,将死的云天明,用一笔意外之财购买了恒星DX3906,匿名送给大学时代暗恋的同学程心,随后决定将自己安乐死。人们说这是刘慈欣的“理工男的浪漫”,孙略对雪花的执着,同样具有这种“直男浪漫主义”色彩。

△ 多样的雪花形态

孙略的《雪化工场》是一个相当有趣的项目。它的有趣之处首先用算法代替了自然,并让我们看到,即使雪花是那样渺小,甚至用肉眼都无法看清,但它形成的过程是那样宏大、复杂。更重要的是,孙略为我们提供了另一种理解世界、理解自然的方式,在感性的想象之外,理想的逻辑思考也能成为一种美感,也能充满温度。最高级的有趣,就是通过打破常规而形成的张力,而这种张力又被表现得如此精美绝伦。

策划:三联.CREATIVE

作者:morlee

微信编辑/设计排版:李雨旋

⊙文章版权归《三联生活周刊》所有,欢迎转发到朋友圈,转载请联系后台。

标签: #雪花算法的问题