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