Processing 特训(Forces) - 3

明确概念

力: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()

你可能感兴趣的:(Processing 特训(Forces) - 3)