Class ProlateHyperspheroid
Defined in File ProlateHyperspheroid.h
Class Documentation
-
class ProlateHyperspheroid
A class describing a prolate hyperspheroid, a special symmetric type of n-dimensional ellipse, for use in direct informed sampling for problems seeking to minimize path length.
- J. D. Gammell, T. D. Barfoot, S. S. Srinivasa, “Informed sampling for asymptotically optimal path planning.”
IEEE Transactions on Robotics (T-RO), 34(4): 966-984, Aug. 2018. DOI: TRO.2018.2830331. arXiv: 1706.06454 [cs.RO]. Illustration video. Short description video.
Public Functions
-
ProlateHyperspheroid(unsigned int n, const double focus1[], const double focus2[])
The description of an n-dimensional prolate hyperspheroid.
-
void setTransverseDiameter(double transverseDiameter)
Set the transverse diameter of the PHS.
-
void transform(const double sphere[], double phs[]) const
Transform a point from a sphere to PHS. The return variable phs is expected to already exist.
-
bool isInPhs(const double point[]) const
Check if the given point lies in the PHS.
-
bool isOnPhs(const double point[]) const
Check if the given point lies on the PHS.
-
unsigned int getPhsDimension() const
The dimension of the PHS.
-
double getPhsMeasure() const
The measure of the PHS.
-
double getPhsMeasure(double tranDiam) const
The measure of the PHS for a given transverse diameter.
-
double getMinTransverseDiameter() const
The minimum transverse diameter of the PHS, i.e., the distance between the foci.
-
double getPathLength(const double point[]) const
Calculate length of a line that originates from one focus, passes through the given point, and terminates at the other focus, i.e., the transverse diameter of the ellipse on which the given sample lies.
-
unsigned int getDimension() const
The state dimension of the PHS.