python - 路径寻找最短路径(即曲线 - 没有任何拐角)
问题描述
我想找到没有任何拐角的最短路径(它必须是曲线)。我知道 A* 或 Djikstra 算法如何在基于网格的地图上工作,并且我已经使用过 A* 算法。但这对我没有多大帮助,因为在我的情况下它效率不高。
我有一个随机网格图,它是True 和 False (True = block) 的二维数组。我的游戏还包含移动但仅限于向前和向后移动(无横向移动)的单位(士兵)。它们还可以以一定的速度(度/秒) 围绕其原点旋转。这就是它的样子。还有一条曲线,我想找到到地图上任何点的最短路径。
我找不到任何类似的案例,我不知道如何开始。我尝试使用网格和 A* 查找最短路径,然后尝试在此路径上查找快捷方式。但我不知道如何实现弯曲路径以及它如何工作。
如果有人知道任何类似的案例或可以帮助我至少从哪里开始,我将不胜感激。
我的路径实际上由直线和弧线组成(长度和角度取决于士兵的旋转速度和速度)。弧线将连接直线。路径 = 圆弧 + 直线 + 圆弧 + 直线...
一些数字:
士兵前进速度:7.2 单位/秒
士兵后退速度:5 单位/秒
士兵旋转速度:(快)54 度/秒或(慢)14 度/秒
解决方案
推荐阅读
- node.js - 使用 Node js 读取文件时出错
- sql - 查找阶段之间的时间平均时间差
- c# - .editorconfig indent_size 的意外后果
- powershell - Powershell - 导出到 csv,然后导入 - 比较对象将所有项目显示为不同
- docker - Docker 容器如何像 IDE 一样监听同一个端口?
- database - 规范化数据结构什么是最好的选择
- node.js - 关闭浏览器选项卡,由 node js 中的 opn 打开
- php - ORA-00903 PHP Codeigniter 中的无效表名
- javascript - 元素移动到轨道控制后枢轴点丢失
- scala - 如果加入后列不为空,则分组并收集集