核心功能
astro-natal-chart 是一款专业级占星本命盘生成工具,采用NASA认证的 Swiss Ephemeris(pyswisseph 2.10.3.2) 星历计算引擎,结合 Pillow 图形库实现高精度星盘渲染。
技术架构
- 单一数据源架构:
natal_chart_swe.py作为唯一计算引擎,通过--json输出供渲染器调用,确保文本与图形数据严格一致 - 专业级精度:使用JPL DE431星历表,支持精确到弧分的行星位置、宫位计算(Placidus分宫制)及相位检测
- 双语支持:完整的俄/英双语解读系统,涵盖星座关键词、行星含义、宫位解释及相位分析
输出特性
- 5760×2880px 高分辨率星图:三栏布局——本命盘轮(左)、核心数据(中)、详细解读(右)
- 可视化元素:12星座色块(四元素配色)、行星标记、宫位界线、ASC/MC轴线、相位连线、图例说明
- 智能排版:双字体系统(seguisym.ttf显示星座符号 ♈–♓,segoeuisl.ttf支持西里尔字母),按字符自动切换
使用流程
# 生成JSON数据 python natal_chart_swe.py 14.12.1991 18:30 Moscow --json # 渲染完整星图 python draw_wheel.py 14.12.1991 18:30 Moscow --lang ru --name "Anna" # 附加AI结论(三阶段工作流) draw_wheel.py ... --conclusion ai_summary.txt
显著优点
1. 计算权威性:Swiss Ephemeris为天文学界标准工具,精度远超简化算法
2. 零数据漂移:渲染器完全依赖JSON子进程输出,消除计算-渲染不一致风险
3. 本地化完备:俄英双语涵盖所有解读文本,非简单翻译而是文化适配
4. 扩展性设计:--conclusion 标志支持外部AI生成内容无缝嵌入
局限性与风险
| 方面 | 说明 |
|------|------|
| **平台限制** | 仅Windows x64,依赖Python 3.14.x及MSVC++ Redistributable 2015-2022 |
| **科学性声明** | 作者明确标注为"娱乐/教育工具",非科学预测方法 |
| **依赖管理** | 2MB原生二进制扩展(.pyd)需匹配CPython ABI版本 |
| **无实时天象** | 专注本命盘(natal),不支持行运(transit)或推运(progression) |
适用人群
- 占星学研究者与爱好者
- 需要标准化星盘输出的内容创作者
- 开发占星相关应用的程序员(可作为计算后端)
安全评估
来源可信度 T2(开源社区维护,Swiss Ephemeris为NASA关联项目)。代码结构清晰,无网络请求、无敏感权限需求,纯本地计算。捆绑的二进制扩展来自可信上游,但需注意ABI版本锁定风险。