提交 62c779aa 编写于 作者: 三月三net's avatar 三月三net

太阳系三体模拟器

上级 228dc36b
......@@ -16,13 +16,13 @@ if __name__ == '__main__':
地球、月球
"""
# 地球的Y方向初始速度
EARTH_INIT_VELOCITY = -0 # 20m/s
EARTH_INIT_VELOCITY = 0
bodies = [
# sun,
Earth(init_position=[0, 0, 0],
init_velocity=[0, EARTH_INIT_VELOCITY, 0], size_scale=1), # 地球放大 10 倍,距离保持不变
init_velocity=[0, EARTH_INIT_VELOCITY, 0], size_scale=0.5e1), # 地球放大 5 倍,距离保持不变
Moon(init_position=[363104, 0, 0], # 距地距离约: 363104 至 405696 km
init_velocity=[0, EARTH_INIT_VELOCITY + 1.023, 0], size_scale=1) # 月球放大 10 倍,距离保持不变
init_velocity=[0, EARTH_INIT_VELOCITY + 1.023, 0], size_scale=1e1) # 月球放大 10 倍,距离保持不变
]
# mayavi_run(bodies, SECONDS_PER_HALF_DAY / 2, view_azimuth=-45)
......
......@@ -32,6 +32,8 @@ if __name__ == '__main__':
Pluto(size_scale=10e3), # 冥王星放大 10000 倍,距离保持不变(从太阳系的行星中排除)
]
# 使用 mayavi 查看的运行效果
# mayavi_run(bodies, SECONDS_PER_WEEK, view_azimuth=-45)
# 使用 ursina 查看的运行效果
ursina_run(bodies, SECONDS_PER_DAY, position=(0, 0, 0))
\ No newline at end of file
......@@ -36,6 +36,8 @@ if __name__ == '__main__':
]
# endregion
# 使用 mayavi 查看的运行效果
# mayavi_run(bodies, SECONDS_PER_WEEK, view_azimuth=-45, view_distance=3e9, view_focalpoint=[5e2, 5e2, 5e2])
# 使用 ursina 查看的运行效果
ursina_run(bodies, SECONDS_PER_WEEK, position=(0, 0, 0))
\ No newline at end of file
......@@ -80,5 +80,6 @@ if __name__ == '__main__':
bodies += asteroids
# endregion 3
# 使用 mayavi 查看的运行效果
# mayavi_run(bodies, SECONDS_PER_WEEK, view_azimuth=-45)
mayavi_run(bodies, SECONDS_PER_WEEK, view_azimuth=-45, view_distance=3e9, view_focalpoint=[5e2, 5e2, 5e2])
......@@ -15,9 +15,12 @@ if __name__ == '__main__':
太阳、地球
"""
bodies = [
Sun(size_scale=1.2e2), # 太阳放大 120 倍
Sun(size_scale=5e1), # 太阳放大 50 倍
Earth(size_scale=2e3, distance_scale=1), # 地球放大 2000 倍,距离保持不变
]
# 使用 mayavi 查看的运行效果
# mayavi_run(bodies, SECONDS_PER_WEEK, view_azimuth=-45)
ursina_run(bodies, SECONDS_PER_DAY, position=(0, 0, 0))
# 使用 ursina 查看的运行效果
ursina_run(bodies, SECONDS_PER_WEEK, position=(0, 0, 0))
......@@ -8,15 +8,20 @@
# ==============================================================================
from bodies import Sun, Earth, Jupiter
from common.consts import SECONDS_PER_WEEK
from scenes.func import mayavi_run
from scenes.func import mayavi_run, ursina_run
if __name__ == '__main__':
"""
太阳、地球、木星
"""
bodies = [
Sun(size_scale=1.2e2), # 太阳放大 120 倍
Earth(size_scale=4e3, distance_scale=1), # 地球放大 4000 倍,距离保持不变
Jupiter(size_scale=1e3, distance_scale=0.5), # 木星放大 1000 倍,距离缩小到真实距离的 0.5
Sun(size_scale=5e1), # 太阳放大 50 倍
Earth(size_scale=2e3, distance_scale=1), # 地球放大 2000 倍,距离保持不变
Jupiter(size_scale=5e2, distance_scale=1), # 木星放大 500 倍,距离保持不变
]
mayavi_run(bodies, SECONDS_PER_WEEK, view_azimuth=-45)
# 使用 mayavi 查看的运行效果
# mayavi_run(bodies, SECONDS_PER_WEEK, view_azimuth=-45)
# 使用 ursina 查看的运行效果
ursina_run(bodies, SECONDS_PER_WEEK, position=(0, 0, 0))
......@@ -29,6 +29,7 @@ if __name__ == '__main__':
init_velocity=[-1.023, EARTH_INIT_VELOCITY, 0],
size_scale=2e1) # 月球放大 20 倍,距离保持不变
]
# 使用 mayavi 查看的运行效果
# mayavi_run(bodies, SECONDS_PER_HALF_DAY / 2, view_azimuth=-45)
# 使用 ursina 查看的运行效果
......
......@@ -29,4 +29,6 @@ if __name__ == '__main__':
Earth(init_position=[0, -249597870.700, 0], init_velocity=[15.50, 0, 0],
size_scale=4e3, distance_scale=1), # 地球放大 4000 倍,距离保持不变
]
# 使用 mayavi 查看的运行效果
mayavi_run(bodies, SECONDS_PER_WEEK, view_azimuth=0)
......@@ -26,4 +26,6 @@ if __name__ == '__main__':
Earth(init_position=[0, 349597870.700, 0], init_velocity=[10.50, 0, 0],
size_scale=4e3, distance_scale=1), # 地球放大 4000 倍,距离保持不变
]
# 使用 mayavi 查看的运行效果
mayavi_run(bodies, SECONDS_PER_WEEK, view_azimuth=0)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册