本节摘要:天球是以观测者为中心、半径任意的投影球面,天体位置用球面坐标描述。本节建立地平、赤道、黄道、银道四套坐标系的几何图像,写出地平与赤道之间互转的球面三角公式,然后逐项代数算完一个完整实例并用反变换验算;再讲工程上更常用的旋转矩阵三步法,最后给出七种效应的量级表——按目标精度决定哪些必须改正。本节是全书计算手感的第一课。关键词:天球、赤经赤纬、坐标转换、球面三角。
站在旷野抬头,你感觉所有天体离你一样远,贴在同一个球面上。这个感觉是错的物理、但是极好的数学:定义以观测者(或地心、日心)为中心、半径任意的球面,把所有天体沿视线方向投影上去,位置问题就变成球面几何问题。半径取多少无所谓,因为只关心方向。这就是天球。
天球上有几组重要的基本圈,每套坐标系就是"选一个基准圈当赤道,选一个原点当零点":
| 坐标系 | 基准圈 | 坐标 | 原点 | 典型用途 |
|---|---|---|---|---|
| 地平系 | 真地平 | 方位角 A 自北向东、高度角 h | 天顶 | 望远镜指向、观测排程 |
| 赤道系 | 天球赤道 | 赤纬 δ、赤经 α 自春分点向东 | 春分点 | 恒星星表、全天通用 |
| 黄道系 | 黄道 | 黄纬 β、黄经 λ | 春分点 | 太阳系天体轨道 |
| 银道系 | 银道面 | 银纬 b、银经 l | 银心方向 | 银河系结构研究 |
四套系统不是四个平行世界,而是同一颗星的四种说法。观测计划里调望远镜用地平系,因为望远镜的轴就是地平坐标的轴;星表里查星用赤道系,因为它不随观测地点变化;算行星轨道用黄道系,因为行星大致在黄道附近跑;研究银河系用银道系,因为银盘本身是自然的对称面。换坐标系是观测者的日常操作,就像翻译。

看图时抓住两个要点。其一,天球赤道与黄道两个大圆斜交出约 23.4 度,交点之一就是春分点——它是赤道系与黄道系共享的原点,也是岁差缓慢推移的对象(1.1 节表中的每年 50.3 角秒就是它沿黄道的移动)。其二,绿色椭圆是观测者自己的地平,它随纬度与时间变化,所以地平坐标是"最方便也最不通用"的一套:方便在望远镜直接读,不通用在换一个站、过一小时数值全变。
两套坐标系之间总能互转,几何上是球面旋转:找到两套系统的极点夹角,绕公共轴转过去。代数上有两条路:球面三角公式直接算,或者先化为三维单位向量、乘旋转矩阵、再变回球面坐标。工程实现几乎都用后者(数值稳定、无象限歧义),但手算小例用前者更直观,我们先走这条路。
设观测站纬度 φ,恒星高度角 h、方位角 A(自北向东量),它的赤纬 δ 与时角 H 满足球面三角形"天顶—天北极—恒星"的边角关系:
sin δ = sin φ · sin h + cos φ · cos h · cos A (赤纬) sin H = − sin A · cos h / cos δ (时角,按象限定符号) 赤经 α = 本地恒星时 t − 时角 H
反方向同理:
sin h = sin φ · sin δ + cos φ · cos δ · cos H (高度角) cos A = (sin δ − sin φ · sin h) / (cos φ · cos h) (方位角)
这两组公式没有任何神秘成分,就是那个球面三角形的余弦定理与正弦定理。盯一分钟你会发现对称性:正着算是"把 h、A 换成 δ、H",反着算只是交换角色,φ 不动。
观测站纬度 φ = 40.0 度(北京兴隆一带)。某晚记录到一颗星:高度角 h = 50.0 度,方位角 A = 90.0 度(正东),此刻本地恒星时 t = 8 时 00 分。求它的赤经赤纬。
第一步,算赤纬。 sin δ = sin40 · sin50 + cos40 · cos50 · cos90。逐项代数:sin40 度 = 0.6428,sin50 度 = 0.7660,乘积 0.4924;第二项含 cos90 度 = 0,整项归零。所以 sin δ = 0.4924,反查正弦得 δ = 29.5 度(精确些 29.49 度,cos δ = 0.8704)。
第二步,算时角。 sin H = −sin A · cos h / cos δ = −1 × 0.6428 / 0.8704 = −0.7385,得 H = −47.6 度(精确 −47.57 度)。负号表示星还在子午圈以东、正在上升。化为时间单位,每 15 度合 1 小时:47.57 除以 15 等于 3.17 小时,即 3 时 10 分。
第三步,算赤经。 α = t − H = 8 时 00 分 −(−3 时 10 分)= 11 时 10 分。
第四步,反变换验算。 把 δ = 29.49 度、H = −47.57 度代回反向公式:sin h = sin40 · sin29.49 + cos40 · cos29.49 · cos47.57 = 0.6428 × 0.4924 + 0.7660 × 0.8704 × 0.6744 = 0.3165 + 0.4497 = 0.7662,h = 50.0 度;cos A =(0.4924 − 0.6428 × 0.7662)/(0.7660 × 0.6428)=(0.4924 − 0.4925)/ 0.4926 ≈ 0,A = 90 度。往返自洽,闭合差在小数点后第三位,手算到这个程度就可以交卷。
这个例子有两处教学点。第一,方位角正东时 A = 90 度恰好让 cos A 归零,第二步只算一项——真实的观测日志不会这么客气,但机械地按公式逐项代数,任何情况都一样算。第二,如果拿这个结果去比对星表,会发现差着几十角分——因为星表坐标通常是 J2000.0 历元的平均值,而这里的恒星时与瞬时观测对应"今日"的春分点,中间隔着岁差累积、光行差、大气折射等一串改正项。公式只是骨架,改正项才是血肉,下面马上给它们排座次。
观测者真正需要的不是背下有哪些效应,而是判断当前精度下哪些可忽略。按对位置影响的量级排序:
| 效应 | 机制 | 典型量级 | 时间尺度 | 何时必须改 |
|---|---|---|---|---|
| 大气折射 | 大气密度梯度使视线弯折 | 天顶距 45 度处约 1 角分,地平附近约半度 | 瞬时 | 地面光学几乎总要 |
| 岁差 | 地轴绕黄极进动 | 每年 50.3 角秒 | 约 25800 年 | 跨历元比较时总要 |
| 光行差 | 公转速度与光速合成 | 最大 20.5 角秒 | 一年 | 毫角秒级精度必须 |
| 章动 | 月日引力对赤道隆起的摄动 | 黄经主项 17.2 角秒 | 18.6 年 | 精密归算必须 |
| 视差 | 观测点随公转位移 | 最近恒星 0.77 角秒 | 一年 | 近星、毫角秒精度 |
| 极移 | 自转轴相对地壳漂移 | 约 0.3 角秒 | 约 433 天 | 与地球姿态相关的归算 |
| 光线引力偏转 | 太阳引力场弯折光线 | 日缘 1.75 角秒,视线垂直于日向时约 8 毫角秒 | 一年 | 微角秒精度全面进入 |
其中大气折射值得单独给一张小表,因为它是地面观测最常打交道的改正。海平面标准大气下,折射量近似与天顶距正切成正比(系数约 60 角秒):
天顶距 30 度 折射约 35 角秒 天顶距 60 度 折射约 105 角秒 天顶距 45 度 折射约 60 角秒 地平附近 折射约 34 角分
用它做决策:目标是角秒级精度、星在天顶距 45 度以内,改正模型准到 10% 就够;目标是毫角秒级,折射不仅要改正,还要考虑它随波长、气温、气压、水汽的漂移,而且蓝光比红光弯得更多,宽波段测位置会因此拉长星像——这是 3.1 节地面光学要展开的战场。
再补两个到野外就能用的小结论。其一,天极的高度等于测站纬度:站在北纬 40 度,北天极离地平恰好 40 度——赤道仪对极轴时的第一句口诀就是它。其二,赤经的时分秒与角度的换算汇率是 1 比 15:1 小时等于 15 度,1 时分等于 15 角分,1 时秒等于 15 角秒,把这个汇率刻进肌肉,星表坐标与望远镜角度之间的换算就不会再迟疑。
用量级表的姿势:先明确目标精度(角秒级、毫角秒级、微角秒级),从上往下扫,量级高于目标精度十分之一的项都要改。角秒级工作可以不理光线引力偏转;Gaia 的微角秒世界里,视线垂直于太阳方向时的 8 毫角秒偏转是"巨大"信号,每次观测都要建模扣除——这也是 6.3 节"相对论天体测量"的入口。
赤道与黄道、银道之间的转换,工程上用旋转矩阵最干净。以赤道转银道为例,流程三步:第一步绕 z 轴旋转,把春分点方向转到银心所在的赤经子午面;第二步绕 x 轴旋转,把赤道面翻到银道面;第三步按需要绕新 z 轴定银经零点。三步的角度常数由定义钉死:北银极的赤道坐标赤经 192.86 度、赤纬正 27.13 度,银心方向赤经 266.40 度、赤纬负 28.94 度,两平面夹角 62.87 度。三个矩阵连乘,输入输出都是单位向量;球面坐标与向量的互转只有两个公式(坐标分量等于相应三角函数乘积),值得背下来终身受用。
写转换代码时有一个屡试不爽的单元测试:拿"极点"和"零点"这类解析已知的位置过一遍。北银极转回赤道系,应该精确落在赤纬正 27.13 度;春分点转黄道系,黄经黄纬都应该是零。极点的极距等于两平面的夹角——这一句几何关系能检验一切转换代码的正确性。
最后是书写规范。一个合格的坐标必须三要素齐全:参考架、历元、数值。例如"国际天球参考系、历元 J2000.0,赤经 18 时 36 分 56 秒,赤纬正 38 度 47 分 01 秒"。两个常见缩写必须分清:J2000.0 是历元(时间点),ICRS 是参考架(方向基准),1998 年起两者在定义上已经脱钩,日常混说无妨,毫角秒级归算里却要付出约二十几毫角秒的代价——这个细节 2.3 节展开。
至少两种并存:天文约定自北向东量 0 到 360 度;旧仪器约定自南向西量。两者相差 180 度,混用时正弦余弦全部变号。拿到一份观测日志,第一件事确认方位角的零点与方向。
两者都在赤道面里量角度,但零点不同:时角自本地子午圈向西量、随时间增大;赤经自春分点向东量。赤经等于本地恒星时减时角,这个关系式里符号约定错一个,结果差 12 小时——比公式本身更值得小心的是符号约定。
三个来源按大小排:星表是 J2000.0 历元,你的观测对应今日坐标,岁差每年 50.3 角秒,二十多年累积二十几角分;光行差随季节漂移正负 20 角秒;大气折射把星抬高了几十角秒。逐项改正后应收敛到角秒级,做这个"逐项收敛"练习一次,比背十遍公式有用。
下一节解决坐标里的"时间":恒星时从哪来、UTC 与 UT1 差在哪、为什么星表计算必须换到地球时——天文台里"几点了"这个问题,有三个答案。