Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Python_超人
太阳系三体模拟器
提交
62c779aa
太阳系三体模拟器
项目概览
Python_超人
/
太阳系三体模拟器
通知
1075
Star
131
Fork
128
代码
文件
提交
分支
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看板
提交
62c779aa
编写于
3月 15, 2023
作者:
三月三net
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
太阳系三体模拟器
上级
228dc36b
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
28 addition
and
10 deletion
+28
-10
scenes/earth_moon.py
scenes/earth_moon.py
+3
-3
scenes/solar_system_1.py
scenes/solar_system_1.py
+2
-0
scenes/solar_system_2.py
scenes/solar_system_2.py
+2
-0
scenes/solar_system_3.py
scenes/solar_system_3.py
+1
-0
scenes/sun_earth.py
scenes/sun_earth.py
+5
-2
scenes/sun_earth_jupiter.py
scenes/sun_earth_jupiter.py
+10
-5
scenes/sun_earth_moon.py
scenes/sun_earth_moon.py
+1
-0
scenes/three_body_02.py
scenes/three_body_02.py
+2
-0
scenes/two_body_01.py
scenes/two_body_01.py
+2
-0
未找到文件。
scenes/earth_moon.py
浏览文件 @
62c779aa
...
...
@@ -16,13 +16,13 @@ if __name__ == '__main__':
地球、月球
"""
# 地球的Y方向初始速度
EARTH_INIT_VELOCITY
=
-
0
# 20m/s
EARTH_INIT_VELOCITY
=
0
bodies
=
[
# sun,
Earth
(
init_position
=
[
0
,
0
,
0
],
init_velocity
=
[
0
,
EARTH_INIT_VELOCITY
,
0
],
size_scale
=
1
),
# 地球放大 10
倍,距离保持不变
init_velocity
=
[
0
,
EARTH_INIT_VELOCITY
,
0
],
size_scale
=
0.5e1
),
# 地球放大 5
倍,距离保持不变
Moon
(
init_position
=
[
363104
,
0
,
0
],
# 距地距离约: 363104 至 405696 km
init_velocity
=
[
0
,
EARTH_INIT_VELOCITY
+
1.023
,
0
],
size_scale
=
1
)
# 月球放大 10 倍,距离保持不变
init_velocity
=
[
0
,
EARTH_INIT_VELOCITY
+
1.023
,
0
],
size_scale
=
1
e1
)
# 月球放大 10 倍,距离保持不变
]
# mayavi_run(bodies, SECONDS_PER_HALF_DAY / 2, view_azimuth=-45)
...
...
scenes/solar_system_1.py
浏览文件 @
62c779aa
...
...
@@ -32,6 +32,8 @@ if __name__ == '__main__':
Pluto
(
size_scale
=
10e3
),
# 冥王星放大 10000 倍,距离保持不变(从太阳系的行星中排除)
]
# 使用 mayavi 查看的运行效果
# mayavi_run(bodies, SECONDS_PER_WEEK, view_azimuth=-45)
# 使用 ursina 查看的运行效果
ursina_run
(
bodies
,
SECONDS_PER_DAY
,
position
=
(
0
,
0
,
0
))
\ No newline at end of file
scenes/solar_system_2.py
浏览文件 @
62c779aa
...
...
@@ -36,6 +36,8 @@ if __name__ == '__main__':
]
# endregion
# 使用 mayavi 查看的运行效果
# mayavi_run(bodies, SECONDS_PER_WEEK, view_azimuth=-45, view_distance=3e9, view_focalpoint=[5e2, 5e2, 5e2])
# 使用 ursina 查看的运行效果
ursina_run
(
bodies
,
SECONDS_PER_WEEK
,
position
=
(
0
,
0
,
0
))
\ No newline at end of file
scenes/solar_system_3.py
浏览文件 @
62c779aa
...
...
@@ -80,5 +80,6 @@ if __name__ == '__main__':
bodies
+=
asteroids
# endregion 3
# 使用 mayavi 查看的运行效果
# mayavi_run(bodies, SECONDS_PER_WEEK, view_azimuth=-45)
mayavi_run
(
bodies
,
SECONDS_PER_WEEK
,
view_azimuth
=-
45
,
view_distance
=
3e9
,
view_focalpoint
=
[
5e2
,
5e2
,
5e2
])
scenes/sun_earth.py
浏览文件 @
62c779aa
...
...
@@ -15,9 +15,12 @@ if __name__ == '__main__':
太阳、地球
"""
bodies
=
[
Sun
(
size_scale
=
1.2e2
),
# 太阳放大 12
0 倍
Sun
(
size_scale
=
5e1
),
# 太阳放大 5
0 倍
Earth
(
size_scale
=
2e3
,
distance_scale
=
1
),
# 地球放大 2000 倍,距离保持不变
]
# 使用 mayavi 查看的运行效果
# mayavi_run(bodies, SECONDS_PER_WEEK, view_azimuth=-45)
ursina_run
(
bodies
,
SECONDS_PER_DAY
,
position
=
(
0
,
0
,
0
))
# 使用 ursina 查看的运行效果
ursina_run
(
bodies
,
SECONDS_PER_WEEK
,
position
=
(
0
,
0
,
0
))
scenes/sun_earth_jupiter.py
浏览文件 @
62c779aa
...
...
@@ -8,15 +8,20 @@
# ==============================================================================
from
bodies
import
Sun
,
Earth
,
Jupiter
from
common.consts
import
SECONDS_PER_WEEK
from
scenes.func
import
mayavi_run
from
scenes.func
import
mayavi_run
,
ursina_run
if
__name__
==
'__main__'
:
"""
太阳、地球、木星
"""
bodies
=
[
Sun
(
size_scale
=
1.2e2
),
# 太阳放大 12
0 倍
Earth
(
size_scale
=
4e3
,
distance_scale
=
1
),
# 地球放大 4
000 倍,距离保持不变
Jupiter
(
size_scale
=
1e3
,
distance_scale
=
0.5
),
# 木星放大 1000 倍,距离缩小到真实距离的 0.5
Sun
(
size_scale
=
5e1
),
# 太阳放大 5
0 倍
Earth
(
size_scale
=
2e3
,
distance_scale
=
1
),
# 地球放大 2
000 倍,距离保持不变
Jupiter
(
size_scale
=
5e2
,
distance_scale
=
1
),
# 木星放大 500 倍,距离保持不变
]
mayavi_run
(
bodies
,
SECONDS_PER_WEEK
,
view_azimuth
=-
45
)
# 使用 mayavi 查看的运行效果
# mayavi_run(bodies, SECONDS_PER_WEEK, view_azimuth=-45)
# 使用 ursina 查看的运行效果
ursina_run
(
bodies
,
SECONDS_PER_WEEK
,
position
=
(
0
,
0
,
0
))
scenes/sun_earth_moon.py
浏览文件 @
62c779aa
...
...
@@ -29,6 +29,7 @@ if __name__ == '__main__':
init_velocity
=
[
-
1.023
,
EARTH_INIT_VELOCITY
,
0
],
size_scale
=
2e1
)
# 月球放大 20 倍,距离保持不变
]
# 使用 mayavi 查看的运行效果
# mayavi_run(bodies, SECONDS_PER_HALF_DAY / 2, view_azimuth=-45)
# 使用 ursina 查看的运行效果
...
...
scenes/three_body_02.py
浏览文件 @
62c779aa
...
...
@@ -29,4 +29,6 @@ if __name__ == '__main__':
Earth
(
init_position
=
[
0
,
-
249597870.700
,
0
],
init_velocity
=
[
15.50
,
0
,
0
],
size_scale
=
4e3
,
distance_scale
=
1
),
# 地球放大 4000 倍,距离保持不变
]
# 使用 mayavi 查看的运行效果
mayavi_run
(
bodies
,
SECONDS_PER_WEEK
,
view_azimuth
=
0
)
scenes/two_body_01.py
浏览文件 @
62c779aa
...
...
@@ -26,4 +26,6 @@ if __name__ == '__main__':
Earth
(
init_position
=
[
0
,
349597870.700
,
0
],
init_velocity
=
[
10.50
,
0
,
0
],
size_scale
=
4e3
,
distance_scale
=
1
),
# 地球放大 4000 倍,距离保持不变
]
# 使用 mayavi 查看的运行效果
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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录