Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Python_超人
太阳系三体模拟器
提交
9ef242fd
太阳系三体模拟器
项目概览
Python_超人
/
太阳系三体模拟器
通知
1073
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看板
提交
9ef242fd
编写于
3月 24, 2023
作者:
三月三net
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
太阳系三体模拟器
上级
88b4bd38
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
23 addition
and
10 deletion
+23
-10
bodies/body.py
bodies/body.py
+7
-4
data/gravity_slingshot.json
data/gravity_slingshot.json
+3
-1
data/sun_earth.json
data/sun_earth.json
+3
-1
data/tri_bodies_sim_perfect_01.json
data/tri_bodies_sim_perfect_01.json
+3
-1
data/tri_bodies_sim_perfect_02.json
data/tri_bodies_sim_perfect_02.json
+3
-1
data/tri_bodies_sim_perfect_03.json
data/tri_bodies_sim_perfect_03.json
+3
-1
scenes/ursina_json_sim.py
scenes/ursina_json_sim.py
+1
-1
未找到文件。
bodies/body.py
浏览文件 @
9ef242fd
...
...
@@ -307,7 +307,7 @@ class Body(metaclass=ABCMeta):
def
__repr__
(
self
):
return
'<%s(%s)> m=%.3e(kg), r|d=%.3e|%.3e(km), v=%.3e(km³), d=%.3e(kg/m³), p=[%.3e,%.3e,%.3e](km), v=%s(km/s)'
%
\
(
self
.
name
,
self
.
__class__
.
__name__
,
self
.
mass
,
self
.
raduis
,
self
.
diameter
,
self
.
volume
,
self
.
density
,
(
self
.
name
,
self
.
__class__
.
__name__
,
self
.
mass
,
self
.
raduis
,
self
.
diameter
,
self
.
volume
,
self
.
density
,
self
.
position
[
0
],
self
.
position
[
1
],
self
.
position
[
2
],
self
.
velocity
)
def
ignore_gravity
(
self
,
body
):
...
...
@@ -371,12 +371,15 @@ class Body(metaclass=ABCMeta):
except
Exception
as
e
:
err_msg
=
f
"
{
json_file
}
格式错误:"
+
str
(
e
)
raise
Exception
(
err_msg
)
is_fixed_star
=
False
if
"is_fixed_star"
in
body_data
:
if
body_data
[
"is_fixed_star"
]:
body_data
.
pop
(
"is_fixed_star"
)
body
=
FixedStar
(
**
body_data
)
else
:
is_fixed_star
=
True
if
is_fixed_star
:
body_data
.
pop
(
"is_fixed_star"
)
body
=
FixedStar
(
**
body_data
)
else
:
body
=
Body
(
**
body_data
)
bodies
.
append
(
body
)
if
"params"
in
json_data
:
params
=
json_data
[
"params"
]
...
...
data/gravity_slingshot.json
浏览文件 @
9ef242fd
...
...
@@ -59,6 +59,8 @@
0
,
149597870.7
,
-448793612.09999996
]
],
"show_trail"
:
true
,
"show_name"
:
false
}
}
\ No newline at end of file
data/sun_earth.json
浏览文件 @
9ef242fd
...
...
@@ -59,6 +59,8 @@
0
,
149597870.7
,
-448793612.09999996
]
],
"show_trail"
:
true
,
"show_name"
:
false
}
}
\ No newline at end of file
data/tri_bodies_sim_perfect_01.json
浏览文件 @
9ef242fd
...
...
@@ -102,6 +102,8 @@
0
,
149597870.7
,
-1495978707.0
]
],
"show_trail"
:
true
,
"show_name"
:
false
}
}
\ No newline at end of file
data/tri_bodies_sim_perfect_02.json
浏览文件 @
9ef242fd
...
...
@@ -79,6 +79,8 @@
0
,
149597870.7
,
-1495978707.0
]
],
"show_trail"
:
true
,
"show_name"
:
false
}
}
\ No newline at end of file
data/tri_bodies_sim_perfect_03.json
浏览文件 @
9ef242fd
...
...
@@ -79,6 +79,8 @@
0
,
149597870.7
,
-1495978707.0
]
],
"show_trail"
:
true
,
"show_name"
:
false
}
}
\ No newline at end of file
scenes/ursina_json_sim.py
浏览文件 @
9ef242fd
...
...
@@ -29,7 +29,7 @@ if __name__ == '__main__':
dt
=
params
[
"dt"
]
if
"dt"
in
params
else
SECONDS_PER_YEAR
position
=
params
[
"position"
]
if
"position"
in
params
else
(
0
,
0
,
0
)
show_trail
=
params
[
"show_trail"
]
if
"show_trail"
in
params
else
Tru
e
show_trail
=
params
[
"show_trail"
]
if
"show_trail"
in
params
else
Fals
e
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录