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

Python超人-宇宙模拟器

上级 625fb2ba
......@@ -13,18 +13,24 @@ from sim_scenes.universe_sim_scenes import UniverseSimScenes
from simulators.ursina.ursina_event import UrsinaEvent
if __name__ == '__main__':
sun = Sun(size_scale=0.4e2)
sun = Sun(size_scale=5e2).set_resolution(60) # 太阳放大 500 倍
sun.glows = (30, 1.005, 0.03)
asteroids = Asteroids(size_scale=1.08e2, parent=sun) # 小行星模拟(仅 ursina 模拟器支持)
moon = Moon(size_scale=3e3, init_position=[0, 0, (0.4 + 2.4) * AU])
ceres = Ceres(size_scale=3e3)
jupiter = Jupiter(size_scale=0.68e3)
saturn = Saturn(size_scale=0.68e3)
# 环状星群带(inner_radius, outer_radius, subdivisions)
# inner_radius:内圆半径 outer_radius:外圆半径,subdivisions:细分数,控制圆环的细节和精度
asteroids.torus_zone = 4.2, 5, 64
moon = Moon(size_scale=3e3, init_position=[0, 0, (0.4 + 2.4) * AU], distance_scale=1.7)
ceres = Ceres(size_scale=3e3, distance_scale=1.7)
jupiter = Jupiter(size_scale=0.68e3, distance_scale=1.05)
saturn = Saturn(size_scale=0.68e3, distance_scale=0.72)
bodies = [
sun, # 太阳放大 80 倍
Mercury(size_scale=3e3), # 水星放大 4000 倍
Venus(size_scale=3e3), # 金星放大 4000 倍
Earth(size_scale=3e3), # 地球放大 4000 倍
Mars(size_scale=3e3), # 火星放大 4000 倍
sun,
Mercury(size_scale=3e3, distance_scale=7), # 水星放大 4000 倍
Venus(size_scale=3e3, distance_scale=4.3), # 金星放大 4000 倍
Earth(size_scale=3e3, distance_scale=3.5), # 地球放大 4000 倍
Mars(size_scale=3e3, distance_scale=2.6), # 火星放大 4000 倍
asteroids,
moon,
ceres,
......@@ -32,8 +38,8 @@ if __name__ == '__main__':
# Earth(size_scale=3e3, init_position=[0, 0, (3.64) * AU]), # 地球放大 4000 倍
jupiter, # 木星放大 680 倍
saturn, # 土星放大 680 倍
Uranus(size_scale=0.8e3), # 天王星放大 800 倍
Neptune(size_scale=1e3), # 海王星放大 1000 倍
Uranus(size_scale=0.8e3, distance_scale=0.42), # 天王星放大 800 倍
Neptune(size_scale=1e3, distance_scale=0.3), # 海王星放大 1000 倍
]
# 水星 0.4AU
# 金星 0.4+0.3 AU
......@@ -81,24 +87,37 @@ if __name__ == '__main__':
事件绑定后,模拟器运行前会触发
@return:
"""
from ursina import camera
from ursina import camera, Vec3
# 创建天空
# create_sphere_sky(scale=20000)
create_sphere_sky(scale=20000)
camera.clip_plane_near = 0.1
camera.clip_plane_far = 1000000
# camera.look_at(saturn.planet)
# camera.look_at(sun.planet)
# camera.rotation_y = 90
# UniverseSimScenes.show_grid_axises()
asteroids.planet.enabled = False
# asteroids.planet.enabled = False
# moon.planet.enabled = False
#
# def after_ready():
# from ursina import camera, Vec3
# camera.position = Vec3(0,149.60,-665.76)
# camera.world_position = Vec3(-14.71,-98.38,0)
def on_timer_changed(time_data):
from ursina import camera, Vec3
camera.position = Vec3(0, 149.60, -665.76)
camera.world_position = Vec3(-14.71, -98.38, 0)
# 运行前会触发 on_ready
UrsinaEvent.on_ready_subscription(on_ready)
# UrsinaEvent.after_ready_subscription(after_ready)
# UrsinaEvent.on_timer_changed_subscription(on_timer_changed)
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后-
......@@ -108,5 +127,6 @@ if __name__ == '__main__':
position=(0, 2 * AU, -11 * AU),
# position=(0, 20 * AU, 10 * AU),
# position=(0, 20 * AU, 0),
timer_enabled=True,
cosmic_bg='',
show_grid=False)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册