From b2879ec562921b09872716d967ca2a372e3290d7 Mon Sep 17 00:00:00 2001 From: march3 Date: Mon, 22 Jan 2024 10:24:30 +0800 Subject: [PATCH] =?UTF-8?q?Python=E8=B6=85=E4=BA=BA-=E5=AE=87=E5=AE=99?= =?UTF-8?q?=E6=A8=A1=E6=8B=9F=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/celestial_data_service.py | 6 ++++-- sim_scenes/featured/two_way_foil_sim.py | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/common/celestial_data_service.py b/common/celestial_data_service.py index 2a07db8..276a1b3 100644 --- a/common/celestial_data_service.py +++ b/common/celestial_data_service.py @@ -402,9 +402,11 @@ def get_init_pos_vels_2(): 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: pos_vels = init_pos_vels.get(type(body).__name__.lower(), None) diff --git a/sim_scenes/featured/two_way_foil_sim.py b/sim_scenes/featured/two_way_foil_sim.py index b749c67..a295775 100644 --- a/sim_scenes/featured/two_way_foil_sim.py +++ b/sim_scenes/featured/two_way_foil_sim.py @@ -10,7 +10,7 @@ from ursina import camera, application, lerp, Vec3 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, \ - 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.func import calculate_distance from bodies import Earth @@ -74,7 +74,7 @@ class TwoWayFoilSim(UniverseSimScenes): 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 - init_bodies_pos_vels(self.bodies) + init_bodies_pos_vels(self.bodies, init_pos_vels_fun=get_init_pos_vels_2) def build(self): """ -- GitLab