コード例 #1
0
    def write_file(self, name, closed_set):
        """
		Escrita de um ficheiro .txt para o armazenamento dos
		pontos resultantes do algoritmo

		@param name nome do ficheiro .txt onde serao armazenados os dados
		@closed_set lista de pontos resultantes do algoritmo
		"""
        data = open(name, "w")
        for x in closed_set:
            data.writelines((str(x[0]), " , ", str(x[1]), "\n"))
        data.close()


if __name__ == "__main__":
    open_image = OpenImage("peppersgrad.pgm")
    a_star = AStar()
    open_image.open_image(a_star.START_POINT, a_star.END_POINT)
    start = time.time()
    a_star.a_star(open_image.img)
    finish = time.time() - start
    for point in a_star.closed_set:
        open_image.draw_point(point)
    print "Tempo de execucao: %.15f" % finish
    print "Iteracoes:", a_star.count
    print "Media por cada iteracao: %.15f" % (finish / a_star.count)
    open_image.show_image()
    open_image.save_image("result.png")
    write_file = WriteFile()
    write_file.write_file("data.txt", a_star.closed_set)