Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Python_超人
宇宙模拟器
提交
f0ff42c0
宇宙模拟器
项目概览
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看板
提交
f0ff42c0
编写于
11月 09, 2023
作者:
三月三net
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Python超人-宇宙模拟器
上级
9d80e47d
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
29 addition
and
9 deletion
+29
-9
sim_scenes/solar_system/halley_comet_sim.py
sim_scenes/solar_system/halley_comet_sim.py
+29
-9
未找到文件。
sim_scenes/solar_system/halley_comet_sim.py
浏览文件 @
f0ff42c0
...
...
@@ -68,13 +68,12 @@ class HalleyCometSim(HalleyCometSimBase):
# UrsinaConfig.trail_thickness_factor = 3
UrsinaConfig
.
trail_type
=
"line"
UrsinaConfig
.
trail_thickness_factor
=
3
# UrsinaConfig.trail_length = 91
UrsinaConfig
.
trail_length
=
180
UrsinaConfig
.
trail_length
=
152
#
UrsinaConfig.trail_length = 180
UrsinaConfig
.
trail_factor
=
3
# camera.clip_plane_near = 0.1
camera
.
clip_plane_far
=
1000000
# WorldGrid().draw_axises(10)
application
.
time_scale
=
5
...
...
@@ -122,6 +121,23 @@ class HalleyCometSim(HalleyCometSimBase):
# label.udpate
label
.
set_light_off
()
def
show_comet_trail
(
self
,
distance_sun
):
d_au
=
distance_sun
/
AU
HIDE_DISTANCE
=
1
,
15
MAX_ALPHA
=
0.8
if
d_au
>=
HIDE_DISTANCE
[
1
]:
alpha
=
0
elif
HIDE_DISTANCE
[
1
]
>
d_au
>
HIDE_DISTANCE
[
0
]:
alpha
=
MAX_ALPHA
-
(
d_au
-
HIDE_DISTANCE
[
0
])
/
(
HIDE_DISTANCE
[
1
]
-
HIDE_DISTANCE
[
0
])
*
MAX_ALPHA
else
:
alpha
=
MAX_ALPHA
if
alpha
>
MAX_ALPHA
:
alpha
=
MAX_ALPHA
c
=
self
.
halley_comet
.
planet
.
children
[
0
]
c
.
alpha
=
alpha
def
on_timer_changed
(
self
,
time_data
):
"""
...
...
@@ -162,7 +178,7 @@ class HalleyCometSim(HalleyCometSimBase):
else
:
# 防止标签非常紧密
d
=
calculate_distance
(
self
.
halley_comet
.
position
,
self
.
last_label_pos
)
if
d
>
AU
:
if
d
>
2
*
AU
:
self
.
create_year_label
(
last_trail
,
year
,
pos
)
self
.
last_label_pos
=
copy
.
deepcopy
(
self
.
halley_comet
.
position
)
...
...
@@ -184,10 +200,14 @@ class HalleyCometSim(HalleyCometSimBase):
self
.
comet_aphel
=
d_sun
self
.
comet_aphel_dt
=
dt
.
strftime
(
"%Y-%m-%d"
)
self
.
show_comet_trail
(
d_sun
)
panel_text
=
"哈雷彗星:
\n
距离太阳:%.3f AU"
%
(
d_sun
/
AU
)
panel_text
+=
"
\n
离日最远:%.3f AU(%s)"
%
(
self
.
comet_aphel
/
AU
,
self
.
comet_aphel_dt
)
panel_text
+=
"
\n
离日最近:%.3f AU(%s)"
%
(
self
.
comet_peri
/
AU
,
self
.
comet_peri_dt
)
panel_text
+=
"
\n
距离地球:%.3f AU"
%
(
d_earth
/
AU
)
# panel_text += "\n离日最远:%.3f AU(%s)" % (self.comet_aphel / AU, self.comet_aphel_dt)
panel_text
+=
"
\n
离日最远:%.3f AU"
%
(
self
.
comet_aphel
/
AU
)
# panel_text += "\n离日最近:%.3f AU(%s)" % (self.comet_peri / AU, self.comet_peri_dt)
panel_text
+=
"
\n
离日最近:%.3f AU"
%
(
self
.
comet_peri
/
AU
)
# panel_text += "\n距离地球:%.3f AU" % (d_earth / AU)
velocity
,
_
=
get_value_direction_vectors
(
self
.
halley_comet
.
velocity
)
panel_text
+=
"
\n
当前速度:%.3f km/s"
%
velocity
...
...
@@ -236,8 +256,8 @@ if __name__ == '__main__':
params
=
HalleyCometParams
(
start_time
=
'1982-09-24 00:00:00'
,
# init_velocity=[-2.835, 4.72, 8.847],
init_velocity
=
[
-
2.826
,
4.695
,
8.86
],
#
init_velocity=[-2.836, 4.705, 8.85],
#
init_velocity=[-2.826, 4.695, 8.86],
init_velocity
=
[
-
2.836
,
4.705
,
8.85
],
init_position
=
[
0
,
-
5
*
AU
,
-
10
*
AU
]
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录