Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Python_超人
宇宙模拟器
提交
39013a21
宇宙模拟器
项目概览
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看板
提交
39013a21
编写于
4月 16, 2023
作者:
三月三net
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Python超人-宇宙模拟器
上级
2285f601
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
19 addition
and
17 deletion
+19
-17
sim_scenes/science/free_fall_of_ball.py
sim_scenes/science/free_fall_of_ball.py
+18
-16
simulators/ursina/entities/entity_utils.py
simulators/ursina/entities/entity_utils.py
+0
-1
simulators/ursina/entities/planet.py
simulators/ursina/entities/planet.py
+1
-0
未找到文件。
sim_scenes/science/free_fall_of_ball.py
浏览文件 @
39013a21
...
@@ -17,22 +17,24 @@ if __name__ == '__main__':
...
@@ -17,22 +17,24 @@ if __name__ == '__main__':
"""
"""
# 地球在中心位置
# 地球在中心位置
earth
=
Earth
(
init_position
=
[
0
,
0
,
0
],
size_scale
=
1
,
texture
=
"earth_hd.jpg"
,
init_velocity
=
[
0
,
0
,
0
])
earth
=
Earth
(
init_position
=
[
0
,
0
,
0
],
size_scale
=
1
,
texture
=
"earth_hd.jpg"
,
init_velocity
=
[
0
,
0
,
0
])
# e.raduis = 6373.22
# earth.raduis = 6373.22
# math.sqrt(pow(6373.22 + 500, 2) + pow(500, 2))-6373.22
# 创建的3个不同质量,不同高度的球,观察这3个球打到地球表面上的加速度
# math.sqrt(pow(6373.22 + 1000, 2) + pow(500, 2))-6373.22
ball_1
=
Football
(
mass
=
500
,
size_scale
=
3e2
,
trail_color
=
[
255
,
0
,
0
],
# 创建的3个不同质量,不同高度的物体,观察地球表面上的加速度
# 球在地面上 518 多公里处
bodies
=
[
# 518 = sqrt[(earth.raduis + 500)² + (-500)²] - earth.raduis
earth
,
init_position
=
[
-
500
,
earth
.
raduis
+
500
,
0
],
Football
(
mass
=
500
,
size_scale
=
3e2
,
trail_color
=
[
255
,
0
,
0
],
init_velocity
=
[
0
,
0
,
0
],
gravity_only_for
=
[
earth
])
init_position
=
[
-
500
,
earth
.
raduis
+
500
,
0
],
# 球在地面上 518 多公里(向左偏移500公里)
ball_2
=
Football
(
mass
=
1000
,
size_scale
=
3e2
,
trail_color
=
[
0
,
255
,
0
],
init_velocity
=
[
0
,
0
,
0
],
gravity_only_for
=
[
earth
]),
# 球在地面上 800 多公里处
Football
(
mass
=
1000
,
size_scale
=
3e2
,
trail_color
=
[
0
,
255
,
0
],
init_position
=
[
0
,
earth
.
raduis
+
800
,
0
],
init_position
=
[
0
,
earth
.
raduis
+
800
,
0
],
# 球在地面上 800 多公里
init_velocity
=
[
0
,
0
,
0
],
gravity_only_for
=
[
earth
])
init_velocity
=
[
0
,
0
,
0
],
gravity_only_for
=
[
earth
]),
ball_3
=
Football
(
mass
=
5000
,
size_scale
=
3.8e2
,
trail_color
=
[
0
,
0
,
255
],
Football
(
mass
=
5000
,
size_scale
=
3.8e2
,
trail_color
=
[
0
,
0
,
255
],
# 球在地面上 1016 多公里处
init_position
=
[
500
,
earth
.
raduis
+
1000
,
0
],
# 球在地面上 1016 多公里(向右偏移500公里)
# 1016 = sqrt[(earth.raduis + 1000)² + 500²] - earth.raduis
init_velocity
=
[
0
,
0
,
0
],
gravity_only_for
=
[
earth
]),
init_position
=
[
500
,
earth
.
raduis
+
1000
,
0
],
]
init_velocity
=
[
0
,
0
,
0
],
gravity_only_for
=
[
earth
])
bodies
=
[
earth
,
ball_1
,
ball_2
,
ball_3
]
# 使用 ursina 查看的运行效果
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
...
...
simulators/ursina/entities/entity_utils.py
浏览文件 @
39013a21
...
@@ -295,4 +295,3 @@ def create_trail_info(body, trail):
...
@@ -295,4 +295,3 @@ def create_trail_info(body, trail):
if
trail
is
not
None
:
if
trail
is
not
None
:
trail
.
entity_infos
=
{
"velocity"
:
[
vel_value
,
vel_direction
,
vel_position
],
trail
.
entity_infos
=
{
"velocity"
:
[
vel_value
,
vel_direction
,
vel_position
],
"acceleration"
:
[
acc_value
,
acc_direction
,
acc_position
]}
"acceleration"
:
[
acc_value
,
acc_direction
,
acc_position
]}
simulators/ursina/entities/planet.py
浏览文件 @
39013a21
...
@@ -100,6 +100,7 @@ class Planet(Entity):
...
@@ -100,6 +100,7 @@ class Planet(Entity):
)
)
if
hasattr
(
self
.
body
,
"rotate_angle"
):
if
hasattr
(
self
.
body
,
"rotate_angle"
):
if
self
.
body
.
rotate_angle
!=
0
:
if
self
.
body
.
rotate_angle
!=
0
:
# 为了给天体增加一个倾斜角,增加了一个Entity
self
.
rotate_angle
=
self
.
body
.
rotate_angle
self
.
rotate_angle
=
self
.
body
.
rotate_angle
self
.
main_entity
=
Entity
()
self
.
main_entity
=
Entity
()
self
.
main_entity
.
rotation_x
=
self
.
rotate_angle
self
.
main_entity
.
rotation_x
=
self
.
rotate_angle
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录