routing.pathfinding.core.heuristic#

routing.pathfinding.core.heuristic.chebyshev(dx: int | float, dy: int | float, dz: int | float) → float[source]#

Chebyshev distance.

Parameters#

dxUnion[int, float]

x distance

dyUnion[int, float]

y distance

dzUnion[int, float]

z distance

Returns#

float

chebyshev distance

routing.pathfinding.core.heuristic.euclidean(dx: int | float, dy: int | float, dz: int | float) → float[source]#

Euclidean distance heuristics.

Parameters#

dxUnion[int, float]

x distance

dyUnion[int, float]

y distance

dzUnion[int, float]

z distance

Returns#

float

euclidean distance

routing.pathfinding.core.heuristic.manhattan(dx: int | float, dy: int | float, dz: int | float) → float[source]#

Manhattan heuristics.

Parameters#

dxUnion[int, float]

x distance

dyUnion[int, float]

y distance

dzUnion[int, float]

z distance

Returns#

float

manhattan distance

routing.pathfinding.core.heuristic.null(dx: int | float, dy: int | float, dz: int | float) → float[source]#

Special heuristic for Dijkstra return 0, so node.h will always be calculated as 0, distance cost (node.f) is calculated only from start to current point (node.g).

Parameters#

dxUnion[int, float]

x distance

dyUnion[int, float]

y distance

dzUnion[int, float]

z distance

Returns#

float

0.0

routing.pathfinding.core.heuristic.octile(dx: int | float, dy: int | float, dz: int | float) → float[source]#

Octile distance.

Parameters#

dxUnion[int, float]

x distance

dyUnion[int, float]

y distance

dzUnion[int, float]

z distance

Returns#

float

octile distance