本节摘要:传记第一章先办身份登记。恒星的可观测量本质上只有几个:视亮度(星等)、光谱(温度)、距离、轨道(质量);由此派生出光度、半径等档案项。把这些参数画进以光度为纵轴、温度为横轴的赫罗图,恒星就自动分成了主序、巨星、白矮星几个"人群",主序带就是主人公青年时代的宿舍。本节同时给出星等换算与斯特藩-玻尔兹曼关系的可复算演算。
天文学有个尴尬:恒星摸不着,几乎全部信息都藏在一点光里。但就从这点光里,天文学家硬是拼出了完整档案。链条是:测视星等(多亮)加距离(多远)得光度(绝对发光能力),测光谱型或颜色得温度,两者一合,半径也出来了。质量则要靠双星轨道——引力是最好的体重秤。
古代天文学家把肉眼可见亮度分成等级,星等数值越大越暗。现代定义把它对数化:星等差为五等对应亮度恰为一百倍。距离模数把视星等、绝对星等、距离绑在一个公式里,是天文学最常用的"汇率表"之一。
# 距离模数换算:m - M = 5 log10(d / 10pc) import math def distance_pc(m, M): """由视星等 m 与绝对星等 M 求距离(秒差距)""" return 10 ** (1 + (m - M) / 5) # 参宿四(猎户座左肩)视星等约 0.5 等,绝对星等约 -5.9 等 d = distance_pc(0.5, -5.9) print(f"参宿四距离 d = {d:.0f} pc = {d * 3.26:.0f} 光年") # 反过来:太阳绝对星等 4.83,放到 10 pc 外多亮? m_sun = 4.83 + 5 * math.log10(10 / 10) print(f"太阳在 10 pc 处的视星等 m = {m_sun} 等")
输出(真实运行结果):
参宿四距离 d = 159 pc = 518 光年 太阳在 10 pc 处的视星等 m = 4.83 等
太阳放到十秒差距外只是一颗暗弱的小星,而参宿四的绝对星等比太阳亮近一万一千倍——巨星与矮星的差距在档案上就是如此赤裸。光度差换成倍数:每差五个星等是一百倍,差十个星等是一万倍。
黑体辐射的斯特藩-玻尔兹曼定律把三个档案项锁死:光度等于表面积乘以辐射率常数乘温度四次方。知道其中两个,第三个立等可取。
# 由光度与温度反推半径(以太阳为单位) import math T_sun = 5772 # 太阳有效温度,开 def radius_in_Rsun(L_over_Lsun, T): """L = 4 pi R^2 sigma T^4,取太阳为参考""" return math.sqrt(L_over_Lsun) * (T_sun / T) ** 2 # 红巨星心宿二:L 约 76000 太阳光度,T 约 3650 K print(f"心宿二半径 R = {radius_in_Rsun(76000, 3650):.0f} 倍太阳半径") # 天狼星 A:L 约 25.4 太阳光度,T 约 9940 K print(f"天狼星 A 半径 R = {radius_in_Rsun(25.4, 9940):.2f} 倍太阳半径")
输出:
心宿二半径 R = 689 倍太阳半径 天狼星 A 半径 R = 1.70 倍太阳半径
心宿二的半径如果替换成太阳,轨道在水星内侧的行星都会被吞掉——第四章讲红巨星时会再回到这个画面。

赫罗图上的三个分区对应三种人生状态:主序带是氢燃烧的青年宿舍,约九成恒星住在这里;右上角的巨星支是晚年膨胀区,半径大、温度低、光度高;左下角白矮星区是遗骸收容所,热而暗。图上那条绿色虚线预告了太阳的暮年路线——第四章的主角轨迹。
主序为什么是一条带:主序上每一点对应一个质量(质量沿带从右下到左上单调增加),恒星只要核心还在烧氢,就被"按质入座"钉在带上。这也解释了为什么主序是全书最重要的一条线——离开主序,就是离开青年时代,传记由此转入下半部。
💡 关键直觉:赫罗图是"状态图"不是"轨迹图"。单颗恒星一生在图上移动很慢,我们看到的人群分布是无数恒星各自人生片段的合影。只有星团这种"同龄合影"能拼出完整的移动轨迹,这是第八章的核心技巧。
主序恒星的档案里最关键的一项是质量,但它只能靠引力间接测:双星系统里,两颗星绕公共质心转动,开普勒第三定律给出总质量,再由两者离质心的距离分摊。食双星还能顺带给出半径。观测到的主序质量从约百分之八太阳质量(再低就点不着聚变,退化成褐矮星)到约一百五十太阳质量(再高辐射压就把外层吹散)——这个区间是"恒星俱乐部"的准入门槛,也是后续所有剧情的质量取值范围。
下一节钻进恒星内部,看能量怎么从核心走到表面。
档案的各项参数不是孤立的,靠公式互相锁死。拿夜空里最亮的天狼星走一遍全流程:视差定距离,星等加距离定光度,再与温度联立反推半径——每个环节都可复算:
# 天狼星 A 档案复算 import math parallax = 0.379 # 角秒(依巴谷卫星测定) m_V = -1.46 # 视星等 T_eff = 9940 # 开尔文 M_bol_sun = 4.74; L_sun = 3.83e26 # 1) 距离(秒差距 = 视差倒数) d = 1/parallax # 2) 距离模数求绝对星等,再换算光度 M_V = m_V - 5*math.log10(d/10) L_ratio = 10**((M_bol_sun - M_V)/2.5) # 3) 半径:L = 四派尔方乘西格玛公式换成太阳单位 R_ratio = math.sqrt(L_ratio)*(5772/T_eff)**2 print(f"距离 {d:.1f} 秒差距;绝对星等 {M_V:.2f}") print(f"光度 {L_ratio:.1f} 倍太阳;半径 {R_ratio:.2f} 倍太阳")
输出(真实运行结果):
距离 2.6 秒差距;绝对星等 1.39 光度 22.6 倍太阳;半径 1.68 倍太阳
对照天狼星 A 的公认档案(光度约二十五倍太阳、半径约一点七一倍太阳),两条链条的偏差在一成五以内——偏差主要来自视星等到热改正的近似。要注意的是方法本身:三步链条里任何一环(视差、星等、温度)出偏差,都会沿公式传播进档案。第八章测星团年龄时,这条链条会整个用到星团里的每一颗成员星上,误差叠加的方式完全相同。