P2簡介
P2是一款基於Javascript編寫的HTML5 2D物理引擎,和Box2D、Nape等2D物理引擎一樣,P2集成了各種復雜的物理公式和算法,可以幫助我們輕松的實現碰撞、反彈等物理現象的模擬。
學習資料
元素介紹
World(世界),這就是一個模擬的物理世界,所有的剛體和約束創建后都要放進來。
Body(剛體),它是一塊無限堅硬的物體。因此,在這塊物體上任何兩點之間的距離都被認為是固定的。Body(剛體)有自己的參數用來規定位置、質量和速度等,剛體的形狀是由Shape創建的形狀確定的。
Shape(形狀),一個幾何形狀,可以是矩形、圓形等等。
Constraint(約束),constraint 是一個物理連接件,用來控制剛體的自由度。在3d世界,物體有6個自由度(3個平移坐標和3個旋轉坐標)。在2d世界,物體只有3個自由度(2個平移坐標和1個旋轉坐標)。眾所周知,人類世界是3d的,因此我們家里的門本來應該是有6個自由度的,但是由於門的一側被門鉸鏈固定在牆上,它失去了另外5個自由度,只能照着門鉸鏈這個軸旋轉了。門鉸鏈就相當於一個constraint(約束)。
Contact constraint(接觸約束),這是一個特別的約束,作用在於防止剛體之間的滲透重疊,並且它可以模擬摩擦和彈性。你無須創建這個約束,系統會自動創建它的。
Solver(求解器),物理世界的solver(求解器)專門用於處理約束情況。