書名:代碼本色:用編程模擬自然系統(tǒng)
作者:Daniel Shiffman
譯者:周晗彬
ISBN:978-7-115-36947-5
總目錄
第 5 章 物理函數(shù)庫
1潘懊、目錄
- 5.1 Box2D及其適用性
- 5.2 獲取Processing中的Box2D
Processing 安裝外部庫 Box2D實(shí)操 - 5.3 Box2D基礎(chǔ)
- 5.4 生活在Box2D的世界
- 5.5 創(chuàng)建一個(gè)Box2D物體
- 5.6 三要素:物體、形狀和夾具
- 5.7 Box2D和Processing的結(jié)合(1)
Box2D和Processing的結(jié)合(2) - 5.8 固定的Box2D對象
- 5.9 彎曲的邊界
- 5.10 復(fù)雜的形狀
- 5.11 Box2D關(guān)節(jié)
旋轉(zhuǎn)關(guān)節(jié)
鼠標(biāo)關(guān)節(jié) - 5.12 回到力的話題
- 5.13 碰撞事件
- 5.14 小插曲:積分法
- 5.15 toxiclibs的Verlet Physics物理庫
構(gòu)建toxiclibs的物理世界 - 5.16 toxiclibs中的粒子和彈簧
- 5.17 整合代碼:一個(gè)簡單的交互式彈簧
- 5.18 相連的系統(tǒng)I:繩子
- 5.19 相連的系統(tǒng)II:力導(dǎo)向圖
- 5.20 吸引和排斥行為
2恶守、回顧
- 1.學(xué)習(xí)物理世界中的一些概念座韵,比如什么是向量也拜,什么是力,以及什么是波柑船。
- 2.理解這些概念背后的數(shù)學(xué)和算法原理杭抠。
- 3.用面向?qū)ο蠓椒▽?shí)現(xiàn)這些算法褒搔。
??我們通過這些活動開發(fā)了很多運(yùn)動模擬程序阶牍,借此能隨心所欲地構(gòu)建虛擬物理世界(無論是現(xiàn)實(shí)的,還是想象的世界)星瘾。
- 計(jì)算機(jī)圖形學(xué)和編程領(lǐng)域有很多現(xiàn)成代碼可用于模擬走孽,只要用谷歌搜索關(guān)鍵詞“open-source physics engine”(開源物理引擎),你就能找到豐富的代碼庫琳状。
3磕瓷、問題
??如果用現(xiàn)成的代碼庫就能完成物理模擬,為何還要花時(shí)間學(xué)習(xí)算法的實(shí)現(xiàn)過程念逞?
??盡管很多物理函數(shù)庫能提供現(xiàn)成的物理實(shí)現(xiàn)(包括一些高級的物理學(xué)原理)困食,但在使用它們之前,我們?nèi)孕鑿幕A(chǔ)開始學(xué)習(xí)翎承,原因有很多:
- 第一硕盹,如果沒有向量、力和三角函數(shù)的基礎(chǔ)知識作為鋪墊叨咖,我們就無法讀懂庫的文檔瘩例;
- 第二,盡管庫會替我們完成數(shù)學(xué)運(yùn)算甸各,但它并不會簡化代碼垛贤,后面我們會看到,理解物理函數(shù)庫的工作原理需要花費(fèi)很多精力趣倾,學(xué)會如何使用它也不是一件容易的事聘惦;
- 最后,有了這些基礎(chǔ)知識儒恋,如果你愿意深入探究部凑,完全可以按照自己的意愿開發(fā)和模擬可視化程序露乏,最終達(dá)成的效果也可以媲美這些物理函數(shù)庫。
- 盡管庫的作用很大涂邀,但它的功能有限瘟仿,在用Processing編程時(shí),你需要知道何時(shí)在限制中行事比勉,何時(shí)突破限制劳较。
4、兩個(gè)開源物理庫
- Box2D
- toxiclibs中的VerletPhysics引擎
學(xué)習(xí)這些庫的優(yōu)缺點(diǎn)浩聋,以及在項(xiàng)目中采用它們的原因观蜗。