Web · PWA · Android · 鸿蒙
河图与近太阳系Hetu & Near Solar System
河图讲数,天文讲象。这个项目试着把两张图叠在一起:用真实算出来的太阳系位置,去读一张流传千年的图——抬头之前先在屏幕上认一遍,今夜该往哪个方向看,能看见哪一颗。
手机浏览器打开后可「添加到主屏幕」当 PWA 用;实景寻星需要传感器与相机权限,请在 HTTPS 或 localhost 下访问。
- 形态
- 桌面 Web / PWA / Android / 鸿蒙
- 历算
- 原生 JS 实时计算,误差 ±1 角分
- 视角
- 轨道 · 地心天球 · AR 实景
- 校验
- 对标 astronomy-engine
它是什么
一个可以在手上转动的太阳系,也是一个「今晚该看什么」的出门指南。行星位置不是示意图,是按时间实时算出来的;放大到圆面能看清相位,播放一年的时间机器能看到它们怎么绕回来。
另一半是河图。生数与成数、五方与五行、数与象的对应,这些抽象的关系被挂在真实的五星位置上:哪一颗在哪个方位、什么时辰合适看、这一课对应哪一句——不是玄谈,是可以今晚下楼验证的。
把「数」放回天上,把「象」落到脚下。
市面上星官显示与黄历择日是两条割裂的赛道,「河图象数 × 真实天象」还没有人产品化。这个项目的差异化就在这里:不是再加一层视觉堆料,而是让两套语言互相指认。
功能
真实位置,三档尺度
同一套实算位置,三种「看起来的大小」:真实轨道比例、便于观察的放大比例、以及圆面特写。尺度切换不改变位置,只改变你怎么看。
双视角
轨道视角从黄道面俯看整个系统;地球视角换成地心天球,星星挂在你头顶那颗球上,和抬头看到的一致。
AR 实景寻星
打开相机与方向传感器,屏幕上的星位随手机转动对齐真实天空。先认位置,再抬头——比对着文字描述找星快得多。
今夜最佳方位
结合当前时刻与地平高度给出「何时、朝哪、找什么」,六步走完一个观测窗口,不需要先学赤道坐标。
天象日历与观星指数
合、冲、凌日、日月食、流星雨、超级月亮,未来三十天可查;观星指数给出今夜的观测条件判断。
河图·五星研习课
十数图与生克、五方配五行、宿位与地平读法,每一节都落回屏幕上的真实天体,可以对着天空核对。
时间机器
1 / 5 / 30 / 120 天每秒,正放倒放,一键播放一年。看会合周期比读定义直观得多。
星官与星等
三垣二十八宿的中式星官体系与西方星座并存,亮星带星等标注;标签密度可调,不会糊成一片。
算得准不准
历算全部在前端完成,用原生 JS、零数据文件,不依赖几十 MB 的历表。为了确认它可信,项目里有一套对标校验,拿成熟的天文库当基准:
日月食时刻误差 不超过 2.9 分钟,凌日不超过 2 小时,流星雨黄经不超过 5 分钟,超级月亮的距离差 64 公里。这些数字写在验证脚本里,每次改动都会重跑。
唯一被示意的地方是太阳与行星的球体半径——真实比例下它们会小到看不见。位置、轨道、相位、升落时刻全部实算,界面上会明确标出哪一处不是。
技术上的几个选择
桌面版、手机网页、Android 与鸿蒙共用同一份 Web 核心,原生壳只负责 WebView 容器与硬件桥(传感器、定位、相机权限、震动、常亮),页面逻辑不复制、不漂移。壳里的 www/ 是生成物,同步脚本一跑就位。
渲染用 Three.js,星点用批量点云而不是几万个独立对象; Service Worker 负责离线缓存,版本号改动后自动换新,避免旧缓存把新版本挡住。
平台与获取
- Web / PWA 浏览器直接打开,可添加到主屏幕离线使用 打开网页版
- Android 系统 WebView 壳,接入传感器与相机,Android 7 以上 下载 APK · 583 KB
- 鸿蒙 ArkWeb 壳,已签测试证书,模拟器可装;零售机需换华为证书 可按需提供
- 桌面 Chrome / Edge 全屏打开,键盘快捷键可切换尾迹、轨道、标签 打开网页版