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