python物理模拟_用python模拟三体运动

python

模拟三体运动

知乎不让传动图,大家可以移步我的博客

wend.blog.ustc.edu.cn,

上面有动图大四就要有大四的样子,

最近闲来无事,想起来以前一直想做的一件事:模拟三体运

动。正好可以练一练

python

小试牛刀先从模拟二维正方

形中,弹性小球的运动轨迹入手,熟悉相关操作。物理情景

很简单,就是弹性小球位于正方形空间中,有某初速度,未

与边界碰撞时进行匀速直线运动,与边界碰撞时发生弹性碰

撞。模拟思路很简单,在

t

时间,位于

r

处,取小时间微元

dt

,认为小球在此微元内进行匀速直线运动,计算

t+dt

时刻

的位置和速度,继续迭代。代码如下

import numpy as

npimport matplotlib.pyplot as pltimport matplotlib.animation

as animation def simData(): dt = 0.0001 d1 = 0.25 d2 =

0.25 v1 = 12 v2 = 5 while True: d1+=v1*dt d2+=v2*dt if

(d1>1) or (d11) or (d2

无限模拟下去,可以发现如果小球的

初始条件不是那么特殊,小球最终将遍历正方形中所有点。

这里吐槽一下

python

的动画模块,太不直观,帮助简直不

知所云,在用动画展示数据这方面,

mathematica

就做的非

常好。知乎不能发动图,所以我将图片存放在请输入提取码

访问密码

b684

可以下载

模拟三体为了简单,假设三个物体质量相同,有着相同的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值