Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Python_超人
宇宙模拟器
提交
30857964
宇宙模拟器
项目概览
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看板
提交
30857964
编写于
3月 24, 2023
作者:
三月三net
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Python超人-宇宙模拟器
上级
3dd9d0cd
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
31 addition
and
26 deletion
+31
-26
sim_scenes/fiction/sun_dysen_sphere.py
sim_scenes/fiction/sun_dysen_sphere.py
+1
-1
sim_scenes/science/gravity_slingshot.py
sim_scenes/science/gravity_slingshot.py
+1
-1
sim_scenes/solar_system/earth_at_night.py
sim_scenes/solar_system/earth_at_night.py
+1
-1
sim_scenes/solar_system/earth_moon.py
sim_scenes/solar_system/earth_moon.py
+1
-1
sim_scenes/solar_system/hd_mercury.py
sim_scenes/solar_system/hd_mercury.py
+1
-1
sim_scenes/solar_system/sun_earth.py
sim_scenes/solar_system/sun_earth.py
+1
-1
sim_scenes/solar_system/sun_earth_jupiter.py
sim_scenes/solar_system/sun_earth_jupiter.py
+1
-1
sim_scenes/tri_bodies/tri_bodies_01.py
sim_scenes/tri_bodies/tri_bodies_01.py
+4
-4
sim_scenes/tri_bodies/tri_bodies_02.py
sim_scenes/tri_bodies/tri_bodies_02.py
+13
-8
sim_scenes/tri_bodies/tri_bodies_03.py
sim_scenes/tri_bodies/tri_bodies_03.py
+1
-1
sim_scenes/tri_bodies/tri_bodies_perfect.py
sim_scenes/tri_bodies/tri_bodies_perfect.py
+1
-1
sim_scenes/tri_bodies/two_bodies_01.py
sim_scenes/tri_bodies/two_bodies_01.py
+1
-1
simulators/ursina_simulator.py
simulators/ursina_simulator.py
+3
-3
simulators/views/ursina_view.py
simulators/views/ursina_view.py
+1
-1
未找到文件。
sim_scenes/fiction/sun_dysen_sphere.py
浏览文件 @
30857964
...
@@ -27,5 +27,5 @@ if __name__ == '__main__':
...
@@ -27,5 +27,5 @@ if __name__ == '__main__':
# 使用 ursina 查看的运行效果
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后-
# position = 左-右+、上+下-、前+后-
ursina_run
(
bodies
,
SECONDS_PER_WEEK
,
position
=
(
0
,
AU
/
4
,
-
2
*
AU
),
ursina_run
(
bodies
,
SECONDS_PER_WEEK
,
position
=
(
0
,
AU
/
4
,
-
3
*
AU
),
bg_music
=
"sounds/universe_02.mp3"
)
bg_music
=
"sounds/universe_02.mp3"
)
sim_scenes/science/gravity_slingshot.py
浏览文件 @
30857964
...
@@ -32,4 +32,4 @@ if __name__ == '__main__':
...
@@ -32,4 +32,4 @@ if __name__ == '__main__':
# 使用 ursina 查看的运行效果
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后-
# position = 左-右+、上+下-、前+后-
ursina_run
(
bodies
,
SECONDS_PER_MONTH
,
position
=
(
0
,
AU
,
-
3
*
AU
),
show_trail
=
True
)
ursina_run
(
bodies
,
SECONDS_PER_MONTH
,
position
=
(
0
,
AU
/
2
,
-
4
*
AU
),
show_trail
=
True
)
sim_scenes/solar_system/earth_at_night.py
浏览文件 @
30857964
...
@@ -22,4 +22,4 @@ if __name__ == '__main__':
...
@@ -22,4 +22,4 @@ if __name__ == '__main__':
# 使用 ursina 查看的运行效果
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后-
# position = 左-右+、上+下-、前+后-
ursina_run
(
bodies
,
SECONDS_PER_HOUR
/
2
,
position
=
(
0
,
200000
,
-
20
00000
),
cosmic_bg
=
"textures/cosmic2.jpg"
)
ursina_run
(
bodies
,
SECONDS_PER_HOUR
/
2
,
position
=
(
0
,
120000
,
-
25
00000
),
cosmic_bg
=
"textures/cosmic2.jpg"
)
sim_scenes/solar_system/earth_moon.py
浏览文件 @
30857964
...
@@ -29,4 +29,4 @@ if __name__ == '__main__':
...
@@ -29,4 +29,4 @@ if __name__ == '__main__':
# 使用 ursina 查看的运行效果
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后-
# position = 左-右+、上+下-、前+后-
ursina_run
(
bodies
,
SECONDS_PER_MONTH
,
position
=
(
-
300000
,
300000
,
-
10
00000
),
show_trail
=
True
)
ursina_run
(
bodies
,
SECONDS_PER_MONTH
,
position
=
(
-
300000
,
200000
,
-
13
00000
),
show_trail
=
True
)
sim_scenes/solar_system/hd_mercury.py
浏览文件 @
30857964
...
@@ -22,4 +22,4 @@ if __name__ == '__main__':
...
@@ -22,4 +22,4 @@ if __name__ == '__main__':
# 使用 ursina 查看的运行效果
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后-
# position = 左-右+、上+下-、前+后-
ursina_run
(
bodies
,
SECONDS_PER_DAY
,
position
=
(
0
,
30000
,
-
7
00000
),
cosmic_bg
=
"textures/cosmic1.jpg"
)
ursina_run
(
bodies
,
SECONDS_PER_DAY
,
position
=
(
0
,
30000
,
-
8
00000
),
cosmic_bg
=
"textures/cosmic1.jpg"
)
sim_scenes/solar_system/sun_earth.py
浏览文件 @
30857964
...
@@ -25,4 +25,4 @@ if __name__ == '__main__':
...
@@ -25,4 +25,4 @@ if __name__ == '__main__':
# 使用 ursina 查看的运行效果
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后-
# position = 左-右+、上+下-、前+后-
ursina_run
(
bodies
,
SECONDS_PER_WEEK
,
position
=
(
0
,
AU
,
-
3
*
AU
),
show_trail
=
True
)
ursina_run
(
bodies
,
SECONDS_PER_WEEK
,
position
=
(
0
,
AU
,
-
4
*
AU
),
show_trail
=
True
)
sim_scenes/solar_system/sun_earth_jupiter.py
浏览文件 @
30857964
...
@@ -26,4 +26,4 @@ if __name__ == '__main__':
...
@@ -26,4 +26,4 @@ if __name__ == '__main__':
# 使用 ursina 查看的运行效果
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后-
# position = 左-右+、上+下-、前+后-
ursina_run
(
bodies
,
SECONDS_PER_WEEK
,
position
=
(
0
,
AU
,
-
3
*
AU
),
show_trail
=
True
)
ursina_run
(
bodies
,
SECONDS_PER_WEEK
,
position
=
(
0
,
AU
,
-
4
*
AU
),
show_trail
=
True
)
sim_scenes/tri_bodies/tri_bodies_01.py
浏览文件 @
30857964
...
@@ -20,11 +20,11 @@ if __name__ == '__main__':
...
@@ -20,11 +20,11 @@ if __name__ == '__main__':
"""
"""
bodies
=
[
bodies
=
[
Sun
(
mass
=
1.5e30
,
init_position
=
[
849597870.700
,
0
,
0
],
init_velocity
=
[
0
,
7.0
,
0
],
Sun
(
mass
=
1.5e30
,
init_position
=
[
849597870.700
,
0
,
0
],
init_velocity
=
[
0
,
7.0
,
0
],
size_scale
=
5e1
,
texture
=
"sun2.jpg"
),
# 太阳放大
10
0 倍
size_scale
=
5e1
,
texture
=
"sun2.jpg"
),
# 太阳放大
5
0 倍
Sun
(
mass
=
2e30
,
init_position
=
[
0
,
0
,
0
],
init_velocity
=
[
0
,
-
8.0
,
0
],
Sun
(
mass
=
2e30
,
init_position
=
[
0
,
0
,
0
],
init_velocity
=
[
0
,
-
8.0
,
0
],
size_scale
=
5e1
,
texture
=
"sun2.jpg"
),
# 太阳放大
10
0 倍
size_scale
=
5e1
,
texture
=
"sun2.jpg"
),
# 太阳放大
5
0 倍
Sun
(
mass
=
2.5e30
,
init_position
=
[
0
,
-
849597870.700
,
0
],
init_velocity
=
[
18.0
,
0
,
0
],
Sun
(
mass
=
2.5e30
,
init_position
=
[
0
,
-
849597870.700
,
0
],
init_velocity
=
[
18.0
,
0
,
0
],
size_scale
=
5e1
,
texture
=
"sun2.jpg"
),
# 太阳放大
10
0 倍
size_scale
=
5e1
,
texture
=
"sun2.jpg"
),
# 太阳放大
5
0 倍
Earth
(
init_position
=
[
0
,
-
349597870.700
,
0
],
init_velocity
=
[
15.50
,
0
,
0
],
Earth
(
init_position
=
[
0
,
-
349597870.700
,
0
],
init_velocity
=
[
15.50
,
0
,
0
],
size_scale
=
4e3
,
distance_scale
=
1
),
# 地球放大 4000 倍,距离保持不变
size_scale
=
4e3
,
distance_scale
=
1
),
# 地球放大 4000 倍,距离保持不变
]
]
...
@@ -34,4 +34,4 @@ if __name__ == '__main__':
...
@@ -34,4 +34,4 @@ if __name__ == '__main__':
# 使用 ursina 查看的运行效果
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后-
# position = 左-右+、上+下-、前+后-
ursina_run
(
bodies
,
SECONDS_PER_YEAR
,
position
=
(
3
*
AU
,
AU
,
-
4
*
AU
),
show_trail
=
True
)
ursina_run
(
bodies
,
SECONDS_PER_YEAR
,
position
=
(
3
*
AU
,
AU
,
-
5
*
AU
),
show_trail
=
True
)
\ No newline at end of file
\ No newline at end of file
sim_scenes/tri_bodies/tri_bodies_02.py
浏览文件 @
30857964
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
# python_version :3.8
# python_version :3.8
# ==============================================================================
# ==============================================================================
from
bodies
import
Sun
,
Earth
from
bodies
import
Sun
,
Earth
from
common.consts
import
SECONDS_PER_WEEK
,
SECONDS_PER_DAY
from
common.consts
import
SECONDS_PER_WEEK
,
SECONDS_PER_DAY
,
SECONDS_PER_YEAR
,
AU
from
sim_scenes.func
import
mayavi_run
,
ursina_run
from
sim_scenes.func
import
mayavi_run
,
ursina_run
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
...
@@ -19,16 +19,21 @@ if __name__ == '__main__':
...
@@ -19,16 +19,21 @@ if __name__ == '__main__':
3、天体质量 mass
3、天体质量 mass
"""
"""
bodies
=
[
bodies
=
[
Sun
(
mass
=
5e30
,
init_position
=
[
649597870.700
,
0
,
0
],
init_velocity
=
[
0
,
5.0
,
0
],
Sun
(
mass
=
5e30
,
init_position
=
[
649597870.700
,
0
,
0
],
init_velocity
=
[
0
,
1
5.0
,
0
],
size_scale
=
5e1
,
texture
=
"sun1.jpg"
),
# 太阳放大
10
0 倍
size_scale
=
5e1
,
texture
=
"sun1.jpg"
),
# 太阳放大
5
0 倍
Sun
(
mass
=
4e30
,
init_position
=
[
0
,
0
,
249597870.700
],
init_velocity
=
[
0
,
-
6.0
,
0
],
Sun
(
mass
=
4e30
,
init_position
=
[
0
,
0
,
249597870.700
],
init_velocity
=
[
0
,
-
1
6.0
,
0
],
size_scale
=
5e1
,
texture
=
"sun2.jpg"
),
# 太阳放大
10
0 倍
size_scale
=
5e1
,
texture
=
"sun2.jpg"
),
# 太阳放大
5
0 倍
Sun
(
mass
=
3e30
,
init_position
=
[
0
,
-
649597870.700
,
0
],
init_velocity
=
[
6.0
,
0
,
0
],
Sun
(
mass
=
3e30
,
init_position
=
[
0
,
-
649597870.700
,
0
],
init_velocity
=
[
1
6.0
,
0
,
0
],
size_scale
=
5e1
,
texture
=
"sun2.jpg"
),
# 太阳放大
10
0 倍
size_scale
=
5e1
,
texture
=
"sun2.jpg"
),
# 太阳放大
5
0 倍
Earth
(
init_position
=
[
0
,
-
249597870.700
,
0
],
init_velocity
=
[
15.50
,
0
,
0
],
Earth
(
init_position
=
[
0
,
-
249597870.700
,
0
],
init_velocity
=
[
15.50
,
0
,
0
],
size_scale
=
4e3
,
distance_scale
=
1
),
# 地球放大 4000 倍,距离保持不变
size_scale
=
4e3
,
distance_scale
=
1
),
# 地球放大 4000 倍,距离保持不变
]
]
# 使用 mayavi 查看的运行效果
# 使用 mayavi 查看的运行效果
mayavi_run
(
bodies
,
SECONDS_PER_WEEK
,
view_azimuth
=
0
)
# mayavi_run(bodies, SECONDS_PER_WEEK, view_azimuth=0)
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后-
ursina_run
(
bodies
,
SECONDS_PER_YEAR
,
position
=
(
2
*
AU
,
3
*
AU
,
-
20
*
AU
),
show_trail
=
True
)
\ No newline at end of file
sim_scenes/tri_bodies/tri_bodies_03.py
浏览文件 @
30857964
...
@@ -59,4 +59,4 @@ if __name__ == '__main__':
...
@@ -59,4 +59,4 @@ if __name__ == '__main__':
# 使用 ursina 查看的运行效果
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后-
# position = 左-右+、上+下-、前+后-
ursina_run
(
bodies
,
SECONDS_PER_YEAR
,
position
=
(
3
*
AU
,
3
*
AU
,
-
20
*
AU
),
show_trail
=
True
)
ursina_run
(
bodies
,
SECONDS_PER_YEAR
,
position
=
(
3
*
AU
,
5
*
AU
,
-
20
*
AU
),
show_trail
=
True
)
sim_scenes/tri_bodies/tri_bodies_perfect.py
浏览文件 @
30857964
...
@@ -54,6 +54,6 @@ if __name__ == '__main__':
...
@@ -54,6 +54,6 @@ if __name__ == '__main__':
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后-
# position = 左-右+、上+下-、前+后-
ursina_run
(
bodies
,
SECONDS_PER_YEAR
,
ursina_run
(
bodies
,
SECONDS_PER_YEAR
,
position
=
(
-
2
*
AU
,
1.5
*
AU
,
-
8
*
AU
),
position
=
(
-
2
*
AU
,
1.5
*
AU
,
-
9
*
AU
),
# save_as_json="../../data/tri_bodies_perfect_05.json", # 保存 json 文件到 data 目录
# save_as_json="../../data/tri_bodies_perfect_05.json", # 保存 json 文件到 data 目录
show_trail
=
True
)
show_trail
=
True
)
sim_scenes/tri_bodies/two_bodies_01.py
浏览文件 @
30857964
...
@@ -33,4 +33,4 @@ if __name__ == '__main__':
...
@@ -33,4 +33,4 @@ if __name__ == '__main__':
# 使用 ursina 查看的运行效果
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后-
# position = 左-右+、上+下-、前+后-
ursina_run
(
bodies
,
SECONDS_PER_YEAR
,
position
=
(
0
,
2
*
AU
,
-
5
*
AU
),
show_trail
=
True
)
ursina_run
(
bodies
,
SECONDS_PER_YEAR
,
position
=
(
AU
,
2
*
AU
,
-
7
*
AU
),
show_trail
=
True
)
\ No newline at end of file
\ No newline at end of file
simulators/ursina_simulator.py
浏览文件 @
30857964
...
@@ -234,9 +234,9 @@ class UrsinaSimulator(Simulator):
...
@@ -234,9 +234,9 @@ class UrsinaSimulator(Simulator):
window
.
title
=
'宇宙模拟器'
window
.
title
=
'宇宙模拟器'
# 设置 camera 的裁剪面和位置
# 设置 camera 的裁剪面和位置
#
camera.clip_plane_near = 0.01
camera
.
clip_plane_near
=
0.01
# camera.fov = 12
0
camera
.
fov
=
6
0
# camera.clip_plane_far = 1
000
camera
.
clip_plane_far
=
50
000
# camera.position = (0, 10, -20)
# camera.position = (0, 10, -20)
# camera.rotation_x = -30
# camera.rotation_x = -30
...
...
simulators/views/ursina_view.py
浏览文件 @
30857964
...
@@ -119,7 +119,7 @@ class Planet(Entity):
...
@@ -119,7 +119,7 @@ class Planet(Entity):
color
=
self
.
plant_color
,
color
=
self
.
plant_color
,
position
=
pos
,
position
=
pos
,
rotation
=
rotation
,
rotation
=
rotation
,
double_sided
=
True
#
double_sided=True
)
)
if
hasattr
(
self
.
body_view
.
body
,
"torus_stars"
)
or
\
if
hasattr
(
self
.
body_view
.
body
,
"torus_stars"
)
or
\
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录