光污染是垫在天上的一层底光
城市灯光把整个天空背景抬亮。星光本身一点没变,但比背景暗的东西就看不见了。银河大部分是暗弱的结构,所以它最先消失。同一片天空一直在头顶,变化的只是背景的亮度。
真实星表 · 一颗星一个点 · 没有银河贴图
欧洲航天局的 Gaia 卫星量出了银河系里 18 亿颗恒星的位置、亮度和颜色。我们取广州这片天区里 实测到的全部恒星——一直暗到 20 等、约六亿颗——按数据一颗颗画到天球上。银河没有单独画: 星密到一定程度,它自己就浮现出来。然后再把光污染一级级加上去,你会看到它怎么一步步消失。
城市灯光把整个天空背景抬亮。星光本身一点没变,但比背景暗的东西就看不见了。银河大部分是暗弱的结构,所以它最先消失。同一片天空一直在头顶,变化的只是背景的亮度。
在最黑的荒野暗空,视力好的人能看到 8 等左右的暗星;常说的"肉眼极限 6 等"其实只是普通暗天的水平;到了市中心,能剩下 4 等就不错了。星等每差 1 等,亮度差约 2.5 倍——从 8 等到 4 等,能看到的星少了上百倍。
北斗七星连成勺子,只是从地球这个位置看过去的巧合。往那个方向飞几十光年,近处的星各自移位,勺子就散了。银河不一样:它是几千光年尺度上亿万颗星的分布,飞这点距离对它毫无影响。
Bortle 等级是天文爱好者给夜空质量打分的常用标准:1 是远离人烟的顶级暗空,9 是市中心。点按任意等级,查看同一片天空在该等级下的完整样子。
B1 · SQM 21.9 · LIM ≈ 7.8
Gaia 不只测了星星在天上的方位,还测出了它们各自的距离,所以可以算出从任何位置看到的星空。这段视频先朝北斗七星方向飞行,细线连着勺子的七颗星:飞出几十光年,七颗星各自移位,勺子就散了架。后半段镜头转向银河盘面,能看到它在三维空间里铺开。视频无声。
同一条飞行路线的 360° 全景视频:画面把你周围的整个天球摊平成一张宽图,所以边缘看起来有拉伸,这是全景格式的正常现象。把它放进 VR 头显或支持全景的播放器,就可以在飞行途中转头看任意方向。视频无声。
前面的 Bortle 对比和星际飞行,仍然使用广州天区那份约六亿颗星的数据。这一节换成一份独立的全天 HiPS 星图:从 Gaia DR3 里取全天 G≤20 的约 10.6 亿颗恒星,按真实位置和亮度投影到天球上。银河、大麦哲伦云和小麦哲伦云都没有单独绘制;它们之所以出现,是因为对应方向上本来就有 Gaia 测到的恒星密度结构。
线上版本是 Norder 7 的 Lite 版,约 500 亿像素,最佳分辨率约 3.22 角秒每像素。渲染管线把全天星图切成 HiPS 瓦片,在独立浏览器里拖动平移、滚轮缩放,格式与天文学家使用的 Aladin 巡天浏览器一致。我们另有更高分辨率的渲染结果,感兴趣的商业合作用户可以来信索取。
第一个边界来自数据。Gaia 测距离的精度随距离衰减,只有太阳周围几千光年内的恒星距离足够可靠。飞行视频里飞得越远星越稀疏,那不是宇宙的尽头,是测量的尽头。顺带说一句:人类至今没有任何一张银河系的真实俯视照片,网上常见的"银河系全景图"都是根据观测推算出来的想象图。
第二个边界来自屏幕。真实夜空里最亮的星和最暗的银河纹理,亮度能差上百万倍,远超任何屏幕能显示的范围,所以画面必须把明暗压缩之后才能给你看。压缩保留了"谁比谁亮"的相对关系,但不保证绝对亮度的比例。看结构、看趋势、看对比,这些图都可靠;拿去量星等,不行。
画面里没有银河贴图,也没有手绘辉光。从最朴素的"一星一像素"出发,我们先后踩过五个坑,每补一条有物理依据的规则才更逼近真实:先把恒星颜色用白点锚定,再给所有星共用一个光学 PSF,让亮星的大小来自能量守恒的饱和溢出,用更深的真实星表取代增益外推,最后加上人眼对弥散光的 Weber 对比阈值。五步走完,正好复现上面的主图。
代码和数据全部公开
代码、数据下载脚本和全部参数都在 GitHub 仓库里。你可以重新生成这页所有的图和视频,也可以换个城市的纬度、换个光污染等级,渲染一张属于你自己的夜空。