1978年,年轻的计算机专家洛伦·卡彭特(Loren Carpenter)首次将分形的思想融入进了计算机技术,通过对最基本的几何图形三角形的不断分形迭代,描绘出了山脉模型,这可以说是分形几何学和计算机科学的初次相识。1982年,在电影《星际迷航2可汗之怒》(Star Trek 2 The Wrath of Khan)中,年轻的分形几何学、年轻的计算机图形学(Computer Graphics,即CG)和电影艺术这三者初次走到了一起。影片中出现过一个一分钟左右的三维CG动画片段,计算机分形绘景技术在这里显示出惊艳无比的视觉效果。
二十世纪九十年代,随着计算机技术的飞速发展,电影中的CG技术日趋成熟,分形数字绘景技术也开始大量应用于3D动画和电影特效制作,使得数字造景的真实度不断提升。从《星球大战前传》(1999、2002、2005)三部曲中的星球地表、到《玩具总动员》(Toy Story,1995)中的树丛林木、再到《爱丽丝梦游仙境》(Alice in Wonderland,2010)中的梦幻森林,分形数字绘景逐渐成为模拟自然景物的主流特效手法。近些年,分形数字绘景技术更加成熟,《阿凡达》(Avatar,2009)中美丽的潘多拉星球、《冰雪奇缘》(Frozen,2013)中的烂漫雪花、《奇幻森林》(The Jungle Book,2016)中的丛林世界,其背后都隐藏着分形数字绘景技术的鬼斧神工。
《冰雪奇缘》中各种炫美的场景,其背后是分形几何学的运用
一、从模拟山脉到创造星球表面
在古典数学的影响下,人们习惯于认为几何学的研究对象都具有完美光滑的形状,而且都极度规则。在大自然中有许多我们早已司空见惯的事物,如山川、树木、云朵等,因其看上去外形粗糙杂乱,迟迟无法被人们很好地用图形来描述。分形几何学的出现,可以说拨开了自然界不规则的迷雾。大到雄伟山川,小到叶片纹理,自然界万物的形状,从其“自相似性”中,不难发现它们依然是几何图形,依然可以用数学语言来对其描述。人体的血管分布、肺部的支气管分布都可以看做是分形几何,甚至人体本身也可以看做是一个粗略的分形结构,手或脚上的五个指头和人的头和四肢这五个突出之间存在着自相似性。
葛饰北斋画的《富岳三十六景之神奈川冲浪里》,常被用作分形几何学的示图
“分形”的主要思想是截取不规则图形的一部分,当不断放大或者不断缩小时,它们看上去总是高度相似的——即“自相似性”。曼德博曾在一次演讲中这样解释分形:“如果你切开一朵花椰菜,你看到的仍然是一样的花椰菜,只是更小一点;如果不断地切,你看到的还是一样的花椰菜,只是更小一点……”几何中的分形,由他的自创方程“f(z)=z² c”来展现,方程涵盖了所有可能的朱丽叶集(the Julia set),将数集中的点用计算机绘制出来,就可以看到分形的几何标志物——曼德博集(the Mandelbrot set)。分形几何学虽然独立于主流数学之外,在诞生之后却迅速在地理、统计以及计算机等各界掀起热潮。分形的思想对于描述自然景物极有助益,丛林树木、云海山川甚至月球表面,大自然中的种种曲折和坑洼都是不规则的维度,却依旧可以用几何学的方法来进行绘制。当不规则图形可以用数学语言来描述时,原本困扰数学家多年的海岸线长度问题也就如同大厦高度那般可以精准测量。之前只能依靠规则图形才能完成的设计,逐渐也可以变得更加多样自由。分形几何学开始帮助各行各业人士冲破藩篱,拨开笼罩在“不规则图形”上的迷雾。
曼德博集(the Mandelbrot set)
二十世纪七十年代,计算机数字图形技术开始起步并迅速发展。1978年,在西雅图的波音飞机公司,年轻的计算机专家洛伦·卡彭特遇到一个难题。他需要在计算机上编程绘图来模拟飞机飞行的状态,在飞行中,飞机需要穿越于山脉上空。然而编程绘制山脉在当时是无法用计算机解决的。山脉有数以万计的小三角形或者多边形。当时的计算机处理数据极慢,即便处理100个三角形也是件麻烦事。这时,卡彭特偶遇了《分形学:形态,概率和维度》(Fractals: Form, Chance and Dimension)这本书,书中的分形思想让他大开眼界。他创造出了分形绘制山脉的算法:首先绘制出几个粗略的大三角形,然后把每个大三角形分成四个小三角形,再对每个小三角形重复分裂操作,不断迭代重复,最终,山脉粗糙的表面就成功的在计算机上显示出来了。这可以说是一次伟大的尝试,它让分形首次进入数字绘景领域,也让其他计算机绘图专家们兴奋不已。从此,计算机绘图不再局限于标准而规则的几何图形,各种参差不齐、变幻莫测的图形图案,都可以用计算机分形算法来呈现。这些数字化的山脉对于日后电影特效领域的自然造景有着非比寻常的意义,也可以说是日后分形数字绘景技术的雏形。卡彭特不久后加盟了卢卡斯影业公司,计算机分形绘图技术也随着他向电影业靠近。从此以后,分形绘景技术将在电影特效领域里大显身手。
计算机模拟山脉分形步骤图,截图来自纪录片《寻找隐藏的维度》(Hunting the Hidden D
卡彭特加入卢卡斯影业公司时,恰逢一个视觉特效组织刚刚诞生不久,这个组织就是大名鼎鼎的“工业光魔”(Industrial Light and Magic,简称ILM)。1977年上映的《星球大战》开启了计算机视觉特效的先河。几年之后,分形绘景技术在这个CG草创时代也展露了小小的一角。1982年,在卢卡斯影业公司监制的影片《星际迷航2可汗之怒》中,剧情设定存在一个名为“创世”的科学仪器,可以把一个没有生命的星球进行分子重组,让它变成一个有生命的星球。为了演示这一效果,电脑中的月球被“创世波”攻击,变成了一个有水有生命的绿色星球。进取号舰长柯克在飞船的电脑屏幕上看到了使用“创世”后月球表面的变化过程。卡彭特负责绘制飞船电脑屏幕上的整个月球地表。月球地表参差不齐并不规则,普通的几何图形无法描述,却恰恰符合分形粗糙、琐碎、不规则的特点。这一次的方法和之前绘制山脉的方法类似,通过在全景图上绘制简单的多边形,让计算机算法去迭代切割多边形,最终创造出月球地表的粗糙质感。影片中的CG效果让人眼前一亮,分形绘景技术在自然绘景方面向世人展现了其卓越的优势。
《星际迷航2可汗之怒》中,飞船电脑上显示的是正在变得有生命的月球表面
令人遗憾的是,分形与电影这一次的相遇,并没有在电影CG刚刚起步的八十年代引起更多关注。在计算机尚不普及和发达的八十年代,电影制作行业的手绘制图一直是最主流的特效办法,虽然这一办法相当低效,哪怕一个很短的卡通片可能需要上千张绘图才能连贯,而且还会牵扯到摄影机运动等诸多限制。另一方面,虽然分形数字绘景效率更高,但模拟出的画面的真实度并不高。在《星际迷航2可汗之怒》中,制作人恰恰打了一个擦边球,让这段CG影像出现在飞船电脑上,利用了飞船显示屏上的图像呈现原本较为简陋的特点,遮盖了当时分形绘图技术仿真程度不高的弊端。在当时若想追求更好的视觉特效,分形数字绘景并不是很好的选择。电影制作人普遍选择的是手工绘景的方式,用画在玻璃上的图像和实拍的素材结合在一起完成视觉特效的制作。虽然分形特效在自然绘景上有着不小的优势,但身为载体的计算机在当时还没有发展到足够便捷的程度,难以避免地导致刚刚问世的计算机分形绘景技术的仿真程度根本无法达到“以假乱真”的地步,甚至略显粗糙,也就自然很难撼动手工绘景在当时的主流地位。
昙花虽一现,却也开出了自己的姿态。《星际迷航2可汗之怒》中月球地貌的问世给了分形和电影一个契机,虽然之后近二十年二者几乎以平行状态各自发展,但再相遇时已由最初的青涩变为强强联手,为九十年代后的电影视效开启了新的大门。
电影制作人员在玻璃板上手工绘景
下回预告:
隐藏在电影和动画中的分形艺术(二):《泰坦尼克号》、《指环王》、《奇异博士》
隐藏在电影和动画中的分形艺术(三):《星球大战》、《冰雪奇缘》
,