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

Python超人-宇宙模拟器

上级 22c9b106
...@@ -402,9 +402,11 @@ def get_init_pos_vels_2(): ...@@ -402,9 +402,11 @@ def get_init_pos_vels_2():
return init_pos_vels return init_pos_vels
def init_bodies_pos_vels(bodies): def init_bodies_pos_vels(bodies, init_pos_vels_fun=None):
if init_pos_vels_fun is None:
init_pos_vels_fun = get_init_pos_vels
# 获取模拟的初始位置和速度 # 获取模拟的初始位置和速度
init_pos_vels = get_init_pos_vels() init_pos_vels = init_pos_vels_fun()
for body in bodies: for body in bodies:
pos_vels = init_pos_vels.get(type(body).__name__.lower(), None) pos_vels = init_pos_vels.get(type(body).__name__.lower(), None)
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
from ursina import camera, application, lerp, Vec3 from ursina import camera, application, lerp, Vec3
from bodies import Sun, Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto from bodies import Sun, Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto
from common.celestial_data_service import init_bodies_reality_pos_vels, conv_to_astropy_time, \ from common.celestial_data_service import init_bodies_reality_pos_vels, conv_to_astropy_time, \
set_solar_system_celestial_position, init_bodies_pos_vels set_solar_system_celestial_position, init_bodies_pos_vels, get_init_pos_vels_2
from common.consts import SECONDS_PER_YEAR, AU from common.consts import SECONDS_PER_YEAR, AU
from common.func import calculate_distance from common.func import calculate_distance
from bodies import Earth from bodies import Earth
...@@ -74,7 +74,7 @@ class TwoWayFoilSim(UniverseSimScenes): ...@@ -74,7 +74,7 @@ class TwoWayFoilSim(UniverseSimScenes):
self.saturn.two_way_foil_dt = 0.005 * self.two_way_foil_dt_factor self.saturn.two_way_foil_dt = 0.005 * self.two_way_foil_dt_factor
self.uranus.two_way_foil_dt = 0.002 * self.two_way_foil_dt_factor self.uranus.two_way_foil_dt = 0.002 * self.two_way_foil_dt_factor
init_bodies_pos_vels(self.bodies) init_bodies_pos_vels(self.bodies, init_pos_vels_fun=get_init_pos_vels_2)
def build(self): def build(self):
""" """
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册