[其他] 從費馬的螺旋,也能看<少年Pi>特效
我想分享網路上的一篇專文,是在介紹少年Pi特效中重要功臣:Procedural modeling
這篇文章涵蓋的知識是結合了數學、程式、動畫,
最重要的是,以前我只知道應用數學可以用來算演算法,作出更好畫質的影片
但這篇文章,讓我體會到學數學其實也能搞藝術!
數學的美是真的能夠用眼睛欣賞的,大家在逛數學版時,不妨多想數學跟藝術有什麼相關
只節錄一部分數學性較重的,數學版友若從原文看起,可直接跳到我節錄的地方
原文出處:有物報告(http://yowureport.com/?p=3225 附圖)
原文作者:Chi-feng (旅居美國的遊戲設計師,曾在美商藝電(EA)任TA一職)
Procedural modeling 是程式設計師向自然取經
如果留心看看自然界,上天已經隱藏的許多絕妙的 procedural model 在我們身邊了。讀
者應該都看過向日葵吧?向日葵 flower core 的部分,如果讀者仔細觀察,您會看到一
幅上帝的傑作。
向日葵花的排列,非常具有規律與美感,由中心像花瓣一樣四散出去。類似這樣排列的圖
樣,在數學上稱為「費馬的螺旋」(Fermat’s spiral),而其中最適合描述向日葵花的
是一種叫 Polar system 的座標系統。向日葵的wikipedia有對向日葵核心排列的圖樣更
詳盡的解釋,讀者可參考了解筆者下述的 MEL。
筆者參考 Polar system 的三個核心部分:
r = c根號n
r = 正負theta^(1/2)
theta = n * 137.508度
寫出了下列的 MEL:
for ($i =0; $i <=200; $i++){
float $currentAngle = $i * 137.5;
float $radius = 15 * sqrt($i);
float $newY = -1 * $radius * sin($currentAngle);
float $newX = $radius * cos($currentAngle);
sphere;
duplicate;
scale (1+$i*0.2) (1+$i*0.2) (1+$i*0.1);
move (0+$newX) (0+$newY) (0+$i*0.15);
};
如此產生出來的向日葵花核(core)如下圖。只要改變$i角度,就可以改變核心的密集程
度。
圖參見原文: http://yowureport.com/?p=3225
看到這裡,讀者是不是能夠再仔細想想,自然界還有哪些東西是類似向日葵花一樣,暗藏
上帝的傑作呢?而《少年 Pi》在特效的製作正是大量利用了Procedural Modeling 來產
生令人驚豔的奇幻效果,所以說或許某些程面上,李安也是受到自然或是生物所啟發吧!
這也是在電影結束之後,我想對片尾字幕中列出,負責寫 procedural modeling 的程式
人員致敬的原因。有了這些人與技術,在電影特效製作上不僅節省巨量的寶貴時間,還能
夠無限制的馳騁導演的想像力。
------
看完這篇文章,我才懂原來polar system 可以這麼好玩 :P
可以拿來畫向日葵!
希望大家在學數學時,都能發現更多數學的美
(曾經是應用數學系的我共勉之)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 68.170.71.133
※ 編輯: robinhoodli 來自: 68.170.71.133 (12/05 15:08)
推
12/07 00:40, , 1F
12/07 00:40, 1F