# coding=gbk
from ctypes import *
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
import random_map
import ctypes
plt.figure(figsize=(5, 5))
map = random_map.RandomMap()
mymap = np.zeros((map.size, map.size), dtype=c_int)
ax = plt.gca()
ax.set_xlim([0, map.size])
ax.set_ylim([0, map.size])
for i in range(map.size):
for j in range(map.size):
if map.IsObstacle(i, j):
rec = Rectangle((map.size - 1-j, i), width=1, height=1, color='gray')
ax.add_patch(rec)
mymap[i][j] = 1
else:
rec = Rectangle((map.size - 1-j, i), width=1, height=1, edgecolor='gray', facecolor='w')
ax.add_patch(rec)
#print mymap
rec = Rectangle((0, 0), width=1, height=1, facecolor='b')
ax.add_patch(rec)
rec = Rectangle((map.size - 1, map.size - 1), width=1, height=1, facecolor='r')
ax.add_patch(rec)
plt.axis('equal')
plt.axis('off')
plt.tight_layout()
class Point(Structure):
_fields_ = [("x", c_int), ("y", c_int)]
path = np.array([(0, 0)] * map.size*4, dtype=Point)
dll = ctypes.cdll.LoadLibrary('H:/algorithm/lib/pathfide_dll.dll')
map_ctypes_ptr = cast(mymap.ctypes.data, POINTER(c_int))
# path_ctypes_ptr = cast(path.ctypes.data, POINTER(c_int))
dll.getPath.restype = POINTER(Point)
path = dll.getPath(map.size - 1, 0, 0, map.size - 1, map_ctypes_ptr)
current = 0
while path[current].x != 0 and path[current].y != 0:
rec = Rectangle((map.size - 1-path[current].y, path[current].x), width=1, height=1, facecolor='c')
ax.add_patch(rec)
#print("(%s , %d)" %(path[current].x,path[current].y))
current = current + 1
plt.show()
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
<项目介绍> 课程作业基于python的多AGV路径规划算法研究源码 - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
资源推荐
资源详情
资源评论
收起资源包目录
AGVS-Public-master.zip (3个子文件)
AGVS-Public-master
NuclearFission.py 2KB
random_map.py 1KB
point.py 136B
共 3 条
- 1
资源评论
- m0_570166772024-05-05感谢资源主的分享,这个资源对我来说很有用,内容描述详尽,值得借鉴。
机智的程序员zero
- 粉丝: 2012
- 资源: 4223
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功