|
codac 2.0.0
|
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 |
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 |
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 |