提交 481de633 编写于 作者: M march3

太阳系三体模拟器

上级 fafd8040
...@@ -20,7 +20,6 @@ class Moon(Body): ...@@ -20,7 +20,6 @@ class Moon(Body):
 平均密度: 3.344 g/cm³ -> 3.344✕10³ kg/m³  平均密度: 3.344 g/cm³ -> 3.344✕10³ kg/m³
""" """
# 质 量约 [1] 平均密度约 3.344 g/cm³ [1] 质 量约 7.342✕1022 kg [1]
def __init__(self, name="Moon", mass=7.342e22, def __init__(self, name="Moon", mass=7.342e22,
init_position=[363104 + 1.12 * AU, 0, 0], init_position=[363104 + 1.12 * AU, 0, 0],
init_velocity=[0, 29.79 + 1.023, 0], init_velocity=[0, 29.79 + 1.023, 0],
......
...@@ -32,4 +32,4 @@ SECONDS_PER_WEEK = SECONDS_PER_DAY * 7 ...@@ -32,4 +32,4 @@ SECONDS_PER_WEEK = SECONDS_PER_DAY * 7
""" """
一月多少秒(按照30天) 一月多少秒(按照30天)
""" """
SECONDS_PER_MONTH = SECONDS_PER_DAY * 30 SECONDS_PER_MONTH = SECONDS_PER_DAY * 30
\ No newline at end of file
...@@ -78,7 +78,7 @@ class System(object): ...@@ -78,7 +78,7 @@ class System(object):
:param body: :param body:
:return: :return:
""" """
if not body.appeared: # 不显示 if not body.appeared: # 不显示
return False return False
if self.max_distance > 0: if self.max_distance > 0:
# 超过了 max_distance 距离,则不显示,并消失 # 超过了 max_distance 距离,则不显示,并消失
......
...@@ -37,19 +37,16 @@ if __name__ == '__main__': ...@@ -37,19 +37,16 @@ if __name__ == '__main__':
# 按照以上代码案例格式生成代码,要求 init_position 、init_velocity、mass 生成后,要保证在万有引力的作用下,能正常运行,不会碰撞 # 按照以上代码案例格式生成代码,要求 init_position 、init_velocity、mass 生成后,要保证在万有引力的作用下,能正常运行,不会碰撞
""" """
太阳1: 太阳1:
初始位置:(100000, 200000, 300000) km 初始位置:(100000, 200000, 300000) km
初始速度:(-1.0, -2.0, 3.0) km/s 初始速度:(-1.0, -2.0, 3.0) km/s
质量:2.5 x 10^30 kg 质量:2.5 x 10^30 kg
太阳2: 太阳2:
初始位置:(-150000, 250000, 350000) km 初始位置:(-150000, 250000, 350000) km
初始速度:(2.0, -3.0, -1.0) km/s 初始速度:(2.0, -3.0, -1.0) km/s
质量:2.0 x 10^30 kg 质量:2.0 x 10^30 kg
太阳3: 太阳3:
初始位置:(200000, -300000, 400000) km 初始位置:(200000, -300000, 400000) km
初始速度:(-3.0, 1.0, -2.0) km/s 初始速度:(-3.0, 1.0, -2.0) km/s
质量:2.8 x 10^30 kg 质量:2.8 x 10^30 kg
......
...@@ -18,6 +18,11 @@ COSMIC_FORE_COLOR = "white" ...@@ -18,6 +18,11 @@ COSMIC_FORE_COLOR = "white"
def get_default_colors(styles={}): def get_default_colors(styles={}):
"""
:param styles:
:return:
"""
bg_color = styles["bg_color"] if "bg_color" in styles else "white" # COSMIC_BG_COLOR bg_color = styles["bg_color"] if "bg_color" in styles else "white" # COSMIC_BG_COLOR
fore_color = styles["fore_color"] if "fore_color" in styles else "black" # COSMIC_FORE_COLOR fore_color = styles["fore_color"] if "fore_color" in styles else "black" # COSMIC_FORE_COLOR
# bg_color = styles["bg_color"] if "bg_color" in styles else COSMIC_BG_COLOR # bg_color = styles["bg_color"] if "bg_color" in styles else COSMIC_BG_COLOR
...@@ -28,6 +33,11 @@ def get_default_colors(styles={}): ...@@ -28,6 +33,11 @@ def get_default_colors(styles={}):
def create_fig_ax(styles={}): def create_fig_ax(styles={}):
"""
:param styles:
:return:
"""
bg_color, fore_color = get_default_colors(styles) bg_color, fore_color = get_default_colors(styles)
plt.rcParams['patch.facecolor'] = bg_color plt.rcParams['patch.facecolor'] = bg_color
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册