什么是 C/2023 A3(紫金山-阿特拉斯)彗星?让我们用 Python 来绘制它的路径

彗星的基本概念

  彗星(Comet),是指进入太阳系内亮度和形状会随日距变化而变化的绕日运动的天体,呈云雾状的独特外貌,也是中国神话传说的扫帚星(星官名)。彗星分为彗核、彗发、彗尾三部分。彗核由冰物质构成,当彗星接近恒星时,彗星物质升华,在冰核周围形成朦胧的彗发和一条稀薄物质流构成的彗尾。彗星的质量、密度很小,当远离太阳时只是一个由水、氨、甲烷等冻结的冰块和夹杂许多固体尘埃粒子的“脏雪球”。当接近太阳时,彗星在太阳辐射作用下分解成彗头和彗尾,状如扫帚。彗星以椭圆形、抛物线和双曲线这三种轨道围绕太阳运行。

C/2023 A3(紫金山-阿特拉斯)彗星

  2023年3月1日,国际小行星中心发布一颗新彗星C/2023 A3(Tsuchinshan-ATLAS)的确认公告。该目标由中国科学院紫金山天文台近地天体望远镜于1月9日首次发现,后由南非ATLAS计划在2月22日报告存在彗星特征,进一步通过美国帕洛玛ZTF望远镜观测资料的回溯检测,确认为一颗已经开始活动的彗星。彗星的临时编号为A10SVYR,根据彗星命名系统,这颗彗星获得了两个天文台的名称,并被正式命名为C/2023 A3(Tsuchinshan-ATLAS)。

观测

  • 10月14日至20日:0.5到1.7等,亮度减弱,但距离太阳更远,因此更容易被看到。日落后约一小时,肉眼可见。您可以看到反彗尾,即一条明亮的条纹,似乎指向太阳,与其他彗尾相反。10月15日,彗星将经过M5球状星团1.4°,提供良好的拍照机会。彗星穿过巨蛇座。
  • 10月20日至31日:亮度从1.9到3.9等,穿过蛇夫座,位于西南天空相对较高的位置,晚上可见。用双筒望远镜和望远镜可见。在这几天里,彗尾将开始快速增长。
  • 11月:亮度从4到8等,晚上可见。日落后在北半球升得更高。
  • 12月:亮度从8到10等,在天空中逐渐靠近太阳,升到地平线以下。在南半球不可见。

绘制

import numpy as np
from matplotlib import pyplot as plt
from matplotlib.collections import LineCollection

from skyfield.api import Star, load
from skyfield.constants import GM_SUN_Pitjeva_2005_km3_s2 as GM_SUN
from skyfield.data import hipparcos, mpc, stellarium
from skyfield.projections import build_stereographic_projection

# 加载天文历
ts = load.timescale()
t_comet = ts.utc(2024, 10, range(1, 32))
t = t_comet[len(t_comet) // 2]  # middle date

# 加载太阳系天体数据(行星及以上)
eph = load('de421.bsp')
sun = eph['sun']
earth = eph['earth']

# 加载小行星中心数据,创建彗星对象
with load.open(mpc.COMET_URL) as f:
    comets = mpc.load_comets_dataframe(f).set_index("designation", drop=False)
n = 'C/2023 A3 (Tsuchinshan-ATLAS)'
row = comets.loc[n]  # 提取 Tsuchinshan-ATLAS 彗星参数
comet = sun + mpc.comet_orbit(row, ts, GM_SUN)

# 加载恒星目录(Hipparcos)
with load.open(hipparcos.URL) as f:
    stars = hipparcos.load_dataframe(f)

# 加载星座信息,生成星座轮廓
url = ('https://raw.githubusercontent.com/Stellarium/stellarium/master'
       '/skycultures/modern_st/constellationship.fab')
with load.open(url) as f:
    constellations = stellarium.parse_constellations(f)
edges = [edge for name, edges in constellations for edge in edges]
edges_star1 = [star1 for star1, star2 in edges]
edges_star2 = [star2 for star1, star2 in edges]

# 计算彗星路径,创建立体(天坐标)投影,并配置星体大小范围
center = earth.at(t).observe(comet)
projection = build_stereographic_projection(center)
field_of_view_degrees = 45.0
limiting_magnitude = 7.0

# 计算每颗恒星和彗星在图表上的x和y坐标
star_positions = earth.at(t).observe(Star.from_dataframe(stars))
stars['x'], stars['y'] = projection(star_positions)

comet_x, comet_y = projection(earth.at(t_comet).observe(comet))

# 标记亮度足够的恒星,计算这些恒星在图表上的大小
bright_stars = (stars.magnitude <= limiting_magnitude)
magnitude = stars['magnitude'][bright_stars]
marker_size = (0.5 + limiting_magnitude - magnitude) ** 2.0

# 处理星座线
xy1 = stars[['x', 'y']].loc[edges_star1].values
xy2 = stars[['x', 'y']].loc[edges_star2].values
lines_xy = np.rollaxis(np.array([xy1, xy2]), 1)

############################################### 开始绘图
# 配置全局参数
PAR = {'font.sans-serif': 'Times New Roman',
       'axes.unicode_minus': False,
       'mathtext.default':'regular',
      }
plt.rcParams.update(PAR)
fig, ax = plt.subplots(figsize=[18, 9], dpi = 300)

# 绘制星座线
ax.add_collection(LineCollection(lines_xy, colors='#00f2'))

# 绘制恒星
ax.scatter(stars['x'][bright_stars], stars['y'][bright_stars],
           s=marker_size, color='k')

# 绘制彗星位置及日期标签
comet_color = '#f00'
ax.plot(comet_x, comet_y, ls = (6, (6,6)), lw = 0.3, c = comet_color, zorder=3, marker='+', markersize=10)
offset = 0.012
for xi, yi, tstr in zip(comet_x, comet_y, t_comet.utc_strftime('%m/%d')):
    tstr = tstr.lstrip('0')
    offset = offset * -1
    text = ax.text(xi, yi - offset, tstr, color = comet_color, 
                   ha='center', va='center', fontsize=12, weight='bold')
    text.set_alpha(0.9)

# 创建标题,配置其他参数.
angle = np.pi - field_of_view_degrees / 360.0 * np.pi
limit = np.sin(angle) / (1.0 - np.cos(angle))
xlim0, xlim1 = -limit*2, limit * 3.3
ylim0, ylim1 = -limit, limit
ax.set_xlim(xlim0, xlim1)
ax.set_ylim(ylim0, ylim1)

ax.xaxis.set_visible(False)
ax.yaxis.set_visible(False)
ax.set_aspect(1.0)
ax.set_title(f"Comet {n} {t_comet[0].utc_strftime('%Y/%m/%d')} - {t_comet[-1].utc_strftime('%Y/%m/%d')}", size = 18)

# 标注星座中心
for c_n, edges in constellations:
    star = stars[['x', 'y']].loc[np.array(edges).flatten()]
    x, y = star.query(f"({xlim0} < x < {xlim1}) and ({ylim0} < y < {ylim1})").mean().values
    if not np.isnan(x):
        text = ax.text(x, y, c_n, color = 'blue', fontsize=16)
        
fig.savefig('Tsuchinshan-ATLAS.png', bbox_inches='tight')

  中文版:

附表:2024年9~10月近日点彗星信息表

天体名称近日点年份近日点月份近日点日期近日点距离(au)轨道偏心率近日点参数升交点经度轨道倾角绝对星等视星等来源
C/2022 E2 (ATLAS)2024913.96433.666931.0010141.6861125.366137.1348.44MPEC 2023-HD1
C/2021 G2 (ATLAS)202499.61984.981260.999323343.327221.09748.473794MPEC 2023-HD1
54P/de Vico-Swift-NEAT202493.76062.172640.4264541.9034358.816.064194MPC 89011
C/2023 A3 (Tsuchinshan-ATLAS)2024927.67010.3912621.00018308.48821.5574139.1189.24MPEC 2023-HD1
P/2014 MG4 (Spacewatch-PANSTARRS)202497.37013.715970.258854299.012311.7219.36589.54MPEC 2022-K19
384P/Kowalski2024919.12631.112760.61623937.656354.2197.283519.54MPEC 2022-OB6
P/2019 M2 (ATLAS)2024928.14031.067910.647419332.551307.61612.270921.24MPEC 2022-O08
234P/LINEAR20241023.41612.822210.256549357.346179.57111.5356124MPEC 2022-K19
P/2015 HG16 (PANSTARRS)20241017.86693.106960.35180347.272457.233118.912212.54MPEC 2021-P47
P/2012 US27 (Siding Spring)20241021.22151.816020.6483240.839949.20939.370113.54MPC 84024
37P/Forbes20241011.24781.616760.533004330.094314.5668.950513.84MPEC 2021-F20
253P/PANSTARRS20241020.84622.02780.414596230.736146.8754.943514.54MPEC 2020-FB5
360P/WISE2024103.63551.852290.499294354.2172.189424.110619.56MPC108599

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/892897.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一起体验AI动手实验,OceanBase 2024 年度发布会精彩预告

2024年OceanBase年度发布会将于10月23日在北京望京凯悦酒店举行。此次大会围绕“不止于记录”的主题&#xff0c;共同探讨当前数据库领域的前沿话题&#xff0c;包含主论坛、分论坛、AI 动手实训营、开源技术交流会等多个环节&#xff0c;诚邀全国各地的企业和开发者共同参与&a…

一个月学会Java 第18天 容器与泛型(有容器的原码解读)

Day18 容器与泛型 我们来简单讲讲容器是什么&#xff0c;顾名思义&#xff0c;是存东西的器皿&#xff0c;就叫做容器&#xff0c;那在我们计算机中需要存的是什么呢&#xff0c;是不是就是数据啊&#xff0c;所以我们的java是有提供一系列数据容器的&#xff0c;容器我们也叫做…

Redis:分布式 - 集群

Redis&#xff1a;分布式 - 集群 集群数据分片哈希求余一致性哈希算法哈希槽分区算法 Docker搭建集群集群操作重定向故障转移集群扩容 集群 在主从复制与哨兵模式中&#xff0c;数据库的数据对于每一台主机来说&#xff0c;都是全量保存的。这就会导致&#xff0c;就算引入再多…

Unity网络开发基础 —— 实践小项目

概述 接Unity网络开发基础 导入基础知识中的代码 需求分析 手动写Handler类 手动书写消息池 using GamePlayer; using System; using System.Collections; using System.Collections.Generic; using UnityEngine;/// <summary> /// 消息池中 主要是用于 注册 ID和消息类…

ps提示不能使用移动工具,因为目标通道被隐藏的解决办法

解决&#xff1a;按F7&#xff0c;或者从窗口把图层打开 按图示找到快速蒙版图层。它可能被隐藏或以特殊图标显示。右键删除或者拖到右下角垃圾桶里

岩石分类检测数据集 4700张 岩石检测 带标注 voc yolo 9类

岩石分类检测数据集 4700张 岩石检测 带标注 voc yolo 9类 岩石分类检测数据集 (Rock Classification and Detection Dataset) 描述: 本数据集旨在支持对不同类型的岩石进行自动分类和检测&#xff0c;特别适用于地质勘探、矿物识别、环境监测等领域。通过使用该数据集训练的模…

智慧云党建”主题网站设计与实现(源码+定制+开发)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

5G NR UE初始接入信令流程

文章目录 5G NR UE初始接入信令流程 5G NR UE初始接入信令流程 用户设备向gNB-DU发送RRCSetupRequest消息。gNB-DU 包含 RRC 消息&#xff0c;如果 UE 被接纳&#xff0c;则在 INITIAL UL RRC MESSAGE TRANSFER 消息中包括为 UE 分配的低层配置&#xff0c;并将其传输到 gNB-CU…

Sounding Reference Signal (SRS)

文章目录 探测参考信号&#xff08;SRS&#xff09;Sounding Reference Signals 探测参考信号的生成基序列 探测参考信号&#xff08;SRS&#xff09; 探测参考信号&#xff08;SRS&#xff09;在上行链路中传输&#xff0c;使网络能够估计不同频率下的信道质量。 Sounding R…

2024双十一值得购买的好物有哪些?看完这五款好物让你不后悔!

随着一年一度的双十一购物狂欢节即将拉开帷幕&#xff0c;作为一名热衷于分享购物心得的博主&#xff0c;我今天特别想在这里为大家详细介绍五款我个人非常期待入手的好物。这些产品都是经过我精心挑选和试用的&#xff0c;我相信它们不仅能够满足我的需求&#xff0c;同样也能…

使用HTML和CSS实现3D波浪动画效果

使用HTML和CSS实现3D波浪动画效果 在本篇博客中&#xff0c;将详细介绍如何使用HTML与CSS创建一个3D波浪动画效果。这个效果不仅能够在网页中创建立体感强的视觉体验&#xff0c;还能够通过悬停和聚焦实现与用户的交互。我们将逐步解析代码中的每个部分&#xff0c;帮助你掌握…

Stm32+Esp8266连接阿里云程序移植教程(MQTT协议)

Stm32Esp8266连接阿里云程序移植教程&#xff08;MQTT协议&#xff09; 一、前期准备二、移植过程三、程序的使用3.1 连接上阿里云3.2 传输用户数据到阿里云3.3 解析从阿里云下发给用户的数据3.4 关于调试接口 一、前期准备 自己要的工程文件移植所需的文件&#xff08;如下图&…

[ACTF2020] 新生赛]Exec1

目录 0x01命令执行 [ACTF2020 新生赛]Exec1 1、解法1 2、解法2 3、总结 3.1php命令注入函数 3.2java命令注入函数 3.3常见管道符 0x02SQL注入 [极客大挑战 2019]EasySQL1 0x01命令执行 [ACTF2020 新生赛]Exec1 1、解法1 ping本地&#xff0c;有回显&#xff0c;TTL…

数据分析Python for Data专业书籍pdf

随着大数据时代的到来&#xff0c;数据分析已成为企业决策、科学研究以及日常生活中不可或缺的一部分。对于想要学习数据分析的人来说&#xff0c;Python 是最理想的编程语言之一。其简洁的语法、强大的库以及丰富的社区支持&#xff0c;使得 Python 成为数据分析的首选工具。本…

隐蔽的并发错误

欢迎关注公众号 【11来了】 &#xff0c;持续 中间件源码、系统设计、面试进阶相关内容 在我后台回复 「资料」 可领取 编程高频电子书&#xff01; 在我后台回复「面试」可领取 30w 字的硬核面试笔记&#xff01; 感谢你的关注&#xff01; 隐蔽的 synchronized 并发错误 在使…

基于SpringBoot+Vue+Uniapp汽车保养系统小程序的设计与实现

详细视频演示 请联系我获取更详细的演示视频 项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念&#xff0c;提供了一套默认的配置&#xff0c;让开发者可以更专注于业务逻辑而…

PROFINET转SSI协议模块快速使用说明

Profinet网关PROFINET转SSI协议 PN4SSI模块快速使用说明 * 应用时PNSSI模块时&#xff0c;拨码全部拨到OFF。 (1) 在博途中新建一个项目&#xff0c;通过“选项”——“管理通用站描述文件”添加模块的GSD文件。 选择GSD文件所在的目录&#xff0c;点击安装&#xff1a; (…

天选销冠徐志胜与森马的跨界营销,你get了吗?

在当今这个信息爆炸的时代&#xff0c;品牌如何在众多竞争者中脱颖而出&#xff0c;成为消费者心中的首选&#xff0c;是一个值得深入探讨的问题。知名脱口秀演员徐志胜携手森马推出《绒毛的歌》广告片&#xff0c;以其独特的幽默风格&#xff0c;试图为冬季羽绒服市场注入一股…

CEEMDAN +组合预测模型(Transformer - BiLSTM + ARIMA)

往期精彩内容&#xff1a; 时序预测&#xff1a;LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较 全是干货 | 数据集、学习资料、建模资源分享&#xff01; EMD、EEMD、FEEMD、CEEMD、CEEMDAN的区别、原理和Python实现&#xff08;一&#xff09;EMD-CSDN博客 EMD、EEM…

解决linux服务器磁盘占满问题(详细,有效,100%解决)

应用场景&#xff1a; 在我们的日常开发中&#xff0c;我们的服务器总是在不知不觉中磁盘莫名奇妙少了很多空间&#xff0c;或者被占满了&#xff0c;如果这时候要想要存储什么文件&#xff0c;突然发现空间不够了。但我们通常也不知道那些文件占用的空间大&#xff0c;这时候…