用python还原《三体》中的二向箔——地球表面的二维投影

在刘慈欣的《三体》中,最终将太阳系文明带入毁灭的是歌者文明向地球方向投掷的一片小小的二向箔。整个太阳系,作为无可争议的三维存在,却被撕扯着,渐次掉入由二向箔展开而成的二维画卷中。作为地球的前后两任执剑人,罗辑在画内,程心在画外。飞船载着嚎啕的眼泪驶向更深的夜空,引擎的火焰向着正在坠入深渊的地球家园宣示着最为深情而热烈的告别。
在被刘慈欣的想象力所折服的同时,测绘出身的你我,想必眼前已经开始浮现大地测量学老师那聘婷的背影和熟悉的脸庞,这不就是她课上讲的地图投影吗?
没错!我们今天就要用python实现地图投影的可视化。保证比课本上这样的黑白插页要直观、美观得多。
用python还原《三体》中的二向箔——地球表面的二维投影

众所周知,投影主要分为三种:方位投影、圆锥投影和圆柱投影。

方位投影就是用一个平面,将椭球面向该平面的法方向进行正射投影,椭球上,离平面越近的点变形越小,越远的点变形越大(相同的纬度差,在投影面上的距离,和实际的球面距离相差更远)。
用python还原《三体》中的二向箔——地球表面的二维投影

当然,该平面和椭球的关系可以是相离、也可以是相切,还可以是相交。据此进行投影的效果也是略有差异。

用python还原《三体》中的二向箔——地球表面的二维投影

用python还原《三体》中的二向箔——地球表面的二维投影

然后就是圆锥投影,圆锥投影就是将一个倒扣的圆锥放在地球附近,然后将地球椭球面上的点投影到圆锥面上,同理,圆锥面和地球椭球的关系也分为相切、相离、相交三种。兰伯特投影就是一种圆锥投影。

用python还原《三体》中的二向箔——地球表面的二维投影

用python还原《三体》中的二向箔——地球表面的二维投影

用python还原《三体》中的二向箔——地球表面的二维投影

最后就是圆柱投影,就是用一个圆柱将地球椭球包住,将地球椭球面上的点投影到圆柱面上。圆柱面和地球椭球的关系也分为相离、相切、相交三种。

用python还原《三体》中的二向箔——地球表面的二维投影

用python还原《三体》中的二向箔——地球表面的二维投影

用python还原《三体》中的二向箔——地球表面的二维投影