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

Python超人-宇宙模拟器

上级 c04eafab
......@@ -13,8 +13,8 @@ from sim_scenes.solar_system.speed_of_light_init import SpeedOfLightInit
# TODO: 三种不同的摄像机视角
camera_follow_light = None # 摄像机固定,不会跟随光
# camera_follow_light = 'ForwardView' # 摄像机跟随光,方向是向前看
# camera_follow_light = 'SideView' # 摄像机跟随光,方向是侧面看
# camera_follow_light = 'SideViewActualSize' # 摄像机跟随光,方向是侧面看,天体是实际大小
# camera_follow_light = 'SideView' # 摄像机跟随光,方向是侧面看
# camera_follow_light = 'SideViewActualSize' # 摄像机跟随光,方向是侧面看,天体是实际大小
# 实例化一个初始化对象(订阅事件,记录到达每个行星所需要的时间)
init = SpeedOfLightInit(camera_follow_light)
......
# -*- coding:utf-8 -*-
# title :水星、金星凌日
# description :水星、金星凌日
# author :Python超人
# date :2023-02-11
# link :https://gitcode.net/pythoncr/
# python_version :3.8
# ==============================================================================
from bodies import Sun, Mercury, Venus, Earth
from common.consts import SECONDS_PER_WEEK, SECONDS_PER_DAY, SECONDS_PER_HOUR, AU
from sim_scenes.func import mayavi_run, ursina_run, camera_look_at
from simulators.ursina.entities.body_timer import TimeData
from simulators.ursina.ursina_event import UrsinaEvent
if __name__ == '__main__':
# 水星、金星凌日
earth = Earth(name="地球")
sun = Sun(name="太阳", size_scale=5e1) # 太阳放大 20 倍
bodies = [
sun,
Mercury(name="水星",
init_position=[0.384 * AU, 0, 0],
init_velocity=[0, 0, 47.87],
size_scale=5e1), # 水星放大 10 倍,距离保持不变
Venus(name="金星",
init_position=[0.721 * AU, 0, 0],
init_velocity=[0, 0, 35],
size_scale=5e1) # 金星放大 10 倍,距离保持不变
]
def on_ready():
camera_look_at(sun, rotation_x=None, rotation_y=None, rotation_z=0)
pass
UrsinaEvent.on_ready_subscription(on_ready)
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后-
ursina_run(bodies, SECONDS_PER_DAY * 3,
position=earth.init_position)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册