【问题标题】:How do I map points from a 2D map on a 3D illustration of the same area如何将 2D 地图中的点映射到同一区域的 3D 插图上
【发布时间】:2014-09-03 21:03:03
【问题描述】:

我正在寻找有关如何构建一种算法的建议,该算法将地图上的任何点映射到另一个地图上的点,并在需要的地方进行插值。

让我用一个我具体需要的例子来更好地澄清一下......

我在真实的自上而下地图上有一组元素和路径(想想谷歌地图或任何类似 gps 的系统),并且我有另一个非自上而下的同一区域的表示。具体来说,我正在制作一张典型的滑雪胜地地图,如this one

第二张地图更像是一幅插图,它通常是一段山脉的三维表示。通常选择视角是为了提供整个滑雪场的最清晰视图,并且不能保证尺寸或比例实际上是正确的。与其说是精确的地图,不如说是一件艺术作品。

我希望便携式设备能够使用它们从 GPS 芯片接收到的“真实”坐标,在这张地图上绘制自己的地图。

我显然假设“映射”过程是基于为自己提供两张地图之间的一定数量的参考点。地图的角落、每个 pista 的起点和终点、空中路线、特定建筑物、山顶……我输入的算法越多,它可能就越精确。

显然,棘手的部分是它能够通过寻找最接近的参考并对两者之间的所有内容进行平均来映射硬编码参考点之间的所有内容。

我确信这经常在许多类似的情况下完成(想想那些经常需要绘制显示玩家位置的东西的游戏),但我不知道在哪里可以找到一个具体的例子。任何指向教程、示例代码及其背后的数学理论的链接都会很棒。

【问题讨论】:

  • 我有另一个非自上而下的同一区域的表示。你能举个例子吗?
  • 是的,当然...我已经编辑了这个问题,并带有一个典型的skirama的链接。检查sk1.it/images/mappe/143.jpg

标签: algorithm google-maps map 3d gps


【解决方案1】:

我认为可以通过某种变形算法来完成:

  • 识别两个地图中的一组地标并记录它们在两个地图中的坐标。
  • 对第一张(准确的)地图进行三角测量。三角测量也将用于第二张地图。第二张地图的三角网将被扭曲。
  • 当您将一个点从一张地图映射到另一张地图时,请确定该点所在的三角形及其barycentric coordinatesrs。将相同的重心坐标应用于另一张地图中的相同三角形,您就有了映射点。

在第二张地图中,如果其中一个三角形显示了在第二张地图中隐藏的区域,例如在您的示例中位于圣克里斯托夫附近山后的黄色道路上,则三角形可能会重叠。您可以将这些区域明确标记为隐藏。

显然,您希望获得的三角测量越准确,所需的顶点就越多。然后,您将需要一些方法来快速识别三角形。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-05
    • 2017-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-28
    相关资源
    最近更新 更多