明确概念
力:F = new PVector(x, y),定义一个2维方向的力
加速度:a = f.div(m),m是质量,若定义m为,则a=f
对象参数:当函数参数是向量时,传递的时该向量的Reference,会直接修改其值
重力:方向垂直向下,大小G=mg
风力:方向水平向右,大小F自定义
空气阻力:方向和速度成反方向,大小F=uv
万有引力:方向为互相吸引,F=Gm1m2/r1r2
明确功能
1.一个物体受到重力,风力影响在物理世界中运动
功能设计
类:Mover
属性:初始坐标,初始速度,初始加速度,初始形状/大小,初始受力
方法:setup(),applyForce(),move(),display()
伪代码
setup(){
mover.setup()
}
draw(){
mover.move()
mover.display()
}
class Mover{
定义属性
Mover(){}
定义方法
}
正式代码
见:
https://github.com/JoeyQiang/Processing/tree/master/Forces
代码优化
1.施加空气阻力
2.模拟宇宙中N个物体万有引力
3.有分母的方程,限制在大小区间,constrain()
网友评论