万米高空测半径:一次“零成本”的地球实验 当年希腊人埃拉托斯特尼玩影子差秒表算出地球半径,误差只有10%,不仅验证了地圆说,还顺便定下了“米”的第一次官方定义。现在航空公司允许在万米高空开飞行模式,我拿着一部华为LON-AL00(LON-AL00),心想反正刚禁手机就把实验搬到了飞机上。 飞机起飞后,我盯着窗外找笔直的乡村公路,准备拿旁边的卡车当尺子。当飞机飞过一片平整的农田时,我按下快门,卡车在图2里成了一道蓝色参考线。为了确定高度,我用A4纸贴在窗边拍照,量得纸面占屏幕11px。接着拿一张20cm×27cm的纸在镜头前24cm处充满屏幕,算出相机主视角是0.0075°。回看卡车照片,发现“车长≈11px”,代入视角公式算得视线高度大约2100m。不过因为镜头有点歪,最后定在1500m。 接下来要看地平线有多远。飞机、地平线和镜头三点形成一个圆锥面,截出来的曲线就是双曲线。无量纲化参数λ=ℓ/R(ℓ是视线与地平线交点的距离),λ越大曲线越扁。我把照片上的天际最高点和边缘交点连起来量夹角是0.56°,代入公式算出λ≈0.0372。 把h=1500m和λ=0.0372代进去算地球半径R≈540km。误差主要有两个原因:高度h只算到视线高度,如果按10km对流层顶算,R会接近6371km,误差就降到40%以内了;还有大气折射把地平线抬高了,软件的阈值±1px就会造成0.06°的不确定性,这才是最大的问题。 如果未来手机分辨率再高几倍、AI算法更精准,也许真能在云端把R值锁定在几十米的精度里。毕竟科学就是从“差不多”慢慢走向“差不多精确”的过程嘛。 实验用到的工具主要有:拍摄设备是华为LON-AL00,4:3分辨率3968×2976;图像处理用的是GNU Image Manipulation Program(开源);几何绘图用Geometer's Sketchpad和Geogebra。这是个虽然粗犷但挺好玩的尝试,只要有点三角学常识和一部千元机就能搞定。