• 大小: 5.30KB
    文件类型: .py
    金币: 1
    下载: 0 次
    发布日期: 2021-03-02
  • 语言: Python
  • 标签: 搜索  迷宫  算法  

资源简介

A*算法迷宫搜索(基于matplotlib.pyplot)

资源截图

代码片段和文件信息

# a_star.py

import sys
import time

import numpy as np

from matplotlib.pyplot import Rectangle

import point
import random_map

class AStar:                                                                    #通过一个类来封装代码
    def __init__(self map):                                                    #类的构造函数
        self.map=map
        self.open_set = []
        self.close_set = []

    def baseCost(self p):                                                      #结点到起点的最佳路径(g(n))
        x_dis = p.x
        y_dis = p.y
        # Distance to start point
        return x_dis + y_dis + (np.sqrt(2) - 2) * min(x_dis y_dis)

    def HeuristicCost(self p):                                                 #结点到终点的启发函数(h(n))
        x_dis = self.map.size - 1 - p.x
        y_dis = self.map.size - 1 - p.y
        # Distance to end point(我用的是网格图所以算的就是对角距离)
        return x_dis + y_dis + (np.sqrt(2) - 2) * min(x_dis y_dis)

    def TotalCost(self p):                                               

评论

共有 条评论