明確概念
力:F = new PVector(x, y),定義一個(gè)2維方向的力
加速度:a = f.div(m),m是質(zhì)量,若定義m為,則a=f
對(duì)象參數(shù):當(dāng)函數(shù)參數(shù)是向量時(shí),傳遞的時(shí)該向量的Reference,會(huì)直接修改其值
重力:方向垂直向下,大小G=mg
風(fēng)力:方向水平向右,大小F自定義
空氣阻力:方向和速度成反方向,大小F=uv
萬(wàn)有引力:方向?yàn)榛ハ辔?,F(xiàn)=Gm1m2/r1r2
明確功能
1.一個(gè)物體受到重力,風(fēng)力影響在物理世界中運(yùn)動(dòng)
功能設(shè)計(jì)
類(lèi):Mover
屬性:初始坐標(biāo),初始速度,初始加速度,初始形狀/大小,初始受力
方法:setup(),applyForce(),move(),display()
偽代碼
setup(){
? ???mover.setup()
}
draw(){
? ? mover.move()
? ? mover.display()
}
class Mover{
? ? 定義屬性
? ? Mover(){}
????定義方法
}
正式代碼
見(jiàn):
https://github.com/JoeyQiang/Processing/tree/master/Forces
代碼優(yōu)化
1.施加空氣阻力
2.模擬宇宙中N個(gè)物體萬(wàn)有引力
3.有分母的方程,限制在大小區(qū)間,constrain()