Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Python_超人
宇宙模拟器
提交
544ca4d7
宇宙模拟器
项目概览
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看板
提交
544ca4d7
编写于
3月 29, 2025
作者:
三月三net
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Python超人-宇宙模拟器
上级
2689acd0
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
10 addition
and
10 deletion
+10
-10
simulators/mpl/mpl_2d_simulator_arrow.py
simulators/mpl/mpl_2d_simulator_arrow.py
+10
-10
未找到文件。
simulators/mpl/mpl_2d_simulator_arrow.py
浏览文件 @
544ca4d7
...
...
@@ -42,7 +42,7 @@ class 星球:
"""
if
大小
is
None
:
# 大小 = np.sqrt(质量) / 1000
大小
=
np
.
power
(
质量
,
0.
2
)
/
10
大小
=
np
.
power
(
质量
,
0.
16
)
/
10
self
.
质量
=
质量
self
.
位置
=
np
.
array
(
位置
,
dtype
=
float
)
self
.
速度
=
np
.
array
(
速度
,
dtype
=
float
)
...
...
@@ -96,12 +96,12 @@ def 场景1():
时间步长
=
0.01
# 创建星球列表
星球列表
=
[
星球
(
质量
=
5e12
,
位置
=
[
0
,
0
],
速度
=
[
0
,
0.
1
],
颜色
=
'red'
,
名称偏移
=
[
1
,
0
]),
星球
(
质量
=
5e1
0
,
位置
=
[
20
,
0
],
速度
=
[
0
,
2
],
颜色
=
'blue'
),
星球
(
质量
=
5e1
0
,
位置
=
[
-
20
,
0
],
速度
=
[
0
,
-
2
],
颜色
=
'green'
)
星球
(
质量
=
5e12
,
位置
=
[
0
,
0
],
速度
=
[
0
,
0.
2
],
颜色
=
'red'
,
名称偏移
=
[
1
,
0
]),
星球
(
质量
=
5e1
1
,
位置
=
[
25
,
0
],
速度
=
[
0
,
2
],
颜色
=
'blue'
),
星球
(
质量
=
5e1
1
,
位置
=
[
-
25
,
0
],
速度
=
[
0
,
-
2
],
颜色
=
'green'
)
]
坐标轴
.
set_xlim
(
-
50
,
50
)
坐标轴
.
set_ylim
(
-
50
,
5
0
)
坐标轴
.
set_ylim
(
-
20
,
8
0
)
def
场景2
():
...
...
@@ -134,8 +134,8 @@ def 场景2():
坐标轴
.
set_ylim
(
-
10
,
50
)
#
场景1()
场景2
()
场景1
()
#
场景2()
# 设置纵横比为固定值,使得 X、Y 刻度比例不变
坐标轴
.
set_aspect
(
'equal'
)
...
...
@@ -198,7 +198,7 @@ def 更新(帧):
轨迹列表
[
i
].
set_data
(
轨迹
[:,
0
],
轨迹
[:,
1
])
偏移量_x
,
偏移量_y
=
0
,
0
# 星球.名称偏移 星球.位置[0] + 偏移量_x + 0.5, 星球.位置[1] + 偏移量_y
名称列表
[
i
].
set_position
((
x
-
0.8
,
y
-
1
))
min_length
,
max_length
=
4
,
100
min_length
,
max_length
=
0
,
100
# 更新速度箭头
速度线列表
[
i
].
remove
()
dx
,
dy
=
星球
.
速度
[
0
]
*
速度线长率
,
星球
.
速度
[
1
]
*
速度线长率
...
...
@@ -210,7 +210,7 @@ def 更新(帧):
# 重新设置 dx,dy ,使得 (dx ** 2 + dy ** 2) ** 0.5 = 5
dx
,
dy
=
dx
/
distance
*
min_length
,
dy
/
distance
*
min_length
速度线
=
plt
.
arrow
(
x
,
y
,
dx
,
dy
,
width
=
0.0
5
,
head_width
=
1
,
color
=
星球
.
颜色
)
速度线
=
plt
.
arrow
(
x
,
y
,
dx
,
dy
,
width
=
0.0
2
,
head_width
=
0.8
,
color
=
星球
.
颜色
)
速度线列表
[
i
]
=
速度线
坐标轴
.
add_patch
(
速度线
)
...
...
@@ -225,7 +225,7 @@ def 更新(帧):
# 重新设置 dx,dy ,使得 (dx ** 2 + dy ** 2) ** 0.5 = 5
dx
,
dy
=
dx
/
distance
*
min_length
,
dy
/
distance
*
min_length
加速度线
=
plt
.
arrow
(
x
,
y
,
dx
,
dy
,
width
=
0.0
5
,
head_width
=
1
,
color
=
"black"
)
加速度线
=
plt
.
arrow
(
x
,
y
,
dx
,
dy
,
width
=
0.0
2
,
head_width
=
0.8
,
color
=
"black"
)
加速度线列表
[
i
]
=
加速度线
坐标轴
.
add_patch
(
加速度线
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录