# 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路径规划算法研究(下载即用).zip课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。 课程作业基于python的多AGV路径规划算法研究(下载即用).zip课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。 课程作业基于python的多AGV路径规划算法研究(下载即用).zip课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。 课程作业基于python的多AGV路径规划算法研究(下载即用).zip课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。 课程作业基于python的多AGV路径规划算法研究(下载即用).zip课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。 课程作业基于python的多AGV路径规划算法研究(下载即用).zip课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。 课程作业基于python的多AGV路径规划算法研究(下载即用).zip课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载
资源推荐
资源详情
资源评论
收起资源包目录
课程作业基于python的多AGV路径规划算法研究.zip (3个子文件)
课程作业基于python的多AGV路径规划算法研究
NuclearFission.py 2KB
random_map.py 1KB
point.py 136B
共 3 条
- 1
资源评论
- m0_504400962024-05-04资源很实用,内容详细,值得借鉴的内容很多,感谢分享。
盈梓的博客
- 粉丝: 6970
- 资源: 1405
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功