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

Python超人-宇宙模拟器

上级 b6ceb267
......@@ -20,7 +20,7 @@ from simulators.ursina.entities.entity_utils import create_directional_light
from simulators.ursina.ui.control_ui import ControlUI
from simulators.ursina.ursina_config import UrsinaConfig
from simulators.ursina.ursina_event import UrsinaEvent
from simulators.ursina.ursina_mesh import create_orbit_by_points
from simulators.ursina.ursina_mesh import create_orbit_by_points, create_circle_line
class SunEarthMoonSim(UniverseSimScenes):
......@@ -54,7 +54,10 @@ class SunEarthMoonSim(UniverseSimScenes):
init_velocity=[0, 0, 0],
size_scale=1e4).set_ignore_gravity(True)
self.bodies = [self.sun, self.earth, self.moon, self.earth_start, self.camera_look, self.camera_target]
self.bodies = [self.sun, self.earth, self.moon, self.earth_start,
# self.camera_look,
# self.camera_target
]
for body in self.bodies:
body.init_velocity = [0, 0, 0]
......@@ -102,9 +105,10 @@ class SunEarthMoonSim(UniverseSimScenes):
# TODO: 调试用
if dt.month < 12:
UrsinaConfig.run_speed_factor = 200 * 24
UrsinaConfig.run_speed_factor = 50 * 24
elif UrsinaConfig.run_speed_factor > 20 * 24:
UrsinaConfig.run_speed_factor = 20 * 24
# TODO: 调试用
if dt.month >= 12 and dt.day >= 31:
if dt.hour > 20:
......@@ -153,7 +157,12 @@ class SunEarthMoonSim(UniverseSimScenes):
创建太阳系天体的真实轨迹(太阳和哈雷彗星除外)
@return:
"""
self.create_orbit_line(self.sun, self.earth, self.start_time, alpha=0.5)
# self.moon.orbital_days=27.5
self.create_orbit_line(self.sun, self.earth, self.start_time, alpha=1)
# self.create_orbit_line(self.sun, self.moon, self.start_time, alpha=0.5)
orbit_line = create_circle_line(parent=self.earth.planet.main_entity, radius=10, thickness=2, color=self.moon.trail_color, alpha=1)
orbit_line.rotation_x = 40
# for body in self.bodies[1:]:
# if isinstance(body, Earth):
......@@ -211,7 +220,6 @@ class SunEarthMoonSim(UniverseSimScenes):
# 月球围绕地球转一圈的时间,即月球真正的公转周期是一个恒星月,时间是27.5天 。
# 而我们一般用从地球上看,月球完成一次朔望更替为一个月,叫一个朔望月,时间是29.5天。
aspect_ratio = window.aspect_ratio
position, origin = (0.5 * aspect_ratio - 0.15, -0.45), (-0.05, 0.1),
# ControlUI.current_ui.show_message(dt.strftime('%Y-%m-%d'),
......@@ -225,7 +233,7 @@ class SunEarthMoonSim(UniverseSimScenes):
self.text_panel.text = "\n日期时间:\n" + dt.strftime('%Y-%m-%d %H:%M') + "\n\n" + \
"天数:" + str(round(total_days, 2)) + "\n\n" + \
"月数:" + str(round(total_days/29.5, 2))
"月数:" + str(round(total_days / 29.5, 2))
# "运行速度:" + str(UrsinaConfig.run_speed_factor) + "\n" + \
# "天数:" + str(round(total_days, 3))
......@@ -255,7 +263,7 @@ class SunEarthMoonSim(UniverseSimScenes):
# self.set_window_size((1920 , 1080 ), False)
camera_look_at(self.sun)
# 显示网格以及坐标线
# self.show_grid_axises(scale_factor=100)
# self.show_grid_axises(scale_factor=8)
# 创建太阳系天体的真实轨迹(太阳和哈雷彗星除外)
self.create_orbit_lines()
......@@ -280,7 +288,8 @@ class SunEarthMoonSim(UniverseSimScenes):
self.start_time = start_time
ursina_run(self.bodies,
SECONDS_PER_DAY / 24,
position=(0, 3.5 * AU, -AU),
# position=(0, 3.5 * AU, -AU), # 顶上
position=(0, 1 * AU, -3.5*AU),
gravity_works=False,
cosmic_bg='',
show_trail=True,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册