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 several 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 a trivial 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. The solution is pseudo global. In most situations it will be the best solution achievable by continuous transformation of the initial path.
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.
Objects involved in the calculation must have Mesh geometry type. Use
IEntity_DG.SetGeometryType("Mesh")
to convert objects to mesh programmatically. This conversion can also be performed via saving to a mesh file format vrml, stl, obj, etc.
See more details at
IEuclideanShortestPath_KC
See also: Euclidean Shortest Path sample
|