Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Python_超人
宇宙模拟器
提交
6c170d76
宇宙模拟器
项目概览
Python_超人
/
宇宙模拟器
通知
19
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
宇宙模拟器
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
6c170d76
编写于
12月 07, 2023
作者:
三月三net
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Python超人-宇宙模拟器
上级
625fb2ba
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
35 addition
and
15 deletion
+35
-15
sim_lab/the_lost_planet.py
sim_lab/the_lost_planet.py
+35
-15
未找到文件。
sim_lab/the_lost_planet.py
浏览文件 @
6c170d76
...
@@ -13,18 +13,24 @@ from sim_scenes.universe_sim_scenes import UniverseSimScenes
...
@@ -13,18 +13,24 @@ from sim_scenes.universe_sim_scenes import UniverseSimScenes
from
simulators.ursina.ursina_event
import
UrsinaEvent
from
simulators.ursina.ursina_event
import
UrsinaEvent
if
__name__
==
'__main__'
:
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 模拟器支持)
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
)
# 环状星群带(inner_radius, outer_radius, subdivisions)
jupiter
=
Jupiter
(
size_scale
=
0.68e3
)
# inner_radius:内圆半径 outer_radius:外圆半径,subdivisions:细分数,控制圆环的细节和精度
saturn
=
Saturn
(
size_scale
=
0.68e3
)
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
=
[
bodies
=
[
sun
,
# 太阳放大 80 倍
sun
,
Mercury
(
size_scale
=
3e3
),
# 水星放大 4000 倍
Mercury
(
size_scale
=
3e3
,
distance_scale
=
7
),
# 水星放大 4000 倍
Venus
(
size_scale
=
3e3
),
# 金星放大 4000 倍
Venus
(
size_scale
=
3e3
,
distance_scale
=
4.3
),
# 金星放大 4000 倍
Earth
(
size_scale
=
3e3
),
# 地球放大 4000 倍
Earth
(
size_scale
=
3e3
,
distance_scale
=
3.5
),
# 地球放大 4000 倍
Mars
(
size_scale
=
3e3
),
# 火星放大 4000 倍
Mars
(
size_scale
=
3e3
,
distance_scale
=
2.6
),
# 火星放大 4000 倍
asteroids
,
asteroids
,
moon
,
moon
,
ceres
,
ceres
,
...
@@ -32,8 +38,8 @@ if __name__ == '__main__':
...
@@ -32,8 +38,8 @@ if __name__ == '__main__':
# Earth(size_scale=3e3, init_position=[0, 0, (3.64) * AU]), # 地球放大 4000 倍
# Earth(size_scale=3e3, init_position=[0, 0, (3.64) * AU]), # 地球放大 4000 倍
jupiter
,
# 木星放大 680 倍
jupiter
,
# 木星放大 680 倍
saturn
,
# 土星放大 680 倍
saturn
,
# 土星放大 680 倍
Uranus
(
size_scale
=
0.8e3
),
# 天王星放大 800 倍
Uranus
(
size_scale
=
0.8e3
,
distance_scale
=
0.42
),
# 天王星放大 800 倍
Neptune
(
size_scale
=
1e3
),
# 海王星放大 1000 倍
Neptune
(
size_scale
=
1e3
,
distance_scale
=
0.3
),
# 海王星放大 1000 倍
]
]
# 水星 0.4AU
# 水星 0.4AU
# 金星 0.4+0.3 AU
# 金星 0.4+0.3 AU
...
@@ -81,24 +87,37 @@ if __name__ == '__main__':
...
@@ -81,24 +87,37 @@ if __name__ == '__main__':
事件绑定后,模拟器运行前会触发
事件绑定后,模拟器运行前会触发
@return:
@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_near
=
0.1
camera
.
clip_plane_far
=
1000000
camera
.
clip_plane_far
=
1000000
# camera.look_at(saturn.planet)
# camera.look_at(saturn.planet)
# camera.look_at(sun.planet)
# camera.look_at(sun.planet)
# camera.rotation_y = 90
# camera.rotation_y = 90
# UniverseSimScenes.show_grid_axises()
# UniverseSimScenes.show_grid_axises()
asteroids
.
planet
.
enabled
=
False
#
asteroids.planet.enabled = False
# moon.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
# 运行前会触发 on_ready
UrsinaEvent
.
on_ready_subscription
(
on_ready
)
UrsinaEvent
.
on_ready_subscription
(
on_ready
)
# UrsinaEvent.after_ready_subscription(after_ready)
# UrsinaEvent.on_timer_changed_subscription(on_timer_changed)
# 使用 ursina 查看的运行效果
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后-
# position = 左-右+、上+下-、前+后-
...
@@ -108,5 +127,6 @@ if __name__ == '__main__':
...
@@ -108,5 +127,6 @@ if __name__ == '__main__':
position
=
(
0
,
2
*
AU
,
-
11
*
AU
),
position
=
(
0
,
2
*
AU
,
-
11
*
AU
),
# position=(0, 20 * AU, 10 * AU),
# position=(0, 20 * AU, 10 * AU),
# position=(0, 20 * AU, 0),
# position=(0, 20 * AU, 0),
timer_enabled
=
True
,
cosmic_bg
=
''
,
cosmic_bg
=
''
,
show_grid
=
False
)
show_grid
=
False
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录