codac 1.5.6
|
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 | |
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
codac2::Ellipsoid::Ellipsoid | ( | Index | n | ) |
Create a n-dimensional ellipsoid.
n | number of dimensions |
codac2::Ellipsoid::Ellipsoid | ( | const Vector & | mu, |
const Matrix & | G ) |
Create an ellipsoid from a center and a shape matrix.
mu | midpoint vector |
G | shape matrix |
Index codac2::Ellipsoid::size | ( | ) | const |
Return the dimension of the ellipsoid.
Vector codac2::Ellipsoid::rand | ( | ) | const |
Return a random vector inside this ellipsoid.
IntervalVector codac2::Ellipsoid::hull_box | ( | ) | const |
Compute the tightest axis-aligned box containing this ellipsoid.
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.
e | the second ellipsoid of same dimension |
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)
d | a point on the plane |
v | a vector of the plane |
u | a other vector of the plane, orthogonal to v |