额外减小 发表于 2023-3-4 17:44:46

第二次用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)

额外减小 发表于 2023-3-4 17:49:38

公式如下

其中 m 为本征质量
m' 为非本征质量
如有谬误还请大佬指正,谢谢{:10_254:}
@Mike_python小 @hveagle @sfqxx @高山 @liuhongrun2022 看看吗

歌者文明清理员 发表于 2023-3-4 17:55:28

额外减小 发表于 2023-3-4 17:49
公式如下

其中 m 为本征质量


不叫我?

sfqxx 发表于 2023-3-4 17:55:36

育碧

wyhpylc 发表于 2023-3-4 20:46:27

草(三声)我物理本来就不好,而且我只有初二啊,没学这玩意

额外减小 发表于 2023-3-5 07:13:24

歌者文明清理员 发表于 2023-3-4 17:55
不叫我?

az
最多我只能叫五个 所以我就胡乱选择了前五个
你放心,下次一定叫你

额外减小 发表于 2023-3-5 07:14:37

wyhpylc 发表于 2023-3-4 20:46
草(三声)我物理本来就不好,而且我只有初二啊,没学这玩意

加油

歌者文明清理员 发表于 2023-3-5 07:18:08

@元豪 @KeyError @学习编程中的Ben @zhangjinxuan @ExiaGN001

额外减小 发表于 2023-3-5 07:53:10

歌者文明清理员 发表于 2023-3-5 07:18
@元豪 @KeyError @学习编程中的Ben @zhangjinxuan @ExiaGN001

az...
谢谢你
{:10_254:}

ExiaGN001 发表于 2023-3-5 07:56:23

歌者文明清理员 发表于 2023-3-5 07:18
@元豪 @KeyError @学习编程中的Ben @zhangjinxuan @ExiaGN001

py的内容就别喊我过来了,我不会

liuhongrun2022 发表于 2023-3-5 08:35:39

康康

学习编程中的Ben 发表于 2023-3-5 09:50:18

{:7_146:}力鼎!
页: [1]
查看完整版本: 第二次用turtle作图:相对论