- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在研究一种基于 Theta* 的寻路算法,它是 A* 的一种变体,它提供了一个很好的寻路系统,它不受网格的限制,即使地形/障碍物是基于网格模式的。该系统需要一种视线算法来确定特定路径是否被阻挡。
我找到了 this非常有用的视线算法,我已经在我的代码中成功地实现了它。不幸的是,它认为以下是无效路径:
但是,出于我的目的,我希望这样的路径被认为是有效的。我试图通过使用基本 y = mx + b
公式检测点是否在线上来修改算法,但算法的不一致使我无法依赖这样的系统。
是否有任何有效的方法来修改此算法以允许这样的路径?还有另一种算法会更好吗?请记住,路径的起点和终点不一定必须限制在网格中,因此所有点都使用 double
精度。
最佳答案
您引用的代码实际上省略了明确处理线穿过网格点(四个正方形接触的地方)的情况。您需要检查 error == 0
。
在这种情况下,与网格点接触的四个方 block 中至多有一个可能被阻挡以仍然具有有效路径。
问候,埃里希
关于java - 我怎样才能修改这个视线算法来接受穿过角落的光线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11280619/
我试图找到这些三角形角的像素值。我可以使用 Harris 角并获得角的所有 x、y 的 numpy 数组。我希望将这些角值存储在称为角的二维列表中,如 [[x1,y1], [x2,y2], [x3,y
我的谷歌地图实例中的信息窗口看起来很有趣: 构成信息窗口图形角落和末端的某些图像似乎丢失了。知道为什么会这样吗?我正在尝试,但还没有弄清楚。 我正在使用 gmap3 ,一个用于 google 的 V3
我有一个带有动态添加和删除选项卡的 QTabWidget。我还有一个 QToolButton 设置为角落小部件,以便处理其 clicked() 信号上的添加事件。 虽然添加效果非常好,但从小部件中删除
我是一名优秀的程序员,十分优秀!