Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Python_超人
宇宙模拟器
提交
c9128166
宇宙模拟器
项目概览
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看板
提交
c9128166
编写于
4月 02, 2023
作者:
三月三net
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Python超人-宇宙模拟器
上级
151048bb
变更
21
隐藏空白更改
内联
并排
Showing
21 changed file
with
16 addition
and
49 deletion
+16
-49
bodies/asteroid.py
bodies/asteroid.py
+0
-2
bodies/earth.py
bodies/earth.py
+0
-2
bodies/jupiter.py
bodies/jupiter.py
+0
-2
bodies/mars.py
bodies/mars.py
+0
-2
bodies/mercury.py
bodies/mercury.py
+0
-2
bodies/moon.py
bodies/moon.py
+0
-2
bodies/neptune.py
bodies/neptune.py
+0
-2
bodies/pluto.py
bodies/pluto.py
+0
-2
bodies/saturn.py
bodies/saturn.py
+0
-2
bodies/uranus.py
bodies/uranus.py
+0
-2
bodies/venus.py
bodies/venus.py
+0
-2
sim_scenes/fiction/fixed_stars.py
sim_scenes/fiction/fixed_stars.py
+0
-1
sim_scenes/interest/text_bodies.py
sim_scenes/interest/text_bodies.py
+1
-2
sim_scenes/interest/the_eye_of_god.py
sim_scenes/interest/the_eye_of_god.py
+1
-2
sim_scenes/science/gravity_slingshot_1.py
sim_scenes/science/gravity_slingshot_1.py
+0
-2
sim_scenes/science/gravity_slingshot_2.py
sim_scenes/science/gravity_slingshot_2.py
+0
-1
sim_scenes/solar_system/earth_moon.py
sim_scenes/solar_system/earth_moon.py
+0
-4
sim_scenes/solar_system/solar_system_3.py
sim_scenes/solar_system/solar_system_3.py
+8
-8
sim_scenes/solar_system/sun_earth.py
sim_scenes/solar_system/sun_earth.py
+1
-1
sim_scenes/solar_system/sun_earth_moon.py
sim_scenes/solar_system/sun_earth_moon.py
+1
-1
sim_scenes/tri_bodies/tri_bodies_perfect.py
sim_scenes/tri_bodies/tri_bodies_perfect.py
+4
-5
未找到文件。
bodies/asteroid.py
浏览文件 @
c9128166
...
@@ -27,8 +27,6 @@ class Asteroid(Body):
...
@@ -27,8 +27,6 @@ class Asteroid(Body):
"""
"""
def
__init__
(
self
,
name
=
"小行星"
,
mass
=
4.1e10
,
def
__init__
(
self
,
name
=
"小行星"
,
mass
=
4.1e10
,
# init_position=[1.6 * AU, 0, 0],
# init_velocity=[0, 25.37, 0],
init_position
=
[
0
,
0
,
1.6
*
AU
],
init_position
=
[
0
,
0
,
1.6
*
AU
],
init_velocity
=
[
-
25.37
,
0
,
0
],
init_velocity
=
[
-
25.37
,
0
,
0
],
texture
=
""
,
size_scale
=
1.0
,
distance_scale
=
1.0
):
texture
=
""
,
size_scale
=
1.0
,
distance_scale
=
1.0
):
...
...
bodies/earth.py
浏览文件 @
c9128166
...
@@ -23,8 +23,6 @@ class Earth(Body):
...
@@ -23,8 +23,6 @@ class Earth(Body):
平均密度: 5507.85 kg/m³
平均密度: 5507.85 kg/m³
"""
"""
def
__init__
(
self
,
name
=
"地球"
,
mass
=
5.97237e24
,
rotate_angle
=
0
,
def
__init__
(
self
,
name
=
"地球"
,
mass
=
5.97237e24
,
rotate_angle
=
0
,
# init_position=[1.12 * AU, 0, 0],
# init_velocity=[0, 29.79, 0],
init_position
=
[
0
,
0
,
1.12
*
AU
],
init_position
=
[
0
,
0
,
1.12
*
AU
],
init_velocity
=
[
-
29.79
,
0
,
0
],
init_velocity
=
[
-
29.79
,
0
,
0
],
texture
=
"earth1.jpg"
,
size_scale
=
1.0
,
distance_scale
=
1.0
,
texture
=
"earth1.jpg"
,
size_scale
=
1.0
,
distance_scale
=
1.0
,
...
...
bodies/jupiter.py
浏览文件 @
c9128166
...
@@ -23,8 +23,6 @@ class Jupiter(Body):
...
@@ -23,8 +23,6 @@ class Jupiter(Body):
平均密度: 1.326 g/cm³ -> -> 1.326✕10³ kg/m³
平均密度: 1.326 g/cm³ -> -> 1.326✕10³ kg/m³
"""
"""
def
__init__
(
self
,
name
=
"木星"
,
mass
=
1.8982e27
,
def
__init__
(
self
,
name
=
"木星"
,
mass
=
1.8982e27
,
# init_position=[5.2 * AU, 0, 0],
# init_velocity=[0, 13.06, 0],
init_position
=
[
0
,
0
,
5.2
*
AU
],
init_position
=
[
0
,
0
,
5.2
*
AU
],
init_velocity
=
[
-
13.06
,
0
,
0
],
init_velocity
=
[
-
13.06
,
0
,
0
],
texture
=
"jupiter1.jpg"
,
size_scale
=
1.0
,
distance_scale
=
1.0
,
texture
=
"jupiter1.jpg"
,
size_scale
=
1.0
,
distance_scale
=
1.0
,
...
...
bodies/mars.py
浏览文件 @
c9128166
...
@@ -23,8 +23,6 @@ class Mars(Body):
...
@@ -23,8 +23,6 @@ class Mars(Body):
平均密度: 3.9335 g/cm³ -> 3.9335✕10³ kg/m³
平均密度: 3.9335 g/cm³ -> 3.9335✕10³ kg/m³
"""
"""
def
__init__
(
self
,
name
=
"火星"
,
mass
=
6.4171e23
,
def
__init__
(
self
,
name
=
"火星"
,
mass
=
6.4171e23
,
# init_position=[1.5 * AU, 0, 0],
# init_velocity=[0, 24.13, 0],
init_position
=
[
0
,
0
,
1.5
*
AU
],
init_position
=
[
0
,
0
,
1.5
*
AU
],
init_velocity
=
[
-
24.13
,
0
,
0
],
init_velocity
=
[
-
24.13
,
0
,
0
],
texture
=
"mars.jpg"
,
size_scale
=
1.0
,
distance_scale
=
1.0
,
texture
=
"mars.jpg"
,
size_scale
=
1.0
,
distance_scale
=
1.0
,
...
...
bodies/mercury.py
浏览文件 @
c9128166
...
@@ -24,8 +24,6 @@ class Mercury(Body):
...
@@ -24,8 +24,6 @@ class Mercury(Body):
"""
"""
def
__init__
(
self
,
name
=
"水星"
,
mass
=
3.3011e23
,
def
__init__
(
self
,
name
=
"水星"
,
mass
=
3.3011e23
,
# init_position=[0.4 * AU, 0, 0],
# init_velocity=[0, 47.87, 0],
init_position
=
[
0
,
0
,
0.4
*
AU
],
init_position
=
[
0
,
0
,
0.4
*
AU
],
init_velocity
=
[
-
47.87
,
0
,
0
],
init_velocity
=
[
-
47.87
,
0
,
0
],
texture
=
"mercury.jpg"
,
size_scale
=
1.0
,
distance_scale
=
1.0
,
texture
=
"mercury.jpg"
,
size_scale
=
1.0
,
distance_scale
=
1.0
,
...
...
bodies/moon.py
浏览文件 @
c9128166
...
@@ -23,8 +23,6 @@ class Moon(Body):
...
@@ -23,8 +23,6 @@ class Moon(Body):
"""
"""
def
__init__
(
self
,
name
=
"月球"
,
mass
=
7.342e22
,
def
__init__
(
self
,
name
=
"月球"
,
mass
=
7.342e22
,
# init_position=[363104 + 1.12 * AU, 0, 0],
# init_velocity=[0, 29.79 + 1.023, 0],
init_position
=
[
0
,
0
,
363104
+
1.12
*
AU
],
init_position
=
[
0
,
0
,
363104
+
1.12
*
AU
],
init_velocity
=
[
-
(
29.79
+
1.023
),
0
,
0
],
init_velocity
=
[
-
(
29.79
+
1.023
),
0
,
0
],
texture
=
"moon.jpg"
,
size_scale
=
1.0
,
distance_scale
=
1.0
,
texture
=
"moon.jpg"
,
size_scale
=
1.0
,
distance_scale
=
1.0
,
...
...
bodies/neptune.py
浏览文件 @
c9128166
...
@@ -24,8 +24,6 @@ class Neptune(Body):
...
@@ -24,8 +24,6 @@ class Neptune(Body):
"""
"""
def
__init__
(
self
,
name
=
"海王星"
,
mass
=
1.0241e26
,
def
__init__
(
self
,
name
=
"海王星"
,
mass
=
1.0241e26
,
# init_position=[30 * AU, 0, 0],
# init_velocity=[0, 5.43, 0],
init_position
=
[
0
,
0
,
30
*
AU
],
init_position
=
[
0
,
0
,
30
*
AU
],
init_velocity
=
[
-
5.43
,
0
,
0
],
init_velocity
=
[
-
5.43
,
0
,
0
],
texture
=
"neptune.png"
,
size_scale
=
1.0
,
distance_scale
=
1.0
,
texture
=
"neptune.png"
,
size_scale
=
1.0
,
distance_scale
=
1.0
,
...
...
bodies/pluto.py
浏览文件 @
c9128166
...
@@ -24,8 +24,6 @@ class Pluto(Body):
...
@@ -24,8 +24,6 @@ class Pluto(Body):
"""
"""
def
__init__
(
self
,
name
=
"冥王星"
,
mass
=
1.303e22
,
def
__init__
(
self
,
name
=
"冥王星"
,
mass
=
1.303e22
,
# init_position=[40 * AU, 0, 0],
# init_velocity=[0, 4.7, 0],
init_position
=
[
0
,
0
,
40
*
AU
],
init_position
=
[
0
,
0
,
40
*
AU
],
init_velocity
=
[
-
4.7
,
0
,
0
],
init_velocity
=
[
-
4.7
,
0
,
0
],
texture
=
"pluto.png"
,
size_scale
=
1.0
,
distance_scale
=
1.0
,
texture
=
"pluto.png"
,
size_scale
=
1.0
,
distance_scale
=
1.0
,
...
...
bodies/saturn.py
浏览文件 @
c9128166
...
@@ -24,8 +24,6 @@ class Saturn(Body):
...
@@ -24,8 +24,6 @@ class Saturn(Body):
"""
"""
def
__init__
(
self
,
name
=
"土星"
,
mass
=
5.6834e26
,
def
__init__
(
self
,
name
=
"土星"
,
mass
=
5.6834e26
,
# init_position=[10 * AU, 0, 0],
# init_velocity=[0, 9.64, 0],
init_position
=
[
0
,
0
,
10
*
AU
],
init_position
=
[
0
,
0
,
10
*
AU
],
init_velocity
=
[
-
9.64
,
0
,
0
],
init_velocity
=
[
-
9.64
,
0
,
0
],
texture
=
"saturn.jpg"
,
size_scale
=
1.0
,
distance_scale
=
1.0
,
texture
=
"saturn.jpg"
,
size_scale
=
1.0
,
distance_scale
=
1.0
,
...
...
bodies/uranus.py
浏览文件 @
c9128166
...
@@ -24,8 +24,6 @@ class Uranus(Body):
...
@@ -24,8 +24,6 @@ class Uranus(Body):
"""
"""
def
__init__
(
self
,
name
=
"天王星"
,
mass
=
8.681e25
,
def
__init__
(
self
,
name
=
"天王星"
,
mass
=
8.681e25
,
# init_position=[19 * AU, 0, 0],
# init_velocity=[0, 6.81, 0],
init_position
=
[
0
,
0
,
19
*
AU
],
init_position
=
[
0
,
0
,
19
*
AU
],
init_velocity
=
[
-
6.81
,
0
,
0
],
init_velocity
=
[
-
6.81
,
0
,
0
],
texture
=
"uranus.png"
,
size_scale
=
1.0
,
distance_scale
=
1.0
,
texture
=
"uranus.png"
,
size_scale
=
1.0
,
distance_scale
=
1.0
,
...
...
bodies/venus.py
浏览文件 @
c9128166
...
@@ -24,8 +24,6 @@ class Venus(Body):
...
@@ -24,8 +24,6 @@ class Venus(Body):
"""
"""
def
__init__
(
self
,
name
=
"金星"
,
mass
=
4.8675e24
,
def
__init__
(
self
,
name
=
"金星"
,
mass
=
4.8675e24
,
# init_position=[0.72 * AU, 0, 0],
# init_velocity=[0, 35, 0],
init_position
=
[
0
,
0
,
0.72
*
AU
],
init_position
=
[
0
,
0
,
0.72
*
AU
],
init_velocity
=
[
-
35
,
0
,
0
],
init_velocity
=
[
-
35
,
0
,
0
],
texture
=
"venus.jpg"
,
size_scale
=
1.0
,
distance_scale
=
1.0
,
texture
=
"venus.jpg"
,
size_scale
=
1.0
,
distance_scale
=
1.0
,
...
...
sim_scenes/fiction/fixed_stars.py
浏览文件 @
c9128166
...
@@ -48,7 +48,6 @@ if __name__ == '__main__':
...
@@ -48,7 +48,6 @@ if __name__ == '__main__':
d
=
pow
((
body
.
raduis
+
bodies
[
idx
-
1
].
raduis
)
*
SIZE_SCALE
,
1.0
)
*
1.1
d
=
pow
((
body
.
raduis
+
bodies
[
idx
-
1
].
raduis
)
*
SIZE_SCALE
,
1.0
)
*
1.1
# d = (body.diameter + bodies[idx - 1].diameter) * SIZE_SCALE * 1.1 + D
# d = (body.diameter + bodies[idx - 1].diameter) * SIZE_SCALE * 1.1 + D
body
.
init_velocity
=
[
0
,
0
,
0
]
body
.
init_velocity
=
[
0
,
0
,
0
]
# body.init_position = [body.raduis * SIZE_SCALE, (distance_sum + d), AU]
body
.
init_position
=
[
-
(
distance_sum
+
d
),
AU
,
body
.
raduis
*
SIZE_SCALE
]
body
.
init_position
=
[
-
(
distance_sum
+
d
),
AU
,
body
.
raduis
*
SIZE_SCALE
]
distance_sum
+=
d
distance_sum
+=
d
...
...
sim_scenes/interest/text_bodies.py
浏览文件 @
c9128166
...
@@ -26,8 +26,7 @@ def show_text_bodies():
...
@@ -26,8 +26,7 @@ def show_text_bodies():
params
=
{
"camera_pos"
:
camera_pos
})
params
=
{
"camera_pos"
:
camera_pos
})
# 放一个恒星作为背景
# 放一个恒星作为背景
bg
=
FixedStar
(
name
=
"bg"
,
texture
=
"fixed_star.png"
,
mass
=
2e32
,
color
=
(
0xff
,
0xf8
,
0xd4
),
bg
=
FixedStar
(
name
=
"bg"
,
texture
=
"fixed_star.png"
,
mass
=
2e32
,
color
=
(
0xff
,
0xf8
,
0xd4
),
# init_position=[6000 * D, 450 * D, 100 * D], # [ 远+近- , 左+右- , 上+下-]
init_position
=
[
-
450
*
D
,
100
*
D
,
6000
*
D
],
# [ 左-右+, 上+下-, 远+近- ]
init_position
=
[
-
450
*
D
,
100
*
D
,
6000
*
D
],
# [ 远+近- , 左+右- , 上+下-]
ignore_mass
=
True
)
ignore_mass
=
True
)
bodies
.
append
(
bg
)
bodies
.
append
(
bg
)
...
...
sim_scenes/interest/the_eye_of_god.py
浏览文件 @
c9128166
...
@@ -25,8 +25,7 @@ def show_eye_of_god():
...
@@ -25,8 +25,7 @@ def show_eye_of_god():
params
=
{
"camera_pos"
:
camera_pos
})
params
=
{
"camera_pos"
:
camera_pos
})
# 放一个恒星作为背景
# 放一个恒星作为背景
bg
=
FixedStar
(
name
=
"bg"
,
texture
=
"fixed_star.png"
,
mass
=
2e32
,
color
=
(
0xff
,
0xf8
,
0xd4
),
bg
=
FixedStar
(
name
=
"bg"
,
texture
=
"fixed_star.png"
,
mass
=
2e32
,
color
=
(
0xff
,
0xf8
,
0xd4
),
# init_position=[6000 * D, 400 * D, 100 * D], # [ 远+近- , 左+右- , 上+下-]
init_position
=
[
-
400
*
D
,
100
*
D
,
6000
*
D
],
# [ 左-右+, 上+下-, 远+近- ]
init_position
=
[
-
400
*
D
,
100
*
D
,
6000
*
D
],
# [ 远+近- , 左+右- , 上+下-]
ignore_mass
=
True
)
ignore_mass
=
True
)
bodies
.
append
(
bg
)
bodies
.
append
(
bg
)
...
...
sim_scenes/science/gravity_slingshot_1.py
浏览文件 @
c9128166
...
@@ -18,11 +18,9 @@ if __name__ == '__main__':
...
@@ -18,11 +18,9 @@ if __name__ == '__main__':
bodies
=
[
bodies
=
[
Sun
(
size_scale
=
2e1
),
# 太阳放大 20 倍
Sun
(
size_scale
=
2e1
),
# 太阳放大 20 倍
Earth
(
size_scale
=
1e3
,
# 地球放大 1000 倍
Earth
(
size_scale
=
1e3
,
# 地球放大 1000 倍
# init_position=[0, -3 * AU, 0], # 地球距离太阳 3 个天文单位
init_position
=
[
3
*
AU
,
0
,
0
],
# 地球距离太阳 3 个天文单位
init_position
=
[
3
*
AU
,
0
,
0
],
# 地球距离太阳 3 个天文单位
# TODO: 尝试调整朝向太阳的速度,取值 33、38、50 或者其他
# TODO: 尝试调整朝向太阳的速度,取值 33、38、50 或者其他
# init_velocity=[0, 33, -1],
# init_velocity=[0, 33, -1],
# init_velocity=[0, 38, -1], # 朝向太阳的速度为 38km/s,-1 km/s 是为了防止地球正面对着太阳冲去
init_velocity
=
[
-
38
,
-
1
,
0
],
# 朝向太阳的速度为 38km/s,-1 km/s 是为了防止地球正面对着太阳冲去
init_velocity
=
[
-
38
,
-
1
,
0
],
# 朝向太阳的速度为 38km/s,-1 km/s 是为了防止地球正面对着太阳冲去
# init_velocity=[0, 50, -1],
# init_velocity=[0, 50, -1],
),
),
...
...
sim_scenes/science/gravity_slingshot_2.py
浏览文件 @
c9128166
...
@@ -21,7 +21,6 @@ if __name__ == '__main__':
...
@@ -21,7 +21,6 @@ if __name__ == '__main__':
Earth
(
size_scale
=
3e2
,
# 地球放大 300 倍
Earth
(
size_scale
=
3e2
,
# 地球放大 300 倍
init_position
=
[
0
,
0
,
0
],
#
init_position
=
[
0
,
0
,
0
],
#
# init_velocity=[0, 33, -1],
# init_velocity=[0, 33, -1],
# init_velocity=[-1, 10, 0], # 朝向木星的速度为 38km/s,-1 km/s 是为了防止地球正面对着木星冲去
init_velocity
=
[
-
10
,
0
,
-
1
],
# 朝向木星的速度为 38km/s,-1 km/s 是为了防止地球正面对着木星冲去
init_velocity
=
[
-
10
,
0
,
-
1
],
# 朝向木星的速度为 38km/s,-1 km/s 是为了防止地球正面对着木星冲去
# init_velocity=[0, 50, -1],
# init_velocity=[0, 50, -1],
),
),
...
...
sim_scenes/solar_system/earth_moon.py
浏览文件 @
c9128166
...
@@ -14,10 +14,6 @@ from bodies.body import AU
...
@@ -14,10 +14,6 @@ from bodies.body import AU
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
"""
"""
地球、月球
地球、月球
init_position=[x, y, z],
init_position=[-y, z, x],
init_velocity=[x, y, z],
init_velocity=[-y, z, x],
"""
"""
# 地球的Y方向初始速度
# 地球的Y方向初始速度
EARTH_INIT_VELOCITY
=
0
EARTH_INIT_VELOCITY
=
0
...
...
sim_scenes/solar_system/solar_system_3.py
浏览文件 @
c9128166
...
@@ -27,20 +27,20 @@ if __name__ == '__main__':
...
@@ -27,20 +27,20 @@ if __name__ == '__main__':
# region 1.构建4个小行星 -------------
# region 1.构建4个小行星 -------------
# asteroids = [
# asteroids = [
# Asteroid(size_scale=3e9, # 小行星放大 1000000000 倍,距离保持不变
# Asteroid(size_scale=3e9, # 小行星放大 1000000000 倍,距离保持不变
# init_position=[
1.6 * AU, 0, 0
],
# init_position=[
0, 0, 1.6 * AU
],
# init_velocity=[
0, 25.37
, 0],
# init_velocity=[
-25.37, 0
, 0],
# distance_scale=1),
# distance_scale=1),
# Asteroid(size_scale=3e9, # 小行星放大 1000000000 倍,距离保持不变
# Asteroid(size_scale=3e9, # 小行星放大 1000000000 倍,距离保持不变
# init_position=[
-1.6 * AU, 0, 0
],
# init_position=[
0, 0, -1.6 * AU
],
# init_velocity=[
0, -25.37
, 0],
# init_velocity=[
25.37, 0
, 0],
# distance_scale=1),
# distance_scale=1),
# Asteroid(size_scale=3e9, # 小行星放大 1000000000 倍,距离保持不变
# Asteroid(size_scale=3e9, # 小行星放大 1000000000 倍,距离保持不变
# init_position=[
0, 1.6 * AU
, 0],
# init_position=[
-1.6 * AU, 0
, 0],
# init_velocity=[
-25.37, 0, 0
],
# init_velocity=[
0, 0, -25.37
],
# distance_scale=1),
# distance_scale=1),
# Asteroid(size_scale=3e9, # 小行星放大 1000000000 倍,距离保持不变
# Asteroid(size_scale=3e9, # 小行星放大 1000000000 倍,距离保持不变
# init_position=[
0, -1.6 * AU
, 0],
# init_position=[
1.6 * AU, 0
, 0],
# init_velocity=[
25.37, 0, 0
],
# init_velocity=[
0, 0, 25.37
],
# distance_scale=1),
# distance_scale=1),
# ]
# ]
# endregion 1 --------------------------
# endregion 1 --------------------------
...
...
sim_scenes/solar_system/sun_earth.py
浏览文件 @
c9128166
...
@@ -12,7 +12,7 @@ from sim_scenes.func import mayavi_run, ursina_run
...
@@ -12,7 +12,7 @@ from sim_scenes.func import mayavi_run, ursina_run
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
"""
"""
太阳、地球
Sirius(size_scale=0.2, init_position=[0, 0, 0]),
太阳、地球
"""
"""
bodies
=
[
bodies
=
[
Sun
(
size_scale
=
5e1
),
# 太阳放大 50 倍
Sun
(
size_scale
=
5e1
),
# 太阳放大 50 倍
...
...
sim_scenes/solar_system/sun_earth_moon.py
浏览文件 @
c9128166
...
@@ -18,7 +18,7 @@ if __name__ == '__main__':
...
@@ -18,7 +18,7 @@ if __name__ == '__main__':
# 地球的Y方向初始速度
# 地球的Y方向初始速度
EARTH_INIT_VELOCITY
=
0
# 0km/s
EARTH_INIT_VELOCITY
=
0
# 0km/s
sun
=
Sun
(
init_position
=
[
0
,
0
,
AU
],
size_scale
=
2e1
)
# 太阳放大 20 倍
sun
=
Sun
(
init_position
=
[
0
,
0
,
AU
],
size_scale
=
2e1
)
# 太阳放大 20 倍
# 忽略质量的引力
[x, y, z]->[-y, z, x]
# 忽略质量的引力
sun
.
ignore_mass
=
True
sun
.
ignore_mass
=
True
# 观看月相变化的过程:分别是 新月、蛾眉月、上弦月、盈凸、满月、亏凸、下弦月、残月
# 观看月相变化的过程:分别是 新月、蛾眉月、上弦月、盈凸、满月、亏凸、下弦月、残月
...
...
sim_scenes/tri_bodies/tri_bodies_perfect.py
浏览文件 @
c9128166
...
@@ -23,11 +23,10 @@ if __name__ == '__main__':
...
@@ -23,11 +23,10 @@ if __name__ == '__main__':
mass
=
2e30
mass
=
2e30
r
=
2
*
AU
r
=
2
*
AU
# p = 12 # TODO: 三体转圆形花
# p = 12 # TODO: 三体转圆形花
p
=
14.
88
# TODO: 三体转圈近似圆形
p
=
14.
95
# TODO: 三体转圈近似圆形
# p = 16 # TODO: 三体转圆形花
# p = 16 # TODO: 三体转圆形花
# p = 18 # TODO: 三体转圆形花
# p = 18 # TODO: 三体转圆形花
# p = 19 # TODO: 三体转圆形花
# p = 19 # TODO: 三体转圆形花
# [x, y, z]->[-y, z, x]
bodies
=
[
bodies
=
[
Sun
(
name
=
"红轨太阳A"
,
mass
=
mass
,
Sun
(
name
=
"红轨太阳A"
,
mass
=
mass
,
init_position
=
[
0
,
math
.
sqrt
(
3
)
*
r
,
0
],
init_position
=
[
0
,
math
.
sqrt
(
3
)
*
r
,
0
],
...
@@ -44,9 +43,9 @@ if __name__ == '__main__':
...
@@ -44,9 +43,9 @@ if __name__ == '__main__':
init_velocity
=
[
1
/
2
*
p
,
math
.
sqrt
(
3
)
/
2
*
p
,
0
],
init_velocity
=
[
1
/
2
*
p
,
math
.
sqrt
(
3
)
/
2
*
p
,
0
],
trail_color
=
(
0
,
0
,
255
),
trail_color
=
(
0
,
0
,
255
),
size_scale
=
5e1
,
texture
=
"sun2.jpg"
),
# 太阳放大 100 倍
size_scale
=
5e1
,
texture
=
"sun2.jpg"
),
# 太阳放大 100 倍
# Earth(init_position=[0, -349597870.700, 0
],
Earth
(
init_position
=
[
0
,
2
*
r
/
math
.
sqrt
(
12
),
r
*
3
],
# init_velocity=[15.5
0, 0, 0],
init_velocity
=
[
0
,
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)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录