Skip to content

laorange/ModelingAndSimulation2021

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

使用A*算法的最短路径优化设计

2021.4 - 2021.6 建模与仿真

使用python实现

Author: GitHub@laorange

开源授权协议: AGPL-3.0 License

源代码更新日志GitHubGitee

使用说明

  1. 打开命令行cmdAnaconda Prompt

  2. cd 转到程序所在的文件夹下

  3. 安装所需第三方库

    pip install pandas
    pip install plotly
  4. 输入 python main.py --help 可查看所有可选参数的说明

  5. 示例:

    image-20210502133419823

备注:默认是沿对角线方向移动(2d为8向, 3d为26向);如果是传入--straight参数则使用直线模式:2d为前后左右4个方向(3d为前后左右上下6个方向)

示例

查看示例

文件较大,网页加载可能会比较慢

示例列表
2D 对角线模式
2D 直线模式
3D 对角线模式
3D 直线模式

2d情况

对角线模式:(用时: 0.6947秒)

oCam_2021_06_01_14_52_25_742

直线模式:(用时: 0.3629秒)

oCam_2021_06_01_15_07_19_417


3d情况

# 以下情况为障碍物
if x - y == 15 and z < 15:
    OBSTACLE = True
if x - y == 15 and 15 <= z <= 20 and x <= 25:
    OBSTACLE = True
if x == 25 and z > 5 and y >= 10:
    OBSTACLE = True
if z == 20 and y < 25 and x <= 25:
    OBSTACLE = True
if z == 10 and y > 10 and x >= 20:
    OBSTACLE = True
if y == 25 and x < 20 and z <= 20:
    OBSTACLE = True
if y == 25 and 5 <= x <= 15 and z >= 20:
    OBSTACLE = True
if y == 10 and 15 <= x <= 25 and z >= 20:
    OBSTACLE = True
if x == 15 and 10 <= y < 25 and z > 5:
    OBSTACLE = True
if x == 15 and 5 <= y < 10 and z > 20:
    OBSTACLE = True
if x + y == 15 and z < 15:
    OBSTACLE = True

对角线模式:(用时: 600.2027秒)

原文件请在 results/v1静态结果示例.zip 中查看

image-20210502142330915

直线模式:(用时: 130.0591秒)

原文件请在 results/v1静态结果示例.zip 中查看

image-20210502142749636


总截图

image-time