java棋盘最短路径障碍物_(Eucledian最短路径)检测平面中障碍物的角落

问题历史/原点

最近我偶然发现Twitch.TV上的 Channels 来自执行经典游戏速度的玩家 . 其中一人打了The Legend of Zelda - A Link to the Past . 我看到了很多低效的动作,我开始怀疑 - 鉴于世界 Map 数据 - 是否有可能编写一个执行完美速度的机器人 . 一个经常出现的子问题是找到一个平面中两点之间的最短路径,我认为这是一个非常有趣的问题,我开始对此进行更多的研究 .

类似的Stackoverflow问题已经发布

... 和更多

其中答案总是为Superproblem(如下所述)提供不同的解决方案,例如使用基于网格的方法,而不是我感兴趣的实际子问题(如下所述) .

Superproblem解决方案描述

给定平面中的两个点 X=(x1,x2) 和 Y=(y1,y2) - 如果平面包含路径可能无法通过的障碍物/区域,那么从 X 到 Y 的最短路径是多少?

Differently/ More visually 从Link的当前位置到 Map 上的第二个红点的最短路径是什么,因为他无法爬过墙壁或穿过灌木丛?

05d8ac54-da3f-4e9c-b192-1b5316aecea2.png

为此,构造了一个带有 V= {X,Y} U {"Corner-Points of obstacles}" 的所谓的Visibility Graph . 当且仅当可以从 P 到 Q 绘制直线而不穿过任何障碍物时,边缘插入点 P and Q 之间 . 每个边缘由它连接的点之间的Eucledian

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值