提交 ddffc122 编写于 作者: 三月三net's avatar 三月三net

Python超人-宇宙模拟器

上级 968c1e39
......@@ -206,32 +206,33 @@ def set_earth_rotation(earth, dt):
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
return Time(datetime.strptime(str_time + '+0800', '%Y-%m-%d %H:%M:%S%z'), format='datetime')
# pip install Astropysics
if __name__ == '__main__':
# 安装天文包
def get_earth_pos_vel(dt):
"""
根据日期时间获取地球的
@param dt:
@return:
"""
# 安装 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.time import Time # 时间
from astropy.coordinates import solar_system_ephemeris
import astropy.units as u # 单位
import pytz
# 获取当前时间
t = Time.now()
# 指定日期时间
# t = get_astropy_time('2050-01-01 12:00:00')
print("北京时间:", t.to_datetime(timezone=pytz.timezone('Asia/Shanghai')))
print('----------------------------------------')
print("北京时间:", dt.to_datetime(timezone=pytz.timezone('Asia/Shanghai')))
# 打印天体名
# 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', dt)
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)])
......@@ -239,5 +240,15 @@ if __name__ == '__main__':
[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('----------------------------------------')
# 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.
先完成此消息的编辑!
想要评论请 注册