codac 1.5.6
Loading...
Searching...
No Matches
codac2::Ellipsoid Class Reference

Ellipsoid representation. More...

#include <codac2_Ellipsoid.h>

Public Member Functions

 Ellipsoid (Index n)
 Create a n-dimensional ellipsoid.
 
 Ellipsoid (const Vector &mu, const Matrix &G)
 Create an ellipsoid from a center and a shape matrix.
 
Index size () const
 Return the dimension of the ellipsoid.
 
Vector rand () const
 Return a random vector inside this ellipsoid.
 
IntervalVector hull_box () const
 Compute the tightest axis-aligned box containing this ellipsoid.
 
BoolInterval is_concentric_subset (const Ellipsoid &e) const
 Test if the provided ellipsoid is a subset of this ellipsoid, provided that the two ellipsoids share the same center.
 
Ellipsoid proj_2d (const Vector &d, const Vector &v, const Vector &u) const
 Project the ellipsoid on the 2d plane (d,v,u)
 

Public Attributes

Vector mu
 midpoint vector
 
Matrix G
 shape matrix
 

Detailed Description

Ellipsoid representation.

References:

Concentric subset test and degenerate computations are inspired by the work of Morgan Louedec. Concepts and algorithms are provided in:

Stability analysis of the formation control of a group of underwater robots, with ellipsoidal enclosure. Morgan Louédec, 2024 PhD thesis, Université de Bretagne Occidentale, Brest, France. https://morgan-louedec.fr/thesis-of-morgan-louedec

Non-linear mapping of the nonsingular main case is inspired by:

A computationally inexpensive algorithm for determining outer and inner enclosures of nonlinear mappings of ellipsoidal domains. Andreas Rauh, Luc Jaulin 2021, International Journal of Applied Mathematics and Computer Science, doi: https://doi.org/10.34768/amcs-2021-0027

Constructor & Destructor Documentation

◆ Ellipsoid() [1/2]

codac2::Ellipsoid::Ellipsoid ( Index n)

Create a n-dimensional ellipsoid.

Parameters
nnumber of dimensions

◆ Ellipsoid() [2/2]

codac2::Ellipsoid::Ellipsoid ( const Vector & mu,
const Matrix & G )

Create an ellipsoid from a center and a shape matrix.

Parameters
mumidpoint vector
Gshape matrix

Member Function Documentation

◆ size()

Index codac2::Ellipsoid::size ( ) const

Return the dimension of the ellipsoid.

Returns
number of dimensions

◆ rand()

Vector codac2::Ellipsoid::rand ( ) const

Return a random vector inside this ellipsoid.

Note
The seed of the pseudo-random number generator is voluntarily initialized outside this function, on demand.
Returns
random vector value

◆ hull_box()

IntervalVector codac2::Ellipsoid::hull_box ( ) const

Compute the tightest axis-aligned box containing this ellipsoid.

Returns
hull box

◆ is_concentric_subset()

BoolInterval codac2::Ellipsoid::is_concentric_subset ( const Ellipsoid & e) const

Test if the provided ellipsoid is a subset of this ellipsoid, provided that the two ellipsoids share the same center.

Parameters
ethe second ellipsoid of same dimension
Returns
a BoolInterval

◆ proj_2d()

Ellipsoid codac2::Ellipsoid::proj_2d ( const Vector & d,
const Vector & v,
const Vector & u ) const

Project the ellipsoid on the 2d plane (d,v,u)

Parameters
da point on the plane
va vector of the plane
ua other vector of the plane, orthogonal to v
Returns
the projected 2d ellipsoid

The documentation for this class was generated from the following file: