Giter Club home page Giter Club logo

Comments (3)

dHonerkamp avatar dHonerkamp commented on May 18, 2024

Actually, just after opening this issue I had the deciding insight: it seems the weights have to be np.float32, not np.float. So feel free to close this again.

On a sidenote: it would be nice to be able to specify a higher cost for moving diagonally as I am getting a lot of diagonal movements where it would be possible to just go straight, as e.g. here:

Screenshot from 2021-02-08 18-26-20

from pyastar2d.

hjweide avatar hjweide commented on May 18, 2024

it seems the weights have to be np.float32, not np.float

Correct -- this is the datatype expected by the underlying C++ implementation. Maybe there should be an explicit check of the datatype enforced.

it would be nice to be able to specify a higher cost for moving diagonally as I am getting a lot of diagonal movements where it would be possible to just go straight, as e.g. here

This implementation defines the shortest path as the path that minimizes the sum of pixels traversed, so making diagonal moves more expensive doesn't really fit with that. However, if you're working with grids with large areas of uniform-cost but prefer straight paths over diagonal ones it should be a fairly straightforward change to give precedence to straight paths by changing the order in which neighbors are added to the priority queue:
https://github.com/hjweide/pyastar/blob/master/src/cpp/astar.cpp#L92

But if you're working with uniform-cost grids, why not use jump point search instead? :)

from pyastar2d.

dHonerkamp avatar dHonerkamp commented on May 18, 2024

Thanks for your reply. An automatic check or a note in the readme might indeed be helpful :)
Makes sense in the pixel perspective. I will look at what you've mentioned.

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.