IDEA FROM: https://www.mathsisfun.com/numbers/gravity-freeplay.html
但是算的太慢了,而且不好自定义内容,调整之类的,所以手写了一个。
简单来说微分每一瞬间(由于尺度很大,所以设置为 $1s$),每一瞬间中视为匀加速直线运动,维护质量,位置,速度,然后模拟运动。
再处理撞击,质量相加,位置,速度平均。
出于运行速度考虑,使用 C++ 计算出结果,再用 Python 可视化。
可视化的代码好几份,分别可以生成静态,动态,区间的图像。
主要是最近集训有点破防,要开始努力了。
放张图。
Update:Ver 2.1.0
在星体接近的时候增加了计算精度(相当于慢放)。
增加了动量守恒定律。
增强了观感。
不能再写了,要退役了……