球-弹簧物理模型模拟程序一、 编写目的1.模拟一个非线性动力系统,体会系统参数的混沌现象。2.熟悉VPython的使用。二、 物理模型描述模型空间的四周及顶面为刚性壁,底为一有质量的刚性平板,平板由一根轻弹簧支撑。模型空间内有数个刚性球作自由运动。球的初始位置在空间内均匀分布,初始速度满足正态分布。所有碰撞均为完全弹性碰撞。并假设平板只能作Z方向一维运动。三、 设计思想由物理学中的能量守恒和动量守恒推导碰撞前后物体的速度变化。每次迭代先使物体状态按时间小量dt发展,再判断是否有碰撞发生,若有则由前面推导的公式改变相关物体的速度。以适当的速率重复上述步骤,再用visual库绘制出对应图形,则得到这个物理模型的模拟演示动画。四、 使用方法直接运行程序,则开始模拟并实时绘制。也可修改程序开始处的几个全局变量,改变模型的参数。五、 参考资料VPython官方文档六、 说明在Python2.7下调试通过。本程序中没有一行代码直接来自网络、书籍等处,参考资料仅为VPython官方文档。附截图及源代码。程序运行效果截图