目錄

20200718 想法源起 20200719 我們在做什麼(一) 20200722 我們在做什麼(二) 20200725 竟然成為數學家(一) 20200729 竟然成為數學家(二) 20200801 竟然成為數學家(三) 20200805 不同職級(一) 20200808 不同職級(二) 20200812 趕客系列(一)為什麼讀大學? 20200815 趕客系列(二)不同大學學位跟工作的關係 20200819 趕客系列(三)大學的目的 20200822 趕客系列(四)大學為什麼要有主修 20200826 趕客系列(五)要挑選一個什麼樣的主修 20200829 沒有無緣無故的恨(一) 20200831 科普系列 - 數學與電影動畫製作(一) 20200902 沒有無緣無故的恨(二) 20200905 沒有無緣無故的恨(三) 20200907 科普系列 - 數學與電影動畫製作(二) 20200909 終身職位的評核 20200912 學術界吸引人的地方 20200914 科普系列 - 數學與電影動畫製作 (三) 20200916 學術界辛苦的地方(一) 20200919 學術界辛苦的地方(二) 20200921 科普系列 - 數學與電影動畫製作 (四) 20200923 大學的讀書成績有多重要 20200926 本科生研究機會 20200928 科普系列 - 數學與圖像修復(一) 20200930 用創新的方法去教育科學 20201003 參加研討會的重要 20201005 科普系列 - 數學與圖像修復(二) 20201007 教授與教學 20201010 研究是什麼(一) 20201012 科普系列 - 數學與圖像修復(三) 20201014 研究是什麼(二) 20201017 研究是什麼(三) 20201019 科普系列 - 數學與圖像修復(四) 20201021 如何閱讀研究論文 20201024 研究生應該修什麼課 20201026 科普系列 - 數學與圖像修復(五) 20201029 本科生的多主修多副修 20201102 科普系列 - 數學與數獨(一) 20201105 幾位教授(一) 20201109 科普系列 - 數學與數獨(二) 20201112 幾位教授(二) 20201116 科普系列 - 數學與數獨(三) 20201119 幾位教授(三) 20...

科普系列 - 數學與電影動畫製作 (二)


由於大部份觀眾都被寵壞了,對這些電腦特技的要求越來越高,所以電影拍攝公司亦都會盡可能發展一些新的技術去幫助他們拍攝。這些在動畫製作上邊就顯得非常明顯。大約在2000年時,有一些公司就開始發展一些叫做「物理模擬」的動畫製作(Physics Based Simulations)。他們就不會要求動畫師在電腦面前把動畫一幅一幅慢慢的畫出來,反而,是使用了一些物理數學的原理加入動畫製作裏面。方法是先建立一個數學模型去模擬動畫裏面運動的過程。這些場景大部份都已經有很好的數學方程式模擬。比如說如果你想模擬海面運動的過程,你就需要看一下納維-斯托克斯方程(Navier-Stokes Equation)。如果你想模擬物件在一般情況下運動的過程,你有可能可以看一下牛頓方程式。但是如果場景非常複雜,儘管我們可以把數學模型寫得很好,這些問題通常非常難以用人手解決,基本上不可能去找一個顯性的解(Explicit Solution)。所以這就需要用電腦去幫我們找出一個近似值。儘管我們說是近似值,但是絕大部份時間找出來的答案都已經比以往動畫插畫師一幅一幅慢慢畫來得好得多。

最先出現的其中一個例子就是2001Pixar的怪獸公司[1]。可能大家不清楚,Pixar這間公司並不只是動畫製作公司那麼簡單,他其實是一間研究中心。他每一齣動畫電影,裏面都發展了一些新的電腦動畫技術,去幫助他的製作。在怪獸公司這齣電影裏面,Pixar就發明了一套可以幫忙模擬毛髮運動的軟件。主角蘇利文(Sulley)全身都有厚厚的毛髮。由於巨大身體的運動,身體上面每一條毛髮都會隨之而不斷擺動。而他們擺動的方式,其實就是根據了一些數學方程式去模擬出來的。你可以想像一下,我們根本不可能要求動畫師將身體上面每一條毛髮都一條一條的去畫出來,也已經不說我們希望可以看到一些比較合理而且又隨着身體運動的鏡頭。然後你又想像一下,就算動畫師可以不計時間用一年半載去畫出這35秒的動畫出來,然後導演說, 咦,那時是在下雨,為什麼他的毛髮那麼蓬鬆,不是應該看起來重一些嗎?然後,就沒有然後了。因為動畫師發覺已經沒有那個耐性再把這些再畫一次了。這就顯示了物理模擬動畫製作的重要之處。因為如果公司已經把這套軟件發展出來,很可能在軟件裏面已經有好幾個不同的參數代表着不同環境的變化。用上面的下雨的例子來說,電腦動畫師只需要回去把參數改一改,就可以再去吃過午飯,回來就已經可以看一下電腦運算出來的結果。



另外一個Pixar做出來的軟件,可以用來模擬海面波浪變化。在Finding Nemo(海底總動員)[2]裏面,就有一幕講述主角被捕捉到悉尼的一間診療所裏面。鏡頭一轉,看見悉尼歌劇院外面海面,有海豚在水面滑過。然後可以清楚看見海面上海波浪的變化。這一個問題在計算流體力學裏面非常困難。主要原因是在這個模擬裏面有三個不同的狀態,包括了空氣,流體(就是說海水),以及固體(在這個例子就是海豚的背鰭)。如果我們想計算這三個不同狀態變化的過程,我們就必須要有一個很好的軟件幫忙計算在不同情況下這三個狀態的表示方式。比如說,在氣體及液體之間的介面(Interface),我們就需要有方法模擬海浪泛起,產生氣泡,然後不同大小的氣泡被困在水裏的情況。這些在水中的起泡也因為表面張力互相結合而成為一個大的起泡。也可能由於速度不同,一個大的起泡會分裂成很多細小的起泡。海水也因為波浪的原因離開了海面,產生了很多浪花,一粒一粒的水珠在空氣裏面翻滾飛動。又比如,液體及固體的互相影響,也是一個困難的課題。可以想像波浪拍岸,波浪會因而改變他的速度及運動方向,如何在偏微分方程裏面解決這個邊界問題,也需要一點仔細的分析。所以在那一齣動畫裏面,Pixar就運用了一些介面計算的方式,去幫忙「繪畫」海洋生物在海面運動時所產生波浪的變化。所以看起來,動畫就非常寫實。



[1] https://www.wikiwand.com/en/Monsters,_Inc.

[2] https://vignette.wikia.nocookie.net/disney/images/b/ba/Finding_Nemo-_2003.jpg

留言