DInsight Home
Euclidean Shortest Path

# Euclidean Shortest Path Algorithm

Euclidean Shortest Path (ESP) algorithm calculates shortest length curve (path) between two points in 3D space, which does not intersect any objects involved in the calculation.

The Start and Target points must not be located inside of any object involved, but very often the points are located on surface(s) of one or two objects.

ESP algorithm requires some initial path connecting the points to be defined to perform the optimisation. Most often the problem has multiple solutions. The supplied initial path is used to select the required solution. Use trivail path containing only start and target points when the initial path is not known or choice of solution does not matter (see below).

The optimal solution can be considered as the result of constrained movement of the initial path as if it was a stretched rubber band.

Example: Let us consider a 3D cube and start and target located on the central axis of the cube outside of it. There are four possible shortest paths. Any initial path will converge to one of the four depending on which side of the cube the initial path was.

To perform the calculation use IEuclideanShortestPath_KC interface. The interface can be obtained by calling IDIObjGenerator.Create method with eType parameter set to eObjTypeESPAlgorithm value from  EObjectType enumeration and querying IEuclideanShortestPath_KC from the returned object

See more details at IEuclideanShortestPath_KC