C++自动寻径算法

embedded/2024/9/23 7:28:54/
测试
#include <iostream>
#include "source/AStar.hpp"int main()
{AStar::Generator generator;generator.setWorldSize({25, 25});generator.setHeuristic(AStar::Heuristic::euclidean);generator.setDiagonalMovement(true);generator.addCollision({1, 1}); // 添加障碍物generator.addCollision({1, 2}); // 添加障碍物generator.addCollision({2, 1}); // 添加障碍物generator.addCollision({2, 0}); // 添加障碍物generator.addCollision({0, 2}); // 添加障碍物std::cout << "Generate path ... \n";auto path = generator.findPath({0, 0}, {3, 3});for(auto& coordinate : path) {std::cout << coordinate.x << " " << coordinate.y << "\n";}
}
 效果

正常

25 x 25 map, Generate path ...
3 3
2 2
1 1
0 0

 {1,1}{1,2}障碍 

25 x 25 map, Generate path ...
3 3
2 3
1 2
0 1
0 0

 全障碍 

25 x 25 map, Generate path ...
0 1
0 0

参考

GitHub - daancode/a-star: A* algorithm C++ implementation.


创作不易,小小的支持一下吧!


http://www.ppmy.cn/embedded/114367.html

相关文章

平滑损失对生成图像的影响和使用场景

文章目录 1. 减少视觉伪影2. 模拟自然场景的特性3. 增强图像的整体协调性4. 克服技术限制5. 适应人类视觉感知 使用场景卡通风格可能不适用1. 卡通风格的特点 2. 考虑引入平滑损失的场景3. 考虑不引入平滑损失的场景4. 实验和调整 平滑损失&#xff08;Smooth Loss&#xff09;…

快速开发与维护:探索 AndroidAnnotations

在移动应用开发的世界中&#xff0c;效率和可维护性是两个至关重要的要素。随着应用功能的不断增长和用户需求的不断变化&#xff0c;开发者们一直在寻找能够提高生产力的工具和框架。今天&#xff0c;我们将深入探讨一个能够帮助开发者实现快速开发和易于维护的框架——Androi…

Unsupervised Deep Representation Learning for Real-Time Tracking

摘要 我们的无监督学习的动机是稳健的跟踪器应该在双向跟踪中有效。具体来说&#xff0c;跟踪器能够在连续帧中前向定位目标对象&#xff0c;并回溯到其在第一帧中的初始位置。基于这样的动机&#xff0c;在训练过程中&#xff0c;我们测量前向和后向轨迹之间的一致性&#xf…

【Java宝典】——探索数组的奥秘之旅

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” 文章目录 Java数组常见报错①:ArrayIndexOutOfBoundsException(数组索引超出范围)②:NullPointerException(空…

Java集合(一)

目录 Java集合&#xff08;一&#xff09; 集合介绍 单列集合分类 Collection接口 创建Collection实现类对象 常用方法 迭代器 基本使用 迭代器的执行过程 迭代器底层原理 集合中的并发修改异常及原因分析 List接口 ArrayList类 介绍 常用方法 遍历集合 Array…

安全隔离上网的有效途径:沙盒

在数字化浪潮日益汹涌的今天&#xff0c;网络安全成为了不可忽视的重要议题。沙箱技术作为一种高效的隔离机制&#xff0c;为企业和个人提供了一种在享受网络便利的同时&#xff0c;保障系统安全的解决方案。本文旨在深入探讨沙箱技术如何做到隔离上网&#xff0c;从而为用户提…

1分钟解决 -bash: mvn: command not found,在Centos 7中安装Maven

1分钟解决 -bash: mvn: command not found&#xff0c;在Centos 7中安装Maven 检查Java环境1 下载Maven2 解压Maven3 配置环境变量4 验证安装5 常见问题与注意事项6 总结 检查Java环境 Maven依赖Java环境&#xff0c;请确保系统已经安装了Java并配置了环境变量。可以通过以下命…

多语言长文本 AI 关键字提取 API 数据接口

多语言长文本 AI 关键字提取 API 数据接口 AI / 文本 专有模型极速提取 多语言长文本 / 实时语料库。 1. 产品功能 支持长文本关键词提取&#xff1b;多语言关键词识别&#xff1b;基于 AI 模型&#xff0c;提取精准关键词&#xff1b;全接口支持 HTTPS&#xff08;TLS v1.0 …