Giter Club home page Giter Club logo

Comments (1)

hjweide avatar hjweide commented on May 17, 2024

This is the result when allow_diagonal is set to True, and the output shown below is not desired from the program.

This is because you have a uniform grid and so there are many shortest paths that are all optimal even if they don't "look right". The A* algorithm simply picks whichever it discovers first, which is determined by the order in which the heuristic function adds nodes to the priority queue. The cost of the path is the nodes included in that path; the direction of movement is irrelevant. If you want straight paths you either need to disable diagonal moves or use a heuristic that breaks ties to get the types of paths you want. See some of the discussion and the changes from here: #29

Also note that A* is not really meant for uniform grids and so most ways of getting A* to produce straight paths will involve hacks. See this blog post for a great discussion on this topic:
https://www.redblobgames.com/pathfinding/a-star/implementation.html#troubleshooting-ugly-path

Update: It does not seem like an infiltration but it seems to 'glow' around the path.

This is just a problem with the plotting or how you are saving / viewing the image. Be sure to plot as uint8, use (0, 0, 0) and (255, 255, 255) for black and white, and use a lossless format like PNG with a viewer that does not smooth.

I am able to extract the path cost

The easiest way to get the cost of the path would be something like this:

cost = np.sum(grid[path[:, 0], path[:, 1]])

Note that the direction of movement does not affect the cost of the path.

from pyastar2d.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.