我正在寻找有关如何构建算法的建议,该算法将地图上的任何点映射到另一个地图上的某个点,并根据需要进行插值。
让我更好地澄清我具体需要的一个例子......
我在真正的自上而下的地图上有一组元素和路径(想想谷歌地图或任何类似gps的系统),我有另一个非自上而下的同一区域的表示。具体来说,我正在制作一个典型的滑雪胜地地图,如滑雪道和斜坡,如this one。
这第二张地图更像是插图,它通常是一段山脉的三维表示。通常选择视角以便提供整个滑雪场的最清晰的视野,并且不能保证尺寸或比例实际上是正确的。它更像是一种艺术作品,而不是精确的地图。
我希望便携式设备能够使用" real"在此地图上映射自己。他们从GPS芯片收到的坐标。
我显然认为"映射"过程基于在两个地图之间提供一定数量的参考点。地图的角落,每个景观,空中道路,特定建筑物,山顶的开始和结束......我对算法的投入越多,它可能就越精确。
显然,棘手的部分是它能够在硬编码参考点之间映射所有内容,方法是查找最接近的参考值并平均其间的所有内容。
我确信这经常在很多类似的环境中完成(想想游戏经常需要映射显示玩家位置等的东西)但我不知道在哪里寻找一个具体的例子。教程,示例代码及其背后的数学理论的任何链接都会很棒。
答案 0 :(得分:2)
我认为可以通过某种变形算法来完成:
在第二张地图中,如果其中一个三角形显示第二张地图中隐藏的区域,则三角形可能会重叠,例如在您的示例中位于St. Christoph附近山坡后面的黄色道路上。您可以将这些区域标记为显式隐藏。
显然,你想要的准确度越高,你需要的三角测量的顶点就越多。然后,您需要一些方法来快速识别三角形。