如何直观地显示使用数学函数定义的自定义地图投影

问题描述 投票:0回答:1

我一直在尝试制作自己的地图投影,并且我想测试我正在查看的一些内容。我制作了一个 desmos 图,它根据某些函数扭曲网格,但我希望能够真正扭曲地球的图像。

我有一个函数 T(x, y),它将获取图像的每个像素并将其移动到该函数定义的其他点。我希望能够以某种方式对图像执行此操作。

map-projections
1个回答
0
投票

我还使用 Desmos 图形计算器制作自己的地图投影!

我认为不可能像Desmos中那样扭曲图像(除了通过改变高度和宽度来垂直或水平拉伸它,或者将图像旋转一定角度),但是你可以将一个函数应用于一系列积分。

当我想在 Desmos 中制作自己的地图投影时,我看到了 Markson Chen 绘制的名为“地球”的图表。我使用该图作为通过更改“function”文件夹下的函数来制作自己的地图投影的基础。该图的原始创建者将该函数设为正交投影,使其看起来像球形地球旋转,但该函数可以更改为其他函数以进行不同的地图投影,例如墨卡托投影:f_x(R_x,R_y) = (R_x) 和 f_y(R_x,R_y) = ln(tan(pi/4 + (R_y)/2)。小写的 r_x 和 r_y 控制中央子午线和平行线。如果你想让东西在变化时绕到另一边中央子午线 (r_x),我这样做的方法是将 (R_x) 更改为 2 arctan(tan(1/2(R_x))。您可能会在土地被切断的地方看到穿越世界的线。我修复的方式我不是用连接线投影陆地的多边形,而是投影定义这些多边形的点列表,这解决了问题,只是现在海岸看起来不连续,而是像看起来像点的星座就像世界陆地海岸的形状一样,但我认为这很好,因为这些点靠得很近,而且在我看来,它看起来并没有那么糟糕,除非有像墨卡托这样的地图投影,它会膨胀附近的区域极点并使点看起来彼此相距更远。这个 Desmos 图也像您所做的那样投影网格线。以下是我的地图投影图及其所基于的图表的链接:

链接到我的图表

链接至 Markson Chen 的《地球》

© www.soinside.com 2019 - 2024. All rights reserved.