Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Python_超人
宇宙模拟器
提交
8dbb3f5b
宇宙模拟器
项目概览
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看板
提交
8dbb3f5b
编写于
7月 26, 2023
作者:
三月三net
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Python超人-宇宙模拟器
上级
209b57b0
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
50 addition
and
24 deletion
+50
-24
sim_scenes/tri_bodies/tri_bodies_04.py
sim_scenes/tri_bodies/tri_bodies_04.py
+1
-24
sim_scenes/tri_bodies/tri_bodies_04_3d.py
sim_scenes/tri_bodies/tri_bodies_04_3d.py
+49
-0
未找到文件。
sim_scenes/tri_bodies/tri_bodies_04.py
浏览文件 @
8dbb3f5b
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
# title :三体场景模拟02
# title :三体场景模拟02
# description :三体场景模拟(3个太阳、1个地球)
# description :三体场景模拟(3个太阳、1个地球)
# author :Python超人
# author :Python超人
# date :2023-0
2-11
# date :2023-0
7-20
# link :https://gitcode.net/pythoncr/
# link :https://gitcode.net/pythoncr/
# python_version :3.8
# python_version :3.8
# ==============================================================================
# ==============================================================================
...
@@ -37,29 +37,6 @@ if __name__ == '__main__':
...
@@ -37,29 +37,6 @@ if __name__ == '__main__':
size_scale
=
SIZE_SCALE
,
texture
=
"fixed_star.png"
),
size_scale
=
SIZE_SCALE
,
texture
=
"fixed_star.png"
),
]
]
# 按照以上代码案例格式生成代码,要求 init_position 、init_velocity、mass 生成后,要保证在万有引力的作用下,能正常运行,不会碰撞
"""
太阳1:
初始位置:(100000, 200000, 300000) km
初始速度:(-1.0, -2.0, 3.0) km/s
质量:2.5 x 10^30 kg
太阳2:
初始位置:(-150000, 250000, 350000) km
初始速度:(2.0, -3.0, -1.0) km/s
质量:2.0 x 10^30 kg
太阳3:
初始位置:(200000, -300000, 400000) km
初始速度:(-3.0, 1.0, -2.0) km/s
质量:2.8 x 10^30 kg
"""
# 使用 mayavi 查看的运行效果
# mayavi_run(bodies, SECONDS_PER_WEEK, view_azimuth=0)
# 使用 matplotlib 查看运行效果
# mpl_run(bodies, SECONDS_PER_WEEK)
# 使用 ursina 查看的运行效果
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后-
# position = 左-右+、上+下-、前+后-
...
...
sim_scenes/tri_bodies/tri_bodies_04_3d.py
0 → 100644
浏览文件 @
8dbb3f5b
# -*- coding:utf-8 -*-
# title :三体场景模拟02
# description :三体场景模拟(3个太阳、1个地球)
# author :Python超人
# date :2023-07-26
# link :https://gitcode.net/pythoncr/
# python_version :3.8
# ==============================================================================
from
bodies
import
Sun
,
Earth
from
common.consts
import
SECONDS_PER_DAY
,
SECONDS_PER_WEEK
,
SECONDS_PER_YEAR
,
AU
from
sim_scenes.func
import
mayavi_run
,
mpl_run
,
ursina_run
if
__name__
==
'__main__'
:
"""
注释: 3个太阳
可以修改影响效果的参数为:
1、三个方向的初始位置 init_position[x, y, z]
2、三个方向的初始速度 init_velocity[x, y, z]
3、天体质量 mass
"""
# 代码案例如下:
SIZE_SCALE
=
5e1
# 生成的太阳放大 50 倍
RUN_DIAMETER
=
1.392e6
# 真实太阳的直径
velocity_rate
=
22
bodies
=
[
Sun
(
name
=
"太阳1"
,
mass
=
1e30
,
color
=
(
111
,
140
,
255
),
rotation_speed
=
0.1
,
init_position
=
[
-
100
*
RUN_DIAMETER
,
0
,
0
],
init_velocity
=
[
0.347113
*
velocity_rate
,
0.532727
*
velocity_rate
,
0
],
size_scale
=
SIZE_SCALE
,
texture
=
"fixed_star.png"
),
Sun
(
name
=
"太阳2"
,
mass
=
1e30
,
color
=
(
250
,
195
,
47
),
rotation_speed
=
0.1
,
init_position
=
[
100
*
RUN_DIAMETER
,
0
,
0
],
init_velocity
=
[
0.347113
*
velocity_rate
,
0.532727
*
velocity_rate
,
0
],
size_scale
=
SIZE_SCALE
,
texture
=
"fixed_star.png"
),
Sun
(
name
=
"太阳3"
,
mass
=
1e30
,
color
=
(
198
,
29
,
3
),
rotation_speed
=
0.1
,
init_position
=
[
0
,
0
,
0
],
init_velocity
=
[
-
0.694226
*
velocity_rate
,
-
1.065454
*
velocity_rate
,
0
],
size_scale
=
SIZE_SCALE
,
texture
=
"fixed_star.png"
),
]
# TODO: 开启3D摄像机
from
simulators.ursina.entities.camera3d
import
Camera3d
# 3D摄像机初始化(眼睛的距离为1000公里效果)
Camera3d
.
init
(
eye_distance
=
5000000
)
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后-
ursina_run
(
bodies
,
SECONDS_PER_WEEK
*
3
,
position
=
(
1.5
*
AU
,
0
,
-
5
*
AU
),
show_trail
=
True
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录