這章介紹的是物理引擎。
物理引擎裡頭有許多已經寫好的程式,可以用來模擬物理現象。例如,先前幾章中我們所模擬的物體的運動、單擺、彈簧等等,都可以在物理引擎中找到相關的程式,不需要自己從頭寫到尾;這就好像我們不自己寫,而會呼叫python的math模組中的許多數學函數如sin、cos等一樣。既然人家都寫好了有現成的可以用,那我們先前花那麼多時間、精神來學習怎麼寫模擬物理現象的程式,又是所為何來?這話可不能這麼說,要用現成的東西,總該要知道用法吧?如果沒有一些相關的知識,又怎麼知道那一大堆的參數、屬性是啥意思?更糟糕的是,說不定會連說明文件都看不懂,想上網發問也不知道從何問起,即便問了,也看不懂別人的回答。那知道用法之後,是不是就不用寫什麼程式了呢?當然不是!畢竟物理引擎是別人寫的,他哪知道你想要做出什麼樣的效果或達到什麼樣的目的。所以囉,要做出想要的效果、達成想要的目的,程式還是要靠自己寫,只不過如果剛好有別人寫好的,那就拿來用,以節省時間;python的模組也就是這樣子用的,不是嗎?
物理引擎百百種,原書在這一章介紹了兩種:Matters.js及Toxiclibs.js。可惜的是,這兩個物理引擎並沒有對應的python版本。所以,這章就此打住,以後再找個python的物理引擎來研究。