ITPub博客

首页 > > > C++一个平面点线寻路设计问题,谁能给出一种合适快速节约内存的算法?

C++一个平面点线寻路设计问题,谁能给出一种合适快速节约内存的算法?

作者:deeply 时间:2019-09-24 15:02:24 0 删除 编辑

一个平面里,平面大小未知(平面的边界未知的)。给出一个起点和一个终点,要能从起点走到终点。问题是每次会有不同的建筑物,在只能水平和垂直移动的情况下需要绕过这些建筑物到达终点。下面图解此问题:

比如此种类型,蓝色为起点,红色为终点,绿色为建筑物(以下图中均是如此),建筑物所在坐标已知,建筑的长宽已知(这些都是已知的)。我的方法是:以1个坐标点为单位定义一个绝对大的二维数组(初始化为0)表示这个平面,求出建筑面积(所占多少个坐标点),用1填充其所占坐标点。测试起点X坐标到终点X坐标全为0(可以通过),再测试起点Y坐标到终点Y坐标全为0(可以通过)。最后到达终点。

以上是最简单的一种形式,但有时建筑物会有多个而且不能直接用些方法(三点两线)到达终点。具体情况看下面几张图。(位图的边缘表示实际地形的边缘,但边缘的实际坐标未知)

比如最后这张图:肯定先要向反方向移动,到了出口再向下移动,最终走到终点。请思考下,给出一种或者几种计算合适路线的方法(函数内可以有这几种算法针对不同类型用哪种算法就好)(不要求是最快最近的路线,只要能绝对到达终点就行)。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1978/viewspace-3168441/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-05-30

  • 博文量
    215
  • 访问量
    24535