第二次用turtle作图:相对论
如题该程序模拟水星近日点进动现象
原理:狭义相对论质增效应
具体见代码
c 表示光速(不要低于行星起始速度!)
# 水星近日点进动 | 相对论质增效应
# Jianbing_Juan
import turtle as t
import math as m
def _angle(z):
if z.real>0:
return m.atan(z.imag/z.real)
elif z.real<0:
return m.atan(z.imag/z.real)+m.pi
else:
if z.imag>0:
return m.pi/2
elif z.imag<0:
return -m.pi/2
def F(z):
return -G*Mass*mass/pow(abs(z),2)*m.cos(_angle(z))-G*Mass*mass/pow(abs(z),2)*m.sin(_angle(z))*1j
mass=100
mass_v=mass
Mass=100000
G=1
c=500
st_r=-100+100j
st_v=20-5j
tstep=0.00005
r=st_r
v=st_v
t.up()
t.goto(r.real,r.imag)
t.down()
while True:
for i in range(200):
r+=v*tstep
v+=F(r)/mass_v*tstep
mass_v=mass/m.sqrt(1-(abs(v)*abs(v))/(c*c))
t.goto(r.real,r.imag)
公式如下
其中 m 为本征质量
m' 为非本征质量
如有谬误还请大佬指正,谢谢{:10_254:}
@Mike_python小 @hveagle @sfqxx @高山 @liuhongrun2022 看看吗 额外减小 发表于 2023-3-4 17:49
公式如下
其中 m 为本征质量
不叫我? 育碧 草(三声)我物理本来就不好,而且我只有初二啊,没学这玩意 歌者文明清理员 发表于 2023-3-4 17:55
不叫我?
az
最多我只能叫五个 所以我就胡乱选择了前五个
你放心,下次一定叫你 wyhpylc 发表于 2023-3-4 20:46
草(三声)我物理本来就不好,而且我只有初二啊,没学这玩意
加油 @元豪 @KeyError @学习编程中的Ben @zhangjinxuan @ExiaGN001 歌者文明清理员 发表于 2023-3-5 07:18
@元豪 @KeyError @学习编程中的Ben @zhangjinxuan @ExiaGN001
az...
谢谢你
{:10_254:} 歌者文明清理员 发表于 2023-3-5 07:18
@元豪 @KeyError @学习编程中的Ben @zhangjinxuan @ExiaGN001
py的内容就别喊我过来了,我不会 康康 {:7_146:}力鼎!
页:
[1]