REPULSOR

2.5D force-directed drone path planning

Visualizer / 2.5D ground planeLIVE
CLICK: move goalDRAG: move obstacle
Tuning controls
Telemetry
StateRUNNING
FPS60
X14.0
Y84.0
Z0.0
Speed0.0
Goal dist0.0
Surf distN/A
Attract0.0
Repulse0.0
Escape0.0
Edges0
Net force0.0
Obstacles4
Path repulsor model / force equations

The drone is a point mass steered by a summed force field each frame. No graph search, no heap, no per-tick path recompute. The combined force is integrated with semi-implicit Euler and clamped to a max force and max speed.

AttractionF_attr = k_attr · (goal - pos)
Edge repulsion (per edge)F_edge = k_rep · (1 - d / r_min) ^ α
Vertex repulsion (per vertex)F_vert = k_v · (1 - d / r_v) ^ 2 · n_hat / d
Integrationv += F · dt; v *= γ; pos += v · dt

Attraction pulls the drone toward the goal. Each obstacle edge and vertex contributes a repulsive field that falls off with distance, so the drone curves around buildings instead of cutting corners. Damping and speed limiting keep the motion stable. Click the canvas to retarget the goal, or drag a building to watch the field and path react live.

Net forceF_net = F_attr + Σ F_edge + Σ F_vert
Cost per frameO(obstacles · (edges + vertices))
vs. grid A*O(n log n) heap search per tick - removed