zoukankan      html  css  js  c++  java
  • Loren Carpenter与分形山脉

         《寻找隐藏的维度》(PBS NOVA Hunting the Hidden Dimension) 是一本很好看的记录片(还有高清版本),主要讲述的是分形。该片的引子谈到了Loren Carpenter与分形山脉,Loren Carpenter是一个图形学大师,我从网上、书籍还有视频资料拼凑了一段文字描述了他七十年代末颇具传奇色彩的一段往事(未完待续)。

       
         
            Loren Carpenter出生于1947年。自1966年起至1980年,就一直是在波音公司的电脑服务部门工作。1970年代初,Carpenter一边工作,一边在华盛顿大学上学。每天一大早来上班,中午去大学上课,晚上再回公司继续工作。就这样,Carpenter先是在1974年完成了大学学业,获取了数学专业的学士学位,接着在计算机科学与工程系攻读研究生,两年后取得了硕士学位。从1972年起,他开始在大学图书馆研究各种图形学论文,了解到了当时的最新进展。最后,他靠着自己的努力,进入了波音公司的电脑绘图软件开发部门。在这样的环境中,Carpenter接触到了那个时代非常先进也很昂贵的电脑绘图设备,现在很寻常的帧缓冲器,当时开价是30000美元。
        1978年,在西雅图的波音飞机公司,一群工程师们正在设计实验飞机。很奇异的设计,带有两个翅膀,或者两个尾翼,或者两个机身,不断地被尝试。当时,年轻的计算机专家Carpenter正在帮助他们做可视化辅助设计,模拟飞机在飞行中的各种状态。从工程师那儿得到数据,然后编程绘图,生成从各个角度观察的飞机图片。Carpenter想在飞机下面画出山脉,因为在波音公司的每张公开照片上,飞机下面都有一个迷人的山脉。以70年代末的技术水平,实际上还没有现成的快速方法绘制山脉。70年代末期的电脑与现在比较起来,可以说是巨慢无比,山脉由数以百万计的小三角形构成,要想生成飞机掠过山脉的动画几乎是一件不可能完成的事。正当Carpenter陷入惆怅迷惘、一筹莫展的时候,一次书店偶遇奇书不经意间改变了他的人生轨迹。从此他告别了平凡。
        Carpenter与他的妻子Rachel还有儿子住在西雅图的郊外。晚上吃过饭,他们经常会驱车开到市区,在街头散步,顺便去大学书店逛逛。有一天例行散步,在一个报刊亭翻看杂志,突然《科学美国人》这本杂志封面上的分形图片吸引了他的眼球,Mandelbrot的分形图片。当读到该期杂志中Martin Gardnerud关于这一分形专题的文章,他马上想到这种数学方法可以解决他的难题,分形可以半自动化地生成山脉。于是Carpenter赶紧去书店买了Mandelbrot的成名作《分形对象-形、机遇和维数》(1982年再版时改名为《自然分形几何》)。回到家就开始读,用了一个2到3倍的放大镜将它从头到尾浏览两遍,连那些小字也不放过,包括注脚和文献。在Mandelbrot的书中认为:自然界的各种形态都能从数学上描述为“分形”,那些看上去参差不齐、残缺的形状背后都有着数学模型。但是在仔细研读了Mandelbrot的书后,发现书中提到的方法并不实用,结果也不是很漂亮,于是他感到非常的失望。这段时间,正好卢卡斯的“星球大战”刚上映,Carpenter全家去电影院的路上等车,Carpenter在雨中整整站了四个小时。最后,好不容易终于到了电影院,发现电影院里的其他人也都湿透了。全家人都对这电影着迷了,Carpenter甚至希望将来能与卢卡斯一起工作,有朝一日他也能用电脑做出一段惊人的场景,而且最好是外星球的地形。“星球大战”这本电影给了Carpenter继续研究分形山脉的勇气和力量。Mandelbrot书中的办法也能生成山脉,不过速度非常缓慢,没有效率,需要一种在计算机上实现的快速算法。一天晚上,Carpenter注视着纸上还未解决的环节,两分钟之后灵感来了,他突然间顿悟了,脑子里有了完整的算法。自然界的闪电、山水、云彩尽管尺度上相异,细节上千差万别,但都有一致的几何描述。Carpenter决定在他的计算机上尝试生成分形山脉,他的生成方法其实出奇的简单和机械,递归分割、中点置换。他仅用了三天,就完成了代码及调试。第三天的早晨,Carpenter忽忙赶到办公室去看电脑昨晚产生的山脉图形,当时的情景Carpenter回忆说:“我完全被惊呆了,历史在这儿诞生了”。



    Carpenter非常向往能去卢卡斯创办的的图形学研究机构工作。因为他知道这是世界上为数不多的纯研究机构,在那儿有一群顶尖的图形学精英,而且没有教学任务,这正是他喜欢的。于是,当分形山脉刚在屏幕上生成出来,他异常兴奋,立刻打印出来寄给了卢卡斯的研究机构。图片寄走后,Carpenter又感到有点自卑,自己不过是一个波音公司的普通程序员,除非卢卡斯电影公司为了取暖,把所有应聘人员的求职信都烧了,才有可能发现自己。为了要引起其他人的广泛关注,他有了一个雄心勃勃的主意,一定要把自己的分形山脉图形登上SIGGRAPH 1980论文集的封面。Carpenter打算制作一部短小的分形电影,提交给SIGGRAPH。在电影中,他想展现出分形几何的实质,无论镜头是紧貼还是远离山脉,都能提供足够多、足够真实的细节。既然是电影,那肯定不能缺了背景音乐,那时的年轻人都喜欢摇滚,他选用了披头士的一首两分钟的歌曲“Flying”。影片的名字也想好了,就叫“Vol libre,“自由飞翔”的意思。

          正当Carpenter准备摩拳擦掌大干一番的同时,卢卡斯研究机构的Alvy也收到了来自波音公司的“求爱信”。拆开来一看仅仅是几张山脉风景图片,没有任何文字描述,但看得出那是计算机生成的数码图片。Alvy想不到计算机能产生如此真实的山脉图片,以前从未见过。看起来可能运用了Mandelbrot的分形技术,但是猜不到是谁干的。Alvy随手把其中最漂亮的一张图片钉在了墙上,他想在即将举办的SIGGRAPH会议上说不定会碰到那个家伙。
          波音公司很是支持Carpenter的创意,提供了一些资金并允许他在工作时间开发这个项目。Carpenter整天都扑在他心爱的电影上,白天忙着修改程序,晚上启动程序在计算机磁带上生成每帧图像。为了这短短两分钟的视频,他全身心地投入了四个多月。时间一天天过去了,他的电影一天天接近完成,SIGGPARH的会期也一天天地临近了。这个时候,Carpenter经常感到莫名的紧张,要是影片在演示时,声音出问题该怎么办?色彩出问题该怎么办?任何疏忽,都会搞砸了在SIGGRAPH上展示的效果。
  • 相关阅读:
    远程监控JVM
    性能测试的思考
    吴恩达《机器学习》课程总结(11)机器学习系统的设计
    吴恩达《机器学习》课程总结(10)应用机器学习的建议
    吴恩达《机器学习》课程总结(9)神经网络的学习
    吴恩达《机器学习》课程总结(8)神经网络表述
    吴恩达《机器学习》课程总结(7)正则化
    吴恩达《机器学习》课程总结(6)逻辑回归
    吴恩达《机器学习》课程总结(5)Octave教程
    吴恩达《机器学习》课程总结(4)多变量线性回归
  • 原文地址:https://www.cnblogs.com/szlongman/p/1530993.html
Copyright © 2011-2022 走看看