🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

astar-path

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

astar-path

Find least time 3D ballistic flight path between start and goal nodes.

1.0.0
latest
Source
npm
Version published
Weekly downloads
5
66.67%
Maintainers
1
Weekly downloads
 
Created
Source

Whatizit?

astar-path is a Javascript library that computes a ballistic flight path between a start and goal nodes. The trajectory computed is subject to position, velocity, and acceleration constraints as well as optional user defined node constraints.

PathNode

Trajectories are defined by a PathNode array. Each PathNode has position, velocity and acceleration vectors (i.e., s,v,a). Here we define start and goal nodes of a desired trajectory. Both start and goal nodes have zero velocity and acceleration:

var start = new PathNode([200,-299,0]); // x,y,z position
var goal = new PathNode([-200,299,0]); // x,y,z position

PathFactory

Trajectories are created by a PathFactory. Here we create a three dimensional PathFactory that forbids x or y axis movement below a zcruise height of 15 and also forbids z-movement below zero:

var zcruise = 15;
var pf = new PathFactory({
    dimensions: 3,
    maxVelocity: [25,25,4], // x,y,z velocity
    maxAcceleration: [5,5,1], // x,y,z acceleration
    maxIterations: 5000,
    isConstrained: (node) => node.s[2] < zcruise,
    constrain: (n) => {
        if (n.s[2] < 0) {
            return null; // only paths above bed
        }
        if (n.s[2] < zcruise) {
            if (n.v[0] || n.v[1] || n.a[0] || n.a[1]) {
                return null; // no xy movement below zcruise;
            }
        }
        return n;
    },
});

PathFactory

Given a start and goal PathNode, you can quickly create a trajectory by calling the findPath method:

var result = pf.findPath(start,goal);

Here is a typical trajectory computed by findPath in under 20ms:

Installation

npm install astar-path

Keywords

a-star algorithm

FAQs

Package last updated on 21 Apr 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts