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

太阳系三体模拟器

上级 593d631d
......@@ -83,7 +83,7 @@ def ursina_run(bodies,
body_sys = System(bodies)
if save_as_json is not None:
try:
body_sys.save_to_json(save_as_json, {"dt": dt, "position": position})
body_sys.save_to_json(save_as_json, {"dt": dt, "position": position, "show_trail": show_trail})
print(f"{save_as_json} 文件生成成功!")
except Exception as e:
print(f"{save_as_json} 文件生成失败!" + str(e))
......
......@@ -32,4 +32,4 @@ if __name__ == '__main__':
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后-
ursina_run(bodies, SECONDS_PER_MONTH, position=(0, AU, -3 * AU))
ursina_run(bodies, SECONDS_PER_MONTH, position=(0, AU, -3 * AU), show_trail=True)
......@@ -15,8 +15,7 @@ if __name__ == '__main__':
太阳、地球 Sirius(size_scale=0.2, init_position=[0, 0, 0]),
"""
bodies = [
Sirius(size_scale=2e1,init_position=[0,0,0]),
Sun(size_scale=5e1,init_position=[0,0,0]), # 太阳放大 50 倍
Sun(size_scale=5e1), # 太阳放大 50 倍
Earth(size_scale=2e3, distance_scale=1), # 地球放大 2000 倍,距离保持不变
]
......@@ -26,4 +25,4 @@ if __name__ == '__main__':
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后-
ursina_run(bodies, SECONDS_PER_WEEK, position=(0, AU, -3 * AU))
ursina_run(bodies, SECONDS_PER_WEEK, position=(0, AU, -3 * AU), show_trail=True)
......@@ -26,4 +26,4 @@ if __name__ == '__main__':
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后-
ursina_run(bodies, SECONDS_PER_WEEK, position=(0, AU, -3 * AU))
ursina_run(bodies, SECONDS_PER_WEEK, position=(0, AU, -3 * AU), show_trail=True)
......@@ -59,4 +59,4 @@ if __name__ == '__main__':
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后-
ursina_run(bodies, SECONDS_PER_YEAR, position=(3 * AU, 3 * AU, -20 * AU))
ursina_run(bodies, SECONDS_PER_YEAR, position=(3 * AU, 3 * AU, -20 * AU), show_trail=True)
......@@ -53,4 +53,4 @@ if __name__ == '__main__':
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后-
ursina_run(bodies, SECONDS_PER_YEAR, position=(3 * AU, AU, -4 * AU))
ursina_run(bodies, SECONDS_PER_YEAR, position=(-2 * AU, AU, -5 * AU), show_trail=True)
......@@ -33,4 +33,4 @@ if __name__ == '__main__':
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后-
ursina_run(bodies, SECONDS_PER_YEAR, position=(0, 2 * AU, -5 * AU))
\ No newline at end of file
ursina_run(bodies, SECONDS_PER_YEAR, position=(0, 2 * AU, -5 * AU), show_trail=True)
\ No newline at end of file
......@@ -29,9 +29,10 @@ if __name__ == '__main__':
dt = params["dt"] if "dt" in params else SECONDS_PER_YEAR
position = params["position"] if "position" in params else (0, 0, 0)
show_trail = params["show_trail"] if "show_trail" in params else True
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后-
json_file = None # 指定 json_file 保存路径,则会将模拟环境天体数据保存到该json文件中
ursina_run(bodies, dt, position=position, save_as_json=json_file)
ursina_run(bodies, dt, position=position, save_as_json=json_file, show_trail=show_trail)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册