Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Python_超人
宇宙模拟器
提交
4afdbe83
宇宙模拟器
项目概览
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看板
提交
4afdbe83
编写于
8月 28, 2023
作者:
三月三net
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Python超人-宇宙模拟器
上级
21ec9aeb
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
29 addition
and
10 deletion
+29
-10
common/celestial_data_service.py
common/celestial_data_service.py
+29
-10
未找到文件。
common/celestial_data_service.py
浏览文件 @
4afdbe83
...
...
@@ -206,19 +206,38 @@ def set_earth_rotation(earth, dt):
earth
.
planet
.
rotation_y
=
-
total_hours
*
15
-
angle_of_day
+
15
# 精确调整
def
get_astropy_time
(
str_time
):
from
datetime
import
datetime
return
Time
(
datetime
.
strptime
(
str_time
+
'+0800'
,
'%Y-%m-%d %H:%M:%S%z'
),
format
=
'datetime'
)
# pip install Astropysics
if
__name__
==
'__main__'
:
# pip install astropy
from
astropy.coordinates
import
get_body_barycentric_posvel
from
astropy.time
import
Time
import
astropy.units
as
u
# 安装天文包
# pip install -i http://pypi.douban.com/simple/ --trusted-host=pypi.douban.com astropy
from
astropy.coordinates
import
get_body_barycentric_posvel
# 获取天体的坐标pos和速度vel
from
astropy.time
import
Time
# 时间
from
astropy.coordinates
import
solar_system_ephemeris
import
astropy.units
as
u
# 单位
import
pytz
# 获取当前时间
t
=
Time
.
now
()
print
(
"日期时间:"
,
t
)
posvel
=
get_body_barycentric_posvel
(
'earth'
,
t
)
print
(
"坐标(公里):"
,
[
posvel
[
0
].
x
.
to
(
u
.
km
),
posvel
[
0
].
y
.
to
(
u
.
km
),
posvel
[
0
].
z
.
to
(
u
.
km
)])
print
(
"速度(公里/秒):"
,
[
posvel
[
1
].
x
.
to
(
u
.
km
/
u
.
second
),
posvel
[
1
].
y
.
to
(
u
.
km
/
u
.
second
),
posvel
[
1
].
z
.
to
(
u
.
km
/
u
.
second
)])
# 指定日期时间
# t = get_astropy_time('2050-01-01 12:00:00')
print
(
"北京时间:"
,
t
.
to_datetime
(
timezone
=
pytz
.
timezone
(
'Asia/Shanghai'
)))
# 打印天体名
# print("天体名:", solar_system_ephemeris.bodies)
# 获取地球的坐标和速度
earth_pos_vel
=
get_body_barycentric_posvel
(
'earth'
,
t
)
print
(
"地球坐标(公里):"
,
[
earth_pos_vel
[
0
].
x
.
to
(
u
.
km
),
earth_pos_vel
[
0
].
y
.
to
(
u
.
km
),
earth_pos_vel
[
0
].
z
.
to
(
u
.
km
)])
print
(
"地球速度(公里/秒):"
,
[
earth_pos_vel
[
1
].
x
.
to
(
u
.
km
/
u
.
second
),
earth_pos_vel
[
1
].
y
.
to
(
u
.
km
/
u
.
second
),
earth_pos_vel
[
1
].
z
.
to
(
u
.
km
/
u
.
second
)])
# print("速度(公里/秒):", posvel[1] * AU / SECONDS_PER_DAY)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录