- 新增日食、月食、本地可见性、中心线、半影区域、SVG 图示与沙罗周期信息 - 新增行星冲合、留、方照、物理星历、视直径、相位、亮肢角、轨道节点等计算 - 新增木星伽利略卫星位置、现象与接触事件计算 - 新增恒星星表、星座判定、自行修正与观测辅助能力 - 新增 coord、formula、orbit、sundial、lite/sun、lite/moon 等扩展包 - 完善农历年号、月相英文别名、视差角、大气质量、折射、日晷与双星计算 - 增加 NASA、JPL Horizons、IMCCE 等回归测试数据与基线测试 - 重构基础算法文件组织,补充大量公开 API 注释和语义回归测试 - 更新中文和英文 README,补充示例、精度说明、SVG 配图
1 line
13 KiB
XML
1 line
13 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" width="920" height="720" viewBox="0 0 920 720"><defs><radialGradient id="se-sun" cx="40%" cy="34%" r="64%"><stop offset="0%" stop-color="#fff8bb"/><stop offset="58%" stop-color="#ffd55f"/><stop offset="100%" stop-color="#f5a623"/></radialGradient></defs><rect width="100%" height="100%" fill="#efefed"/><rect x="22" y="18" width="876.000" height="684.000" fill="#ffffff" stroke="#c9c9c6" stroke-width="1.2"/><text x="460.000" y="44" fill="#111111" font-family="Georgia, 'Times New Roman', serif" font-size="26" font-weight="700" text-anchor="middle">2012-05-21 站心日环食</text><line x1="382.000" y1="57" x2="538.000" y2="57" stroke="#555" stroke-width="1"/><text x="460.000" y="86.000" fill="#222" font-family="Georgia, 'Times New Roman', serif" font-size="14" text-anchor="middle">经度=118.0894 纬度=24.4798 食型=日环食 食分=0.9333 掩食比=0.8725</text><text x="460.000" y="109.000" fill="#333" font-family="Georgia, 'Times New Roman', serif" font-size="13" text-anchor="middle">食甚:2012-05-21 06:10:25 CST 太阳高度 9.57 度 太阳位于金牛座</text><text x="460.000" y="132.000" fill="#333" font-family="Georgia, 'Times New Roman', serif" font-size="13" text-anchor="middle">沙罗 128 第 58/73 个成员 环食历时 00:04:19</text><text x="46.000" y="156.000" fill="#111" font-family="Georgia, 'Times New Roman', serif" font-size="14" font-weight="700">全局路径</text><circle cx="319.200" cy="303.800" r="45.884" fill="url(#se-sun)" stroke="#c78211" stroke-width="1.4"/><circle cx="319.200" cy="303.800" r="47.884" fill="none" stroke="#ffec92" stroke-opacity="0.58" stroke-width="7"/><text x="319.200" y="240.916" fill="#111" font-family="Georgia, 'Times New Roman', serif" font-size="14" font-weight="700" text-anchor="middle">北</text><text x="253.316" y="307.800" fill="#111" font-family="Georgia, 'Times New Roman', serif" font-size="14" font-weight="700" text-anchor="middle">东</text><text x="385.084" y="307.800" fill="#111" font-family="Georgia, 'Times New Roman', serif" font-size="14" font-weight="700" text-anchor="middle">西</text><text x="319.200" y="376.684" fill="#111" font-family="Georgia, 'Times New Roman', serif" font-size="14" font-weight="700" text-anchor="middle">南</text><line class="ecliptic-line" x1="449.442" y1="331.793" x2="188.958" y2="275.807" stroke="#666" stroke-width="1" stroke-dasharray="4 3" opacity="0.82"/><text x="188.958" y="269.807" fill="#444" font-family="Georgia, 'Times New Roman', serif" font-size="12" text-anchor="end">黄道</text><path d="M 405.141 325.308 L 397.894 323.530 L 390.709 321.746 L 383.586 319.957 L 376.526 318.164 L 369.529 316.365 L 362.595 314.563 L 355.724 312.757 L 348.917 310.949 L 342.173 309.137 L 335.494 307.324 L 328.878 305.510 L 322.327 303.694 L 322.264 303.677 L 319.454 302.893 L 316.656 302.108 L 315.839 301.879 L 309.416 300.063 L 303.056 298.248 L 296.761 296.434 L 290.529 294.621 L 284.361 292.811 L 278.257 291.004 L 272.217 289.199 L 266.240 287.399 L 260.326 285.602 L 254.474 283.811 L 248.686 282.024 L 242.959 280.243 L 237.295 278.469 L 234.255 277.511" fill="none" stroke="#555555" stroke-width="1.2" stroke-dasharray="5 4" stroke-linecap="round" stroke-linejoin="round"/><circle class="event-moon" data-label="C1" cx="405.141" cy="325.308" r="42.705" fill="none" stroke="#24518a" stroke-width="1.3" stroke-dasharray="5 4"/><circle class="event-center" data-label="C1" cx="405.141" cy="325.308" r="2.6" fill="#ffffff" stroke="#24518a" stroke-width="1.2"/><circle class="event-center" data-label="C2" cx="322.264" cy="303.677" r="2.6" fill="#ffffff" stroke="#24518a" stroke-width="1.2"/><circle class="event-moon" data-label="Greatest" cx="319.454" cy="302.893" r="42.859" fill="none" stroke="#111111" stroke-width="1.3" stroke-dasharray="5 4"/><circle class="event-center" data-label="Greatest" cx="319.454" cy="302.893" r="2.6" fill="#ffffff" stroke="#111111" stroke-width="1.2"/><circle class="event-center" data-label="C3" cx="316.656" cy="302.108" r="2.6" fill="#ffffff" stroke="#24518a" stroke-width="1.2"/><circle class="event-moon" data-label="C4" cx="234.255" cy="277.511" r="43.033" fill="none" stroke="#24518a" stroke-width="1.3" stroke-dasharray="5 4"/><circle class="event-center" data-label="C4" cx="234.255" cy="277.511" r="2.6" fill="#ffffff" stroke="#24518a" stroke-width="1.2"/><line class="contact-leader" x1="363.712" y1="314.940" x2="411.243" y2="315.923" stroke="#c96b6b" stroke-width="0.8" opacity="0.58"/><circle class="contact-point" cx="363.712" cy="314.940" r="3.2" fill="#b51616" stroke="#ffffff" stroke-width="0.8"/><text x="411.243" y="319.923" fill="#b51616" font-family="Georgia, 'Times New Roman', serif" font-size="11" font-weight="700" text-anchor="start">C1 256°</text><line class="contact-leader" x1="365.047" y1="301.960" x2="417.487" y2="287.883" stroke="#c96b6b" stroke-width="0.8" opacity="0.58"/><circle class="contact-point" cx="365.047" cy="301.960" r="3.2" fill="#b51616" stroke="#ffffff" stroke-width="0.8"/><text x="417.487" y="291.883" fill="#b51616" font-family="Georgia, 'Times New Roman', serif" font-size="11" font-weight="700" text-anchor="start">C2 272°</text><line class="contact-leader" x1="280.991" y1="278.395" x2="247.655" y2="264.592" stroke="#c96b6b" stroke-width="0.8" opacity="0.58"/><circle class="contact-point" cx="280.991" cy="278.395" r="3.2" fill="#b51616" stroke="#ffffff" stroke-width="0.8"/><text x="247.655" y="268.592" fill="#b51616" font-family="Georgia, 'Times New Roman', serif" font-size="11" font-weight="700" text-anchor="end">C3 56°</text><line class="contact-leader" x1="275.367" y1="290.234" x2="231.013" y2="292.056" stroke="#c96b6b" stroke-width="0.8" opacity="0.58"/><circle class="contact-point" cx="275.367" cy="290.234" r="3.2" fill="#b51616" stroke="#ffffff" stroke-width="0.8"/><text x="231.013" y="296.056" fill="#b51616" font-family="Georgia, 'Times New Roman', serif" font-size="11" font-weight="700" text-anchor="end">C4 73°</text><line class="event-leader" x1="405.141" y1="325.308" x2="346.078" y2="281.810" stroke="#24518a" stroke-width="0.8" stroke-dasharray="3 3" opacity="0.72"/><text x="331.312" y="273.435" fill="#174f8a" font-family="Georgia, 'Times New Roman', serif" font-size="12" font-weight="700" text-anchor="end">C1</text><line class="event-leader" x1="322.264" y1="303.677" x2="274.952" y2="271.279" stroke="#24518a" stroke-width="0.8" stroke-dasharray="3 3" opacity="0.72"/><text x="263.124" y="265.679" fill="#174f8a" font-family="Georgia, 'Times New Roman', serif" font-size="12" font-weight="700" text-anchor="end">C2</text><line class="event-leader" x1="319.454" y1="302.893" x2="292.253" y2="354.380" stroke="#24518a" stroke-width="0.8" stroke-dasharray="3 3" opacity="0.72"/><text x="285.453" y="369.752" fill="#174f8a" font-family="Georgia, 'Times New Roman', serif" font-size="12" font-weight="700" text-anchor="end">食甚</text><line class="event-leader" x1="316.656" y1="302.108" x2="371.519" y2="327.311" stroke="#24518a" stroke-width="0.8" stroke-dasharray="3 3" opacity="0.72"/><text x="385.235" y="336.111" fill="#174f8a" font-family="Georgia, 'Times New Roman', serif" font-size="12" font-weight="700" text-anchor="start">C3</text><line class="event-leader" x1="234.255" y1="277.511" x2="282.616" y2="309.878" stroke="#24518a" stroke-width="0.8" stroke-dasharray="3 3" opacity="0.72"/><text x="294.706" y="320.470" fill="#174f8a" font-family="Georgia, 'Times New Roman', serif" font-size="12" font-weight="700" text-anchor="start">C4</text><text x="46.000" y="467.600" fill="#111" font-family="Georgia, 'Times New Roman', serif" font-size="14" font-weight="700">阶段视圆图</text><rect x="46.000" y="477.600" width="157.600" height="164.400" fill="#fbfbf8" stroke="#d8d2c4" stroke-width="1"/><text x="124.800" y="495.600" fill="#111" font-family="Georgia, 'Times New Roman', serif" font-size="12" font-weight="700" text-anchor="middle">C1 初亏</text><circle cx="124.800" cy="558.800" r="22.692" fill="url(#se-sun)" stroke="#c78211" stroke-width="1"/><circle cx="124.800" cy="558.800" r="23.892" fill="none" stroke="#ffec92" stroke-opacity="0.55" stroke-width="3"/><circle class="stage-moon" cx="167.303" cy="569.437" r="21.120" fill="#050505" stroke="#111111" stroke-width="1.1"/><circle class="stage-contact-point" cx="146.814" cy="564.309" r="2.5" fill="#b51616" stroke="#ffffff" stroke-width="0.8"/><text x="124.800" y="630.000" fill="#444" font-family="Georgia, 'Times New Roman', serif" font-size="11" text-anchor="middle">05:08:12</text><rect x="213.600" y="477.600" width="157.600" height="164.400" fill="#fbfbf8" stroke="#d8d2c4" stroke-width="1"/><text x="292.400" y="495.600" fill="#111" font-family="Georgia, 'Times New Roman', serif" font-size="12" font-weight="700" text-anchor="middle">C2 环食始</text><circle cx="292.400" cy="558.800" r="22.692" fill="url(#se-sun)" stroke="#c78211" stroke-width="1"/><circle cx="292.400" cy="558.800" r="23.892" fill="none" stroke="#ffec92" stroke-opacity="0.55" stroke-width="3"/><circle class="stage-moon" cx="293.915" cy="558.739" r="21.194" fill="#050505" stroke="#111111" stroke-width="1.1"/><circle class="stage-contact-point" cx="315.074" cy="557.890" r="2.5" fill="#b51616" stroke="#ffffff" stroke-width="0.8"/><text x="292.400" y="630.000" fill="#444" font-family="Georgia, 'Times New Roman', serif" font-size="11" text-anchor="middle">06:08:15</text><rect x="381.200" y="477.600" width="157.600" height="164.400" fill="#fbfbf8" stroke="#d8d2c4" stroke-width="1"/><text x="460.000" y="495.600" fill="#111" font-family="Georgia, 'Times New Roman', serif" font-size="12" font-weight="700" text-anchor="middle">食甚</text><circle cx="460.000" cy="558.800" r="22.692" fill="url(#se-sun)" stroke="#c78211" stroke-width="1"/><circle cx="460.000" cy="558.800" r="23.892" fill="none" stroke="#ffec92" stroke-opacity="0.55" stroke-width="3"/><circle class="stage-moon" cx="460.126" cy="558.351" r="21.196" fill="#050505" stroke="#111111" stroke-width="1.1"/><text x="460.000" y="630.000" fill="#444" font-family="Georgia, 'Times New Roman', serif" font-size="11" text-anchor="middle">06:10:25</text><rect x="548.800" y="477.600" width="157.600" height="164.400" fill="#fbfbf8" stroke="#d8d2c4" stroke-width="1"/><text x="627.600" y="495.600" fill="#111" font-family="Georgia, 'Times New Roman', serif" font-size="12" font-weight="700" text-anchor="middle">C3 环食终</text><circle cx="627.600" cy="558.800" r="22.692" fill="url(#se-sun)" stroke="#c78211" stroke-width="1"/><circle cx="627.600" cy="558.800" r="23.892" fill="none" stroke="#ffec92" stroke-opacity="0.55" stroke-width="3"/><circle class="stage-moon" cx="626.342" cy="557.963" r="21.199" fill="#050505" stroke="#111111" stroke-width="1.1"/><circle class="stage-contact-point" cx="608.703" cy="546.236" r="2.5" fill="#b51616" stroke="#ffffff" stroke-width="0.8"/><text x="627.600" y="630.000" fill="#444" font-family="Georgia, 'Times New Roman', serif" font-size="11" text-anchor="middle">06:12:34</text><rect x="716.400" y="477.600" width="157.600" height="164.400" fill="#fbfbf8" stroke="#d8d2c4" stroke-width="1"/><text x="795.200" y="495.600" fill="#111" font-family="Georgia, 'Times New Roman', serif" font-size="12" font-weight="700" text-anchor="middle">C4 复圆</text><circle cx="795.200" cy="558.800" r="22.692" fill="url(#se-sun)" stroke="#c78211" stroke-width="1"/><circle cx="795.200" cy="558.800" r="23.892" fill="none" stroke="#ffec92" stroke-opacity="0.55" stroke-width="3"/><circle class="stage-moon" cx="753.190" cy="545.799" r="21.282" fill="#050505" stroke="#111111" stroke-width="1.1"/><circle class="stage-contact-point" cx="773.522" cy="552.091" r="2.5" fill="#b51616" stroke="#ffffff" stroke-width="0.8"/><text x="795.200" y="630.000" fill="#444" font-family="Georgia, 'Times New Roman', serif" font-size="11" text-anchor="middle">07:20:55</text><text x="40.000" y="666.000" fill="#333" font-family="Georgia, 'Times New Roman', serif" font-size="12">太阳固定在中心;月球路径使用站心切平面。图上左东右西,向上为北。</text><text x="40.000" y="686.000" fill="#555" font-family="Georgia, 'Times New Roman', serif" font-size="12">上方为全局路径,C2/C3 只标点位;下方为各阶段独立视圆图。接触点位置角从天球北点起向东量。</text><rect x="604.400" y="191.800" width="260.000" height="117.000" fill="#fbfbf8" stroke="#d8d2c4" stroke-width="1"/><text x="616.400" y="211.800" fill="#111111" font-family="Georgia, 'Times New Roman', serif" font-size="13" font-weight="700">接触时刻 (CST)</text><text x="616.400" y="229.300" fill="#333333" font-family="Georgia, 'Times New Roman', serif" font-size="11.5">C1 初亏 05:08:12 方位 255.9°</text><text x="616.400" y="246.800" fill="#333333" font-family="Georgia, 'Times New Roman', serif" font-size="11.5">C2 环食始 06:08:15 方位 272.3°</text><text x="616.400" y="264.300" fill="#333333" font-family="Georgia, 'Times New Roman', serif" font-size="11.5">GE 食甚 06:10:25</text><text x="616.400" y="281.800" fill="#333333" font-family="Georgia, 'Times New Roman', serif" font-size="11.5">C3 环食终 06:12:34 方位 56.4°</text><text x="616.400" y="299.300" fill="#333333" font-family="Georgia, 'Times New Roman', serif" font-size="11.5">C4 复圆 07:20:55 方位 72.8°</text></svg> |