2015.8.13更新:
上一章中解决了基本的画图技术,现在就该写真正的程序组件了。
我们将程序分成四个组件:
1)物理学组件physical module,包含基础的物理学和数学工具。
2)场景组件scene,包含场景相关的定义和方法。
3)绘图组件plotting,包含绘图方法。
4)头文件constants.h,包含程序中可能用到的诸多常量。
先写物理学组件physical module.h/cpp。
出于显然的原因,所有值均按国际单位制。
物理学组件包含:
①坐标类Vec3,成员是x,y,z三个坐标,均为float。Vec3这个名字沿用自OpenGL标准。之所以是三维是为了给将来(可能的)改成立体留余地。
②质点类Partical。成员:当前位置(Vec3),质量(float),速度(Vec3)。其中速度的方向就是向量的指向,大小则为向量的模长。
③向量加减、数乘、求模长等数学函数
④求一个质点对另一个质点所产生重力加速度的函数。公式就是a=G*m2/r^2,其中m2是施力物的质量,r是二者距离。这个公式其实就是万有引力公式约掉m1得到的。写着并不难,主要是逻辑结构要清晰。<