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

Python超人-宇宙模拟器

上级 de90141b
...@@ -90,7 +90,11 @@ class HalleyCometSimBase(UniverseSimScenes): ...@@ -90,7 +90,11 @@ class HalleyCometSimBase(UniverseSimScenes):
def build_solar_system(self, ignore_gravity=False, start_time=None): def build_solar_system(self, ignore_gravity=False, start_time=None):
# region 构建太阳系 # region 构建太阳系
show_trail = False show_trail = False
self.sun = Sun(size_scale=0.6e2, show_trail=show_trail, texture="sun_light.jpg") self.sun = Sun(size_scale=0.6e2, show_trail=show_trail,
# color=(255, 250, 245),
# texture="",
texture="sun_light.jpg"
)
self.mercury = Mercury(size_scale=5e3, show_trail=show_trail) self.mercury = Mercury(size_scale=5e3, show_trail=show_trail)
self.venus = Venus(size_scale=3e3, show_trail=show_trail) self.venus = Venus(size_scale=3e3, show_trail=show_trail)
self.earth = Earth(size_scale=3e3, rotate_angle=0, show_trail=show_trail) self.earth = Earth(size_scale=3e3, rotate_angle=0, show_trail=show_trail)
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
from bodies import Sun, Earth, Sirius from bodies import Sun, Earth, Sirius
from common.consts import SECONDS_PER_WEEK, SECONDS_PER_DAY, AU from common.consts import SECONDS_PER_WEEK, SECONDS_PER_DAY, AU
from sim_scenes.func import mayavi_run, ursina_run from sim_scenes.func import mayavi_run, ursina_run
from simulators.ursina.ursina_event import UrsinaEvent
if __name__ == '__main__': if __name__ == '__main__':
""" """
...@@ -19,10 +20,30 @@ if __name__ == '__main__': ...@@ -19,10 +20,30 @@ if __name__ == '__main__':
Earth(size_scale=2e3, distance_scale=1), # 地球放大 2000 倍,距离保持不变 Earth(size_scale=2e3, distance_scale=1), # 地球放大 2000 倍,距离保持不变
] ]
# 使用 mayavi 查看的运行效果 circle = None
# mayavi_run(bodies, SECONDS_PER_WEEK, view_azimuth=-45)
def on_ready():
global circle
from simulators.ursina.ursina_mesh import create_circle
from ursina import camera
# circle = create_circle(parent=None, scale=1e2)
# circle.set_light_off(True)
def on_timer_changed(time_data):
global circle
from ursina import camera
# circle.look_at(camera)
# circle.rotation_y = 90
# 运行中,每时每刻都会触发 on_timer_changed
UrsinaEvent.on_timer_changed_subscription(on_timer_changed)
# 运行前会触发 on_ready
UrsinaEvent.on_ready_subscription(on_ready)
# 使用 ursina 查看的运行效果 # 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹 # 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后- # position = 左-右+、上+下-、前+后-
ursina_run(bodies, SECONDS_PER_WEEK, position=(0, AU, -4 * AU), show_trail=True) ursina_run(bodies, SECONDS_PER_WEEK, position=(0, AU, -4 * AU),
timer_enabled=True,
show_trail=True)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册