-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

流體動畫的計算藝術

( 簡體 字)
作者:葉軍濤,楊旭波類別:1. -> 多媒體 -> 綜合
譯者:
出版社:電子工業出版社流體動畫的計算藝術 3dWoo書號: 49348
詢問書籍請說出此書號!

缺書
NT售價: 295

出版日:7/1/2018
頁數:228
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121343728
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

本書獻給Pam和Gillian


這是挪威Urnes Stavkyrkje教堂北入口的縮小版復制品。該教堂建于1130年,接近北歐海盜時代(又稱維京時代)的尾聲。北歐海盜是造詣很深的藝術家,不只是長頭發的野蠻武士。此照片是我在倫敦大英博物館拍攝的。

推薦序一
在計算機科學的各個分支中,恐怕只有計算機圖形學(computer graphics)和如此多的、初看起來不相關的、領域跨度又很大的學科(如果將藝術也看作學科的話)密切相關。這里說的不是對其他領域的一般性的了解和交叉,而是需要深入理解或具有很深的造詣。20世紀60年代,最初由波音公司的研究人員提出計算機圖形學的名詞時,指的是計算機生成圖像(computer generated image)的技術,它涉及將三維工件投影到二維平面上的方法,用于計算機輔助設計。到20世紀80年代,越來越多的研究關注自然場景的逼真生成和顯示(realistic image synthesis),這顯然是受到快速發展的計算機仿真、計算機輔助訓練、計算機動畫、電影、廣告、游戲、虛擬現實和增強現實等的需求影響。1974年開始的一年一度的ACM SIGGRAPH 學術會議成為最受關注的學術會議,每次都吸引上萬人參加,會議上不斷給出令人驚艷的計算機生成的圖像,極大地促進了計算機圖形學的發展,也使計算機圖形學成功地應用于計算機動畫、電影和游戲軟件中。要使計算機生成的圖像能逼真漂亮地再現自然場景,尤其是動態的自然場景,需要對自然物體、光線傳播、運動規律等建立準確的物理模型。最初的研究集中在物體建模,包括曲線和復雜曲面的建模、物體表面的光反射特性和紋理特性等。但當涉及動態物體尤其是非剛體如流體的視頻圖像合成時,就要涉及復雜的流體及流體與周圍其他物體相互作用(如海浪拍打巖石)的動力學建模。在本書作者Jos Stam在ACM SIGGRAPH’99上發布的“穩定流體”論文前,雖然許多電影特效中已經有一些流體的計算機合成,但或者是合成的圖像不夠“漂亮”和“真實”,或者在圖像合成時需要大量的人工干預和制作時間。Jos Stam的論文及合成的流體運動圖像震撼了計算機圖形學界。Jos Stam的工作既基于他對流體動力學的深入理解,又根據藝術再現的需要對模型做出最恰當的簡化,從而能方便地、全自動地“真實”再現一大批靈動飄逸的流體運動。Jos Stam的工作甚至可以在一般的手機上實現。他最近十多年來在流體的計算機仿真方面做了大量的工作,本書對此做了系統闡述,盡量避免過于理論化的數學描述,把一個在計算機圖形學中最難實現的、作者原創的流體動畫技術通俗完整地呈現給讀者。
計算機圖形學是計算機科學還是藝術?作者謙虛地說“功勞應該全部歸功于那些在電影中創造視覺效果的藝術家,我們只是提供了作為工具的畫筆而已”。但這種畫筆和我們通常意義上的畫筆太不一樣了,它不僅把“顏料”刷到畫布上,而且要使畫出來的東西既是“美”的,又有“真實感”。也許,“真實”的就是美的,但也許,正如作者所說,“通常在計算機動畫領域,我們的座右銘是:如果它看起來不錯,那就很好”。“真實”指的是符合客觀的物理規律,“看上去美”是人的主觀意識。作者的工作給我們帶來的啟示之一就是:如何實現“真實”和“主觀感受”間的折中,使計算機圖形學既是計算機科學,又是一門藝術;使計算機圖形學的研究者既是科學家,又是藝術家。

馬頌德
2018年4月16日于北京

推薦序二
本書譯者葉軍濤博士邀請我為他和楊旭波教授共同翻譯的這本書寫幾句話。首先祝賀如此精彩的書在他們的努力下與中國讀者見面!
本書的原作者Jos Stam博士是流體物理仿真領域的泰斗級人物。由于我們在國內從事該課題研究也算起步較早,對他的工作自然比較關注。而真正能夠感受到Jos Stam博士的學術造詣與人格魅力的還是來自與他兩次印象深刻的直接接觸與交流。第一次接觸是2012年3月,在由新加坡南洋理工大學媒體創新研究所(IMI/NTU)主任Nadia Magnenat-Thalmann教授組織的《三維交互數字媒體》的專家講座論壇上,我有幸與Jos Stam一起受到邀請,并在第一天早餐時與他巧遇而單獨交談。我們自然地聊起了他的研究工作,特別是他在SIGGRAPH’99上發表的Stable Fluids論文,這篇論文是該領域的開山之作。跟許多步入該領域的研究者一樣,我們深深受惠于他的研究工作:我的研究生柳有權從21世紀初以此為基礎開展了基于GPU的流體仿真研究,以大規模城市場景的任意邊界流體實時仿真的成果參加了SIGGRAPH’04的“基于GPU通用計算”的開創性研討會SIGGRAPH’04 GP2(后來稱為GPGPU)。我亦代表柳有權受邀在日內瓦大學第17屆CASA’04年會上做了大會特邀報告(機緣巧合,Jos Stam正是在日內瓦大學獲得的學士學位)。然而當他談起自己的這篇著名論文時,卻令人驚愕地告訴我,該論文評審時只得了平均分2分左右。我大為驚詫,他卻平靜而面帶微笑,未談及其他的細節。我想那都不重要了,是金子總是要發光的,而且是在最耀眼的場合——有人慧眼識珠,那才是最重要的。
在那次講座論壇上,Jos Stam博士沒有講他的流體仿真與動畫藝術課題,而是談了數字媒體中的一些數學問題與想法。雖然我聽得一知半解,但仍能感受到他極其開闊的思路與創造性的思維,恰如閱讀該書時所能領略到的開闊學術視野與睿智。Jos Stam人高馬大,但無論何時他總是那么親近平和,見不到不少大家所慣有的居高臨下的傲氣。我記得在講座中,我講的主題是仿真某些自然物體基于物理與生物的建模與演化,是對我們工作的照本宣科,Jos Stam從頭到尾認真聆聽,使我倍受感動與鼓舞。這種親切與隨和讀者也可以從該書中深刻地感受到。
第二次接觸與交流是在澳門的SIGGRAPH Asia 2016會議之后,Jos Stam受邀在澳門大學圖形組訪問了一天,做了學術報告并與我的學生進行座談。其報告與本書密切相關,演示了他在Autodesk的MAYA軟件中實現的精彩流體運動藝術以及介紹了相關軟件的開發成果。在這方面,記得很多年前計算機藝術的第一次浪潮是基于分形幾何與混沌集的數學公式生成各種奇幻圖案與動畫,但是其應用范圍十分有限。以Jos Stam為代表的基于物理的流體動畫藝術將物理/數學計算生成的藝術變成可交互控制的、具有高度真實感的視覺享受以及工業應用的典范,而演繹這種精彩之頂峰的正是像Jos Stam這樣的大師。
書中穿插著眾多的物理/數學界前輩的歷史典故,妙趣橫生,使讀者在無窮樂趣中既欣賞到了藝術的畫面,又學到了多方面的知識。令我印象最深刻的是介紹家喻戶曉的達·芬奇,他不僅留下了千古名作《蒙娜麗莎》,而且作為流體計算的祖師爺之一留下了流體仿真的畫面。他所繪制的三維流體流線畫作,即使以今天的標準來看也是矢量場可視化的上乘佳作,實在嘆為觀止!
該書不僅對大眾讀者是難得的科技讀物,而且對于該領域的專業讀者來說也是難得的好書。全書并未追求數學的嚴謹與系統,卻將流體動畫的生成原理與物理/數學基礎描述得相當清楚。初學者如果在學習那些滿是公式的數理教科書之前先來讀一讀本書,一定受益匪淺。比如書中對于流體計算核心內容之一的Helmholtz-Hodge (HH) 理論的介紹,既通俗易懂而又點出了問題的實質:它完全跳過了流場散度與旋度的概念,避免初學者陷入霧障之中。
Jos Stam博士既是理論的杰出探索者,又是實實在在的實踐者。他的研究工作,包括本書中展示的動畫藝術,他常常既是設計者,又是編程實現者。這使我聯想起我所熟知的圖形學界的另外兩位大師:Nelson Max 教授與 Nishita 教授。他們都是SIGGRAPH 成就獎的獲得者,但是人過中年,仍然勤奮努力,親自動手編程。他們是那種“既上得了殿堂,又下得了工房”的天才與杰出耕耘者,其勤奮與努力尤其讓人欽佩!
Jos Stam在澳門大學訪問的一天中,從報告到座談忙碌了一整天,第二天還要趕往香港。最讓我感動的是:直到下班他才告訴我,他的腿部有些傷走路不便,能否去藥店買些藥,于是我趕忙開車帶他去藥店購藥。正值下班高峰時段,?仔城區根本無法停車,開到藥店時讓他先下車購藥,我則繼續轉圈再回來載他回賓館。這一幕使我想起Jos Stam在他書中講述的一個與他本人有關的詼諧故事:有專家質疑他在流體動畫仿真中取消壓力項的作法,他不無幽默地回答,那沒有影響到流體動畫的美觀效果,而壓力項只不過是一個拉格朗日乘子而已。在?仔小城這個千萬人車流動的流場中,每輛車順流而動,恰恰是為了避免產生這個“拉格朗日乘子”。而無論它在局部是否產生,也都無關整個流場不可壓縮特性的宏旨,不是嗎?樂哈其成,如者斯也!
謹以此文向Jos Stam博士表達我的敬意與祝賀!

吳恩華
2018年5月18日


推薦序三
《流體動畫的計算藝術》讓程序員也變成藝術家。
本書的譯者葉軍濤博士邀請我給該書寫一句推薦的話,以上是我的推薦語。
按說這樣就完成任務了,但翻看這本書之后,我卻欲罷不能。這本書勾起了我對計算機圖形學發展歷史的回憶。原著作者Jos Stam于1999年在洛杉磯召開的SIGGRAPH會議上作為唯一作者發表了題為《穩定流體》(Stable Fluids)的論文,他在報告中演示實時流體模擬,像太極大師一樣讓流體在投影屏上縱橫飄逸,艷驚了現場觀眾。SIGGRAPH大會在當年有4萬多人參加,技術“碼農”和藝術“嬉皮”毫無違和感地聚集在一起,不失為視覺技術與藝術的狂歡節。1999年的SIGGRAPH大會是一個特別的事件,那年埋下了太多的種子,于技術、于人,但這不是我現在要說的。這里值得交代的是,Stam在6年后獲得了圖形學領域的最高獎,并于2005年和2008年兩次獲得奧斯卡技術獎。在電影里引人入勝的風暴、海浪、煙霧、爆炸十有八九是用計算機模擬的,而這些很有可能和Stam的技術有關。
那年我博士答辯,之后去臨近的紐約大學庫朗數學所(Courant Institute of Mathematical Sciences)做博士后。庫朗數學所在數值模擬領域有一批世界頂級的學者。合作導師讓我嘗試流體模擬方面的研究,我其實有點為難。我之前的研究課題是數據可視化,很多可視化的數據來自科學模擬計算不假,但數據往往由其他領域的合作科學家提供。硬著頭皮,我開始閱讀這方面的文章,也和庫朗數學所的教授和博士生交流,我很快得到的結論是,這個領域水太深了!一篇博士論文,可能只是對一個已知的流體現象改變邊界條件。作為門外漢的我,對這個領域立馬充滿了敬畏。但聽了Jos Stam在SIGGRAPH 上的報告之后,感覺流體計算這一高深的領域,在他那里似乎變得那么簡單,甚至好玩。我便開始嘗試他的方法并和他進行郵件交流。我這個門外漢就這樣很快地也實現了他神奇的“穩定流體”,但采用不同的程序語言并嵌入了庫朗的“秘密”插件。這是Jos所倡導的,換一種語言實現,能幫助你真正理解算法的內涵。
但Jos在書里自稱門外漢,這是Jos特殊的表達方式,并不是為了表示謙虛,其實反映了他對傳統方法的一種挑戰。他把高深莫測的流體計算拉下“神壇”,讓其返璞歸真,這源于他對數學方法的透徹理解。針對計算機動畫的現實需求,他能有創意地設計最輕便的求解方案,甚至能在蘋果手機上實現實時流體模擬計算。這本書充滿了這樣的創意,包括對問題的描述和解釋,也體現了Jos特有的幽默,書中有不少幽默但充滿哲理的句子。如果你和Jos熟識,讀著那些句子會發笑。
Jos自稱叛逆者,這個我同意,只是他不是一般意義上的叛逆者。他不迷信那些花哨的東西,他很較真,絕對不追逐嘩眾取寵的東西。他畢業于多倫多大學。Geffory Hinton(深度學習奠基人,人工智能領域的三巨頭之一)也是那所大學的教授,看來多倫多這個寒冷的地方盛產頂級學者。
我們現在處在一個信息極為發達的時代,熱點形成和傳播都很快。每天網絡上充滿了爆炸性新聞,媒體配合產業的發展把技術革新變成了T臺上的時裝走秀,一場發布會便誕生了一代新的“神”科技,把科學家變成搖滾明星。Jos這樣的學者永遠不會愿意成為搖滾明星,盡管他的打扮有些像。現在深度學習大行其道,學生們趨之若鶩地貼深度學習的標簽,寄希望于用數據去學習而不是自己真正理解問題的本源和規則。這些同學應該好好讀讀這本書,即使你不做這方面的研究。Jos總是講一些大實話:你可以糊弄你的同事和朋友,但糊弄不了計算機。
最后,中國在計算機圖形學研究方面,做物理模擬研究的人還太少。去年成立的北京電影學院未來影像高精尖創新中心成立了專門小組開始這方面的研究,希望有更多的學生加入這方面的研究中來。在中國有Jos這樣的數學頭腦的人不罕見,但同時具備他的藝術頭腦的人可能就寥寥無幾了。讀這本書的收益之一是讓你能體會到這兩者是如何和諧地結合在一起的。
在2017年的最后一天寫這篇序,正好作為邁向2018年的自我告誡,stay cool!像那位兩米高的巨人那樣。而且,2018年肯定請他來交流一下,前提是,他坐著,我站著。

陳寶權
2017年12月31日于青島

譯者序一
一提到“計算流體力學”這個詞,即使是理工科專業背景的人,首先想到的往往是含混晦澀的偏微分方程,或者一塵不染的超算中心,這看似很高的門檻曾讓很多技術愛好者雖有熱情也只能望而卻步、敬而遠之。然而不管你是否注意到,計算流體力學已經走進了我們的日常生活,大到投巨資制作的電影,小到手機中的視頻游戲,逼真的流體特效越來越常見。這很大程度上得益于最新的流體動畫生成技術,而在這方面,Jos Stam博士做了開拓性工作。Stam博士將自己的這段科研經歷整理成The Art of Fluid Animation一書,我們將這不可多得的入門級教程的英文原著翻譯成中文,取名《流體動畫的計算藝術》,以饗讀者。
Stam博士是一個身高超過兩米的大個子,即使在有數萬人參會的SIGGRAPH會場你也無法忽視他的存在;而更令人無法忽視的是他在計算機圖形學領域的成就,他是圖形學發展史上的一座豐碑。由于在細分曲面和流體模擬方面的貢獻,他曾獲SIGGRAPH計算機圖形學成就獎及兩度奧斯卡技術成就獎。他在十幾年前播下的那顆流體動畫的種子已經成長為參天大樹,如今有成千上萬的人在從事流體動畫相關工作,創造出了電影中炫酷吸睛的流體特效。除了上述兩項成就之外,Jos(/j.:s/,對,發音聽起來像“鑰匙”)后來又攻堅另一個難題——布料模擬,他為MAYA軟件研發的Nucleus求解器被眾多電影工作室用來生成服裝動畫特效(我認為這項成就應該為他贏取第三尊奧斯卡小金人)。Jos在全球有眾多粉絲,他也曾數次來到中國,除了參加學術會議和與Autodesk(中國)進行工作溝通外,還曾作為SIGGRAPH的特使在深圳與多家當地動漫公司進行互動交流。他對中國文化和文字有著濃厚的興趣,還為自己起了中文名字叫“尤士丹”。
本書用通俗易懂的語言講解了流體力學的本質,并試圖教會程序員寫出第一個流體模擬的程序。Stam著書時堅持的一條原則就是“以非數學的語言來描述數學原理”。本書的前半部分更像是一部簡要數學史,很多讀者耳熟能詳的數學家依次出場,述說著他們對流體計算的直接或間接貢獻。透過歷史的畫卷,流體動畫技術中的眾多概念被深入淺出地做了解釋。讀過之后你會發現掌握流體動畫技術其實并不需要高深的物理或數學技能。本書后半部分主要闡述了如何通過計算機代碼以有趣的方式創建流體動畫,如水、煙、火和爆炸效果等。書中的很多內容是Stam在世界各地做報告時針對聽眾所提問題的解答、闡述以及后續思考。本書包含了計算機代碼,除了供讀者運行外,更是為了鼓勵讀者對書中描述的流體技術做進一步擴展。對有抱負的程序員來說,這些代碼只是創建自己的流體動畫程序的一個起點。本書的定位是普及型讀物而不是學術型專著,我們希望更多對計算機動畫技術感興趣的大學生甚至中學生成為本書的讀者。當然,對于專業從事流體模擬的研究人員來說,閱讀本書可以帶你體驗作者當年完成這項開拓性工作的心路歷程。
2015年秋天,Pacific Graphics會議在清華大學舉行,Stam是程序委員會的主席。那時The Art of Fluid Animation一書剛剛定稿但尚未開印,他身穿一件胸前印有本書封面圖案的黑色T恤為自己的新書做宣傳。2016年夏天,我借到加拿大旅行之機順便訪問了在多倫多的Autodesk公司分部,獲得Jos的贈書,期間談到中國有眾多流體動畫的愛好者,應該使他們能以更低的成本獲得本書。在我就引進影印版版權的事宜跟國內出版社咨詢后,得知目前存在諸多障礙,無奈之下只好考慮翻譯這條路。由于該書語言優美,輕松幽默,口語化風格猶如Jos在娓娓道來,我認為翻譯后的效果恐怕要打折扣,因此遲遲未下決心。上海交通大學的楊旭波教授得知此事后表示愿意參與翻譯工作,這是我求之不得的。楊老師在流體動畫領域深耕多年頗有建樹,有他坐鎮把關我便不再忐忑。在翻譯過程中,譯者跟Jos進行了多次郵件往來,力求精確翻譯每個微妙的表達,也發現并更正了原文的幾處錯誤。鑒于原文中眾多的口語化英語和夾雜的法語與意大利語、中外文化差異以及譯者的理解水平,恐難原汁原味地傳遞原文的本意,不足之處敬請廣大讀者批評指正。
中國科學院自動化研究所的研究生陳嵐和上海交通大學的研究生張銳參與了本書的翻譯工作。馬頌德研究員、吳恩華教授、陳寶權教授為本書傾情作序,傅紅波教授、李維博士和許銘俊先生等人鼎力推薦,使本書增色不少。在此對他們表示衷心感謝。最后要感謝電子工業出版社,在行業普遍追求經濟效益的大氣候下,牢記自己的社會責任,為傳播知識而支持了本書的出版。

葉軍濤
2018年5月2日于北京

譯者序二
2016年12月初,我在澳門參加ACM SIGGRAPH Asia大會,帶了兩名博士生去聽流體動畫論文報告,見到了兩米高的分會主席Jos Stam。和他的身高一樣,Jos的技術成就也令人難以望其項背。Jos是ACM SIGGRAPH計算機圖形學成就獎得主,并兩次獲得奧斯卡技術成就獎,他是流體動畫的開拓者和大師級先驅,他1999年在SIGGRAPH上發表的Stable Fluids一文,是流體動畫研究者必讀的經典開山之作。
在主持報告結束之后,巨人Jos手持小小的平板電腦,熱切地向我推薦了他嘔心瀝血寫成的一本新書The Art of Fluid Animation,希望有更多中國讀者能讀到他的書。中國科學院自動化所的葉軍濤老師也在場,邀請我一起將這本書翻譯成中文。我翻看了一下這本書的英文原著,欲罷不能,遂欣然應允。于是,前后花了一年時間,和葉老師共同負責并由張銳等同學協助,完成了這本書的中文翻譯,并定名為《流體動畫的計算藝術》。
煙霧、水等流體的飄逸靈動是自然界十分令人著迷的現象,也是很多科學家和藝術家所青睞的研究對象,如何用計算機去表現流體動畫是人們孜孜以求的目標之一,但流體動畫背后的物理、數學和計算原理又常讓人感覺深奧莫測、望而卻步。
Jos的書揭開了這一神秘面紗,從其個人視角寫了一本引領讀者進入流體動畫領域的科普作品和技術史話。在書中,Jos以詼諧幽默的口吻,對流體動畫的相關人物、歷史和技術發展娓娓道來,如數家珍,向我們展現了計算機、數學、物理和藝術是如何巧妙地融合在一起,最后繪制出絢麗動人的流體動畫效果的。這本書很適合因被流體藝術所吸引登堂入室,且對數學、物理、計算、編程有濃厚興趣的讀者閱讀。本書圍繞著流體動畫的計算藝術,講述了一個個讓人難忘的故事。
希望這本書能給大家帶來一段愉悅的科學和藝術之旅,領略到流體動畫的計算之美和編程之美。
是為序。

楊旭波
2018年1月1日于上海

前 言
我不能創造的東西,我就不理解。
理查德·費曼(Richard Feynman,美國著名物理學家、諾貝爾獎得主)
真正能夠增長知識的講座往往不受歡迎,受歡迎的講座卻帶不來知識。
邁克爾·法拉第(Michael Faraday,英國著名化學家)
一個數學理論通常是不完備的,除非你能夠很容易地給街上碰到的第一個路人講解清楚。
大衛·希爾伯特(David Hilbert,德國著名數學家)

我沒有正式的流體動力學背景,也不是工程師,也不具備流體相關的數學或物理學專業學位。這反而是我的幸運,因為我沒有負擔。另一方面,我有純數學和計算機科學的學位以及藝術背景,更重要的是,我已經編寫了計算機代碼來生成流體的動畫。?
? 當然我也做一些其他事情,國際象棋、翻版帕克曼游戲、打暑期工寫代碼掙錢、光線跟蹤器、粒子系統仿真、曲面建模以及最近的統一動力學求解器Nucleus。這是代碼之美,你可以教計算機做各種事情,在任何地方都可以,你所需的只不過是一臺能上網的筆記本電腦。這有點像數學,數學家就像一個聰明的工匠能把咖啡變成定理。寫代碼和搞數學都不受地點限制,從里約的科帕卡巴納海灘到遙遠的北加拿大的小木屋。

我編寫代碼,這是底線。
我不只是從互聯網下載一些代碼然后將它們揉捏在一起,所以我想我明白自己在說什么。當然,它是基于前人的工作的。流體背后的理論和概念不是我發明的,研究是一個長期的過程。
想愚弄計算機是徒勞的。
你可以愚弄學生、同事或朋友,卻不能愚弄電腦。為什么?電腦是一個愚蠢的自閉癥寵物,但卻是最好的寵物。它思考速度非常快,且無條件服從。創建計算機代碼是你是否理解某事的最終測試,能把它教給電腦說明你理解了它。如果你在一家公司工作,你必須處理市場營銷、公共關系、銷售和客戶反饋周期。
客戶反饋是殘酷的實話。他們為你的軟件付錢,希望它能工作。如果軟件不工作,客戶會告知你,所以它要么工作,要么不工作。而后現代文學辯論卻不是這樣的。在某一時刻每個人都是對的,或者都是錯的,但這些由咖啡或葡萄酒推動的爭論可能比花費幾個小時用咖啡修正出的能工作的電腦代碼更有趣。
我喜愛寫代碼,并且我喜愛修正我自己寫過的代碼。
本書的作者在某種意義上是一個門外漢。然而,通過編寫計算機代碼我了解了流體力學。這本書無法作為通常意義上充斥著精巧方程的流體力學的課本。我其實很懂方程式并且很喜歡它們,它們幫助我了解流體。但對大多數人來說,方程看起來像從其他宇宙來的奇怪的象形文字。
中文文字帶給我同樣的感覺。
這就是為什么對于大多數人來說,花哨的方程并不是很有幫助。當我收到一封完全用漢字寫的電子郵件時,我會忽略它。什么?!否則我就選擇去上課學漢字,那會很酷,下次我去中國時就不會遭遇困境了。但這將是一個很費時的工作,而我的時間是有限的。另一方面,在陌生的土地上做一個外來人也是很有趣的經歷。
我希望這本書對那些不精通數學或物理學的人有用,同時我想把它寫成有趣的書。我也是這樣做科研的,我喜歡融趣味于工作。這本書的某些部分涉及數學,我的希望是,對于那些愿意讀下去的人來說,書中的數學是可以理解的。當你讀一篇不熟悉領域的數學論文并試圖理解它時,這是一種常見的策略。起初,先試圖理解文章的主旨;然后,如果你覺得文章挺酷就繼續研讀細節;如果它真的令人興奮,你應該嘗試寫一些代碼去實現文章的內容。
本書的每章結尾處都給出了一個自然段的總結。當我在大學學習數學和計算機科學時我就發現這是一個很好的做法。在一次講座之后我學到了什么呢?我從日內瓦大學一個名叫彼埃爾·德·拉·哈珀(Pierre de la Harpe)的數學教授那里學到這一招,他在每次講座開始時都會總結上次講座的內容。
如果你同時選修了好多課程,這種方法真的很有幫助。我也傾向于使用一些與眾不同的工具或手段去理解有些知識,我喜歡從不同的角度去重復事物。我喜歡和自己爭論,這樣我可以既是正確的又是錯誤的,只是不在同一時刻而已。你也可以從這個過程中學到一些有趣的東西。這也是一個很好的演講前的應對策略,這使你對大多數問題都有所準備。任何提問都不是愚蠢的,有些問題甚至可以為你指出新方向,我總是樂于探索新的想法和不斷學習。你永遠不可能是一個房間里最聰明或最有創造力的人。
本書的主要目的是展示如何創建能使流體動起來的計算機代碼,隨書附帶了計算機代碼,讀者可以下載并在自己的電腦上運行。
我的目標其實更遠大,我希望程序員使用這些代碼作為一個起點來創建自己的應用程序、游戲等。其實我的一些代碼已經公開超過十年了,許多人都用它作為起點創建了自己的游戲、有趣的演示和應用程序。如果有程序員能以完全不同的方式或完全不同的語言重寫代碼,那就更好了,那會非常酷。我想挑戰任何讀者,看你能否用C寫一個更短的但仍然易讀的版本。
我不想把本書寫成“流體力學傻瓜書”的風格,因為我認為讀者是聰明而有創造性的,他們想知道如何在計算機上模擬流體創建“養眼”的動畫。事實上,我希望聰明、有創造性的程序員閱讀這本書,并擴展代碼創建新的應用程序。我希望本書激發人們做自己的東西,去創造而不是想當然。
要做一個叛逆者。
叛逆的方式不是去破壞而是去創造。
有時一封從很遙遠的地方(比如印度)抵達多倫多的電子郵件會使我感到很愉悅,發郵件的人告訴我他創建了一個基于Web的應用程序,結合了流體和反應擴散過程。哇!程序運行在一個網頁上,發件人對我表達謝意。多么酷啊,我這一天肯定是很有成就感的。
已經有很多關于流體力學的技術書籍,我不希望本書太偏重技術,而是要與眾不同。我希望本書是兩本我最喜歡的流體力學圖書之間的橋梁:
An Album of Fluid Motion,由彌爾頓·范·戴克?(Milton Van Dyke)收集而成。
? 我得講講這個故事。我從彌爾頓(Milton)的網站上訂購了這本書,在訂購時并不需要為此付費。當這本書通過普通郵件送達的時候,我才注意到有一份通知,要求寄一張相當小數額的支票給住在加州帕拉阿圖的彌爾頓·范·戴克。我認識的人中誰也不會搶劫一個能將如此美妙的圖片集合成冊的人。當然,我立即把支票寄到了該地址,并在支票背面寫上“謝謝”。
A Mathematical Introduction to Fluid Mechanics,由亞歷山大·科林(Alexandre Chorin)和杰羅爾德·馬斯登(Jerrold Marsden)所著。
第一本書是關于著名流體實驗的圖片集,它是完美的極客咖啡桌必備圖書。
第二本書是對流體力學的簡明數學介紹。這本書通過嚴格的數學手段為我澄清了流體力學的許多模糊的方面。考慮一個這樣的聲明:“壓力是從無散度約束中得出的拉格朗日乘子。”如果你對這句話有感覺,那么科林和馬斯登的書是寫給你的,但請先繼續閱讀本書。
本書也是我如何處理流體動力學的個人說明,起初晦澀難懂,而后進入啟蒙階段,直到能夠編寫計算機代碼。
我盡量使本書的敘述能夠引人入勝。研究不只是一些貌似無跡可尋的客觀事實的集合。流體科學是由歷史上真實的人們創造或發現的,向他們致敬是天經地義的。
不用擔心。
本書并不會去描述這些科學家們有多少妻子、丈夫、戀人或孩子,另有很多其他書籍是記錄他們的個人生活的,我不是這些問題的專家,對他們的課外活動也沒有特別的興趣。本書僅限于他們的科學成就。?
? 但還是要“八卦”一下,本書中的英雄之一萊昂哈德·歐拉,有13個孩子。傳說他在抱著一個孩子的時候做了一次最好的數學研究。
? SIGGRAPH是Special Interest Group on GRAPHics and Interactive Techniques的縮寫,自1974年起這個會議每年在北美的不同城市舉辦,它是圖形學從業者的麥加,是發表圖形學論文的頂級場所。有超過4萬人參加了1999年的會議。
? 另外兩個報告分別是關于細分曲面和衍射著色器的。
? 口袋電腦是微軟公司在2000年發布的,靠一個叫作Windows CE的操作系統而運行。我是在康柏公司的iPAQ機器上運行我的演示程序的。2007年,蘋果公司發布了iPhone/iPod,后面我還會提到。
本書是在我過去十五年里所做的報告的基礎上誕生的,所以它有些非正式的口語風格。希望每一位讀者都能用搜索引擎,因為詳盡的參考文獻列表并沒有給出,如果你喜歡書中的一些內容并想了解更多,請動手搜索相關信息。這也是我每天的工作內容。我想念過去那些不得不去圖書館的日子,但僅僅是懷舊而已。
我第一次做關于流體話題的報告是在一年一度的計算機圖形學會議SIGGRAPH?上,那是1999年在洛杉磯,報告的論文題目是 “穩定流體”(Stable Fluids)。對我來說那是一次抓狂的會議,我當天下午還有另外兩個完全不同主題的報告,?我不得不打包我的設備—一臺SGI Octane工作站,叫了一輛出租車從位于Figueroa大街一頭的威斯汀大酒店趕到大街另一頭的會議中心。
好在一切順利。
這是第一次流體模擬程序對用戶的輸入做出了實時反應,會場中掌聲雷動。兩年后,在洛杉磯再次響起掌聲,這次是為我在口袋電腦?(Pocket PC)上演示的實時流體模擬。我寫它只是為了好玩,口袋電腦能夠放在衣服口袋里(因此得名),所以我能夠隨處展示我的流體:在聚會上、在地鐵上或給生活在歐洲的家人。
后來才有人告訴我,人們先前曾懷疑我兩年前的演示的運行速度快是由于使用了昂貴的硬件,但這些疑慮被我打消了。當人們不認可并挑戰你的工作時,這實際上是一個好兆頭。如果根本沒有人關心你的工作,那么你的工作又有什么意義呢?
懷疑者們認為我的演示程序運行得很快是因為我使用了一臺SGI Octane工作站。?我當時需要Octane工作站是因為它具有三維硬件紋理渲染能力。哦,另一個原因是我能免費獲得它,并且它是當時最好的工作站。但是它太重了,根本不利于隨身攜帶,?更無法裝進衣服口袋中。我為移動設備編寫應用程序的唯一原因是因為這是一件很酷的事情。最后結果表明,軟件有時勝過粗暴蠻力的硬件。
? 當時我在SGI工作,Octane工作站就是該公司生產的,當時售價6萬多美元,現在你在eBay上花大約200美元就能買到。哦,對了,SGI代表Silicon Graphics Incorporated(硅圖形公司),它曾經是加州硅谷最熱門的公司,現在已經不存在了。Google已經占領了他們在山景城的園區。
? 一臺Octane工作站重達24.3公斤(54磅)。
? 西雅圖仍然有不少優秀的樂隊,例如“謀殺城市魔鬼”(Murder City Devils)和“羅夏墨跡測驗”(Rorschach Test)。
做這件有趣的事情時,我住在華盛頓州的西雅圖市,那是在20世紀90年代后期,在“西雅圖之聲”樂隊(Grunge Scene)搬去洛杉磯不久。?當時被我們稱為MAYA的動畫軟件即將面世。我們曾經在加利福尼亞的陽光明媚的圣巴巴拉有一個辦公室,那里的人總是很快樂。當我從多雨的西雅圖抵達那里并展示了實時演示程序,他們立即想把它納入MAYA軟件。這是2000年的事情。經歷了如同過山車似的起伏后,流體求解器最終以流體特效(Fluid FX)的名頭在2002年出現在MAYA 4.5中。如果沒有加拿大多倫多的MAYA開發團隊中許多人的幫助,這個版本將是不可能完成的。他們承擔了將我的研究代碼變成一個真正的軟件的大部分工作,并添加了自己的秘密“醬料”和“香料”。
將研究代碼納入產品需要花費大量的時間和精力,這點請相信我。最終它變成了MAYA的一部分!我們發貨了,人們正在使用它。我們沒有把時間浪費在一些霧件上來證明我們在辛苦忙碌地工作。更重要的是,我們做得很開心,至少我是很開心的。
2008年,我寫了一個在iPhone/iPod上運行的流體應用程序。我這樣做主要是因為iPhone支持OpenGL ES、有一個加速度計和多點觸摸接口。所有這些都是2000年我認為在一個交互式流體應用程序中應該擁有的。在后面我會更多地介紹這個經歷。在2010年,我們發布了原始應用程序的改進版Fluid FX。
總結:我在流體動畫領域播下了種子,別人也播了,但這是關于我的故事。
Jos Stam
于加拿大多倫多

致謝
寫書、做研究并不是孤獨的旅程,我有太多的人要感謝。首先,我要感謝我的妻子Pamela二十四年來給我的支持和愛,她是我最好的朋友。感謝我的女兒Gillian,因為……因為她是我的女兒,她甜美、聰明、漂亮。感謝我的哥哥Sim,他把我領進了科學和計算機的大門,如果沒有他,我可能會成為阿姆斯特丹的一個流浪藝術家。當然更要感謝我的父母Jos和At,還有我的兩個姐妹Nel和Go,他們使我的生活有了一個精彩的開始。我們家的荷蘭語名字都很短,我甚至沒有中間名。
我要感謝CRC出版社,特別是瑞克·亞當斯(Rick Adams),他使得這本書得以出版。當然,要感謝我的公司Autodesk給我時間來寫這本書。特別的,我要感謝戈登·庫特巴赫(Gordon Kurtenbach)、阿扎姆·汗(Azam Khan)、弗朗西斯科·伊里奧(Francesco Iorio)以及研究組的其他成員,能成為這么酷的團隊中的一員真是太幸運了。還要特別感謝克里·莫克(Cory Mogk)使用MAYA流體效果生成了本書的封面。感謝在多倫多的流體特效團隊基于我的解決方案創建了這些很酷的應用程序,其中要特別感謝的是丹·普雷斯曼(Dan Pressman)和謝爾蓋·布亞諾夫(Sergey Buyanov)。我還想感謝在多倫多的MAYA團隊和過去在圣巴巴拉和西雅圖的團隊。這是一支龐大的隊伍,如果我要挑出一個人的話,那就是鄧肯·布林米德(Duncan Brinsmead)。
我要感謝我的高中和大學朋友馬庫斯·格羅特(Marcus Grote),感謝我們過去所進行的所有激動人心、充滿智慧的討論。但與當前的工作更相關的是,他介紹給我肖林和馬斯登(Chorin & Marsden)的書,這本書使我擺脫了困惑和黑暗。因為他的父親在歐洲核子研究中心工作,我們在20世紀80年代早期就有了一次關于計算之未來的VIP之旅。感謝我高中最后一年的數學老師尼古拉斯·卓凡尼尼(Nicolas Giovaninni),他讓我見識到有趣數學和無聊數學之間的區別,突然間我的數學成績達到了最高分!感謝尤金·費烏姆(Eugene Fiume)教授接受并錄取我進入一所北美頂級研究生院:多倫多大學,同時也要感謝他一直以來對我的支持。尤金也是一位優秀的導師,讓我去做我想做的事情,而且毫不在意我在中午的時候才出現下午五點就離開。
感謝多倫多、巴黎、赫爾辛基和西雅圖這四座城市。這本書中描述的大部分研究是在上述城市完成的,盡管在上述城市都受到一些干擾。我發現在不同的國家生活過是一件好事,你可以擺脫任何“民族自豪感”和“地方主義”,?這些東西阻礙了自由和創造性的思考。四處搬動也會讓你謙卑,因為你必須學習一門新的語言,適應一種新的文化,這也會讓你在智力上更富有。所以要有學習的意愿。
? 除非是橙衣軍團正在綠茵場上戰斗。
? 如果你覺得自己被漏掉了,請參見我在SIGGRAPH上的獲獎感言的一頁幻燈片。對,就一頁,鏈接在這里:http://www.autodeskresearch.com/pdf/talks/jos_award05.pdf。如果你仍然覺得自己被遺忘了,我只好戴上我的加拿大遮陽帽說:“對不起,伙計,但還是要謝謝你。”
我還要感謝SIGGRAPH計算機圖形技術成就獎委員會在2005年為我頒發了一個獎項,本書所描述的工作也是獲獎的部分原因。感謝電影藝術與科學學院為流體效果在MAYA中的實現而給我們頒發技術成就獎。我當然遺漏了許多影響過我的人,如果你在讀本書,你知道說的是誰。謝謝大家。?

關于作者
尤士丹(Jos Stam)出生于荷蘭,在日內瓦接受教育并獲得計算機科學和純數學的雙學士學位。1989年他來到多倫多,在那里攻讀了計算機科學的碩士學位和博士學位。之后,他作為ERCIM博士后在法國的INRIA和芬蘭的VTT從事研究工作。1997年,尤士丹博士加入Alias西雅圖分部擔任研究員,2003年他搬至Alias在多倫多的總部。2006年,作為歐特克公司(Autodesk)收購Alias的條件之一,他留任了高級研究科學家一職。在本書中文版開印之前,他剛剛從歐特克公司離職,目前仍留任多倫多大學的兼職教授。
尤士丹博士的研究跨越了計算機圖形學的多個方面:自然現象模擬、基于物理的模擬與渲染、曲面造型(特別是細分曲面技術)。在上述領域他有多篇論文發表于SIGGRAPH年會上。2005年,尤士丹博士被授予計算機圖形學中一個最負盛名的大獎:SIGGRAPH計算機圖形成就獎。此外,他贏得了兩次美國電影藝術與科學學院獎的技術成就獎(俗稱奧斯卡獎):2005年他因細分曲面的工作而獲獎,2007年他因流體動力學的工作而獲獎。2008年1月號的《連線》雜志(Wired)發表了關于他的特別報道。
內容簡介:

流體模擬是在現代計算機游戲開發中生成逼真流體動畫的計算機圖形技術。本書解讀了并不需要高深物理或數學知識就能開發豐富視覺特效的流體動畫技術,講述了如何通過計算機代碼以有趣的方式創建如水、煙霧、火焰和爆炸等效果的流體動畫。書中介紹了驅動流體動畫技術發展的眾多概念,以及流體計算的歷史背景,涵蓋了許多研究領域,包括穩定的流體模擬、曲面流和流的控制。對有抱負的程序員來說,本書非常適合作為學習流體動畫程序開發的起點。

目錄:

第1章 介紹.. .... 1
第2章 觀察、方程和數 ....... 9
2.1 河貍、穴居人和火 ... 9
2.2 從洞穴到古希臘:阿基米德、金冠和獎牌 .. 10
2.3 長卷發的數學家、深淵和噴槍 ..... 13
第3章 牛頓-歐拉方程和納維-斯托克斯方程 ... 27
3.1 列昂納多 ..... 27
3.2 歐拉和連續性 ... 28
3.3 不可壓縮性、連續性、亥姆霍茲和霍吉理論 .. 35
3.4 歐拉和流體運動 ... 38
3.5 牛頓和黏度 ... 43
3.6 納維和斯托克斯以及他們的方程.... 51
3.7 邊界、邊界、邊界、邊界還是邊界.... 55
第4章 早期的計算流體動力學 .. 63
第5章 柯爾莫戈洛夫和湍流 . 71
第6章 流體動畫導論 .. 76
6.1 蟲子 . 77
6.2 柵格 . 81
6.3 沿柵格移動的蟲子 ... 84
6.4 半拉格朗日法 ... 85
6.5 質點柵格法(PIC) ... 89
第7章 插曲 ..... 91
7.1 插曲一:線性方程組 ... 92
7.2 插曲二:線性方程組的通解 ..... 97
7.3 插曲三:循環矩陣與傅里葉變換.... 103
7.4 插曲四:線性方程組的數值解 ... 110
第8章 一個簡單的流體求解器 .. 122
8.1 數學恐怖片:算子分裂 . 125
8.2 請給代碼 ..... 126
8.2.1 移動的密度 ... 129
8.2.2 改變自身運動的流體:非線性 ... 135
8.3 在甜甜圈上爬行的蟲子、傅里葉變換和約60行的C代碼 ... 140
8.4 四維湍流向量場和湍流 . 151
8.5 裝飾流體 ..... 153
第9章 能處理流體的微小計算機 .... 158
第10章 能處理流體的智能手機 162
第11章 Fluid FX: Autodesk Fluid的2.0版本 .. 166
第12章 展示時間!MAYA流體的特效 .... 168
第13章 任意曲面上的流體 . 174
第14章 控制狂!如何使流體聽我們指揮 ... 178
14.1 二維炮彈射擊 ... 180
14.2 計算機優化器 ... 182
14.3 自動微分、伴隨和返回優化器的路徑 ... 190
第15章 真實實驗、計算機實驗和驗證 ... 195
15.1 球體產生的阻力 ... 195
15.2 球體后面的渦旋流動、管內波狀流動、平板間的羽狀湍流 .. 197
15.2.1 實驗一:球體后面的渦旋流動 . 198
15.2.2 實驗二:管內波狀流動 ... 199
15.2.3 實驗三:平板間的羽狀湍流 ... 200
第16章 后記(讓我們停止吧) 202
序: