Show EOL distros:
Package Summary
Any tools relating to mathematical geometry. Primarily featuring polynomials and interpolations.
- Author: Daniel Stonier (d.stonier@gmail.com)
 - License: BSD
 - External website: http://snorriheim.dnsdojo.com/redmine/wiki/ecl
 - Source: svn https://embedded-control-library.googlecode.com/svn/trunk/ecl_core
 
Package Summary
Any tools relating to mathematical geometry. Primarily featuring polynomials and interpolations.
- Author: Daniel Stonier (d.stonier@gmail.com)
 - License: BSD
 - External website: http://snorriheim.dnsdojo.com/redmine/wiki/ecl
 - Source: svn https://embedded-control-library.googlecode.com/svn/tags/ecl_core/fuerte
 
Package Summary
Any tools relating to mathematical geometry. Primarily featuring polynomials and interpolations.
- Maintainer status: developed
 - Maintainer: Daniel Stonier <d.stonier AT gmail DOT com>
 - Author: Daniel Stonier <d.stonier AT gmail DOT com>
 - License: BSD
 - Bug / feature tracker: https://github.com/stonier/ecl_core/issues
 - Source: git https://github.com/stonier/ecl_core.git (branch: groovy-devel)
 
Package Summary
Any tools relating to mathematical geometry. Primarily featuring polynomials and interpolations.
- Maintainer status: developed
 - Maintainer: Daniel Stonier <d.stonier AT gmail DOT com>
 - Author: Daniel Stonier <d.stonier AT gmail DOT com>
 - License: BSD
 - Bug / feature tracker: https://github.com/stonier/ecl_core/issues
 - Source: git https://github.com/stonier/ecl_core.git (branch: hydro-devel)
 
Package Summary
Any tools relating to mathematical geometry. Primarily featuring polynomials and interpolations.
- Maintainer status: maintained
 - Maintainer: Daniel Stonier <d.stonier AT gmail DOT com>
 - Author: Daniel Stonier <d.stonier AT gmail DOT com>
 - License: BSD
 - Bug / feature tracker: https://github.com/stonier/ecl_core/issues
 - Source: git https://github.com/stonier/ecl_core.git (branch: release/0.61-indigo-kinetic)
 
Package Summary
Any tools relating to mathematical geometry. Primarily featuring polynomials and interpolations.
- Maintainer status: developed
 - Maintainer: Daniel Stonier <d.stonier AT gmail DOT com>
 - Author: Daniel Stonier <d.stonier AT gmail DOT com>
 - License: BSD
 - Bug / feature tracker: https://github.com/stonier/ecl_core/issues
 - Source: git https://github.com/stonier/ecl_core.git (branch: devel)
 
Package Summary
Any tools relating to mathematical geometry. Primarily featuring polynomials and interpolations.
- Maintainer status: developed
 - Maintainer: Daniel Stonier <d.stonier AT gmail DOT com>
 - Author: Daniel Stonier <d.stonier AT gmail DOT com>
 - License: BSD
 - Bug / feature tracker: https://github.com/stonier/ecl_core/issues
 - Source: git https://github.com/stonier/ecl_core.git (branch: release/0.61-indigo-kinetic)
 
Package Summary
Any tools relating to mathematical geometry. Primarily featuring polynomials and interpolations.
- Maintainer status: maintained
 - Maintainer: Daniel Stonier <d.stonier AT gmail DOT com>
 - Author: Daniel Stonier <d.stonier AT gmail DOT com>
 - License: BSD
 - Bug / feature tracker: https://github.com/stonier/ecl_core/issues
 - Source: git https://github.com/stonier/ecl_core.git (branch: release/0.62-melodic)
 
Package Summary
Any tools relating to mathematical geometry. Primarily featuring polynomials and interpolations.
- Maintainer status: maintained
 - Maintainer: Daniel Stonier <d.stonier AT gmail DOT com>
 - Author: Daniel Stonier <d.stonier AT gmail DOT com>
 - License: BSD
 - Bug / feature tracker: https://github.com/stonier/ecl_core/issues
 - Source: git https://github.com/stonier/ecl_core.git (branch: release/0.62-noetic)
 
Compiling & Linking
Include the following at the top of any translation unit:
   1 #include <ecl/geometry.hpp>
   2 
   3 // Angles
   4 using ecl::Angle;
   5 using ecl::wrap_angle;
   6 using ecl::degrees_to_radians;
   7 using ecl::radians_to_degrees;
   8 // Other Objects
   9 using ecl::CartesianPoint;
  10 using ecl::PascalsTriangle;
  11 // Functionals
  12 using ecl::Minimum;
  13 using ecl::Maximum;
  14 // Functions
  15 using ecl::Polynomial; 
  16 using ecl::LinearFunction;
  17 using ecl::CubicPolynomial;
  18 using ecl::QuadraticPolynomial;
  19 using ecl::TensionFunction;
  20 // Splines
  21 using ecl::SmoothLinearSpline;
  22 using ecl::CubicSpline;
  23 using ecl::TensionSpline;
  24 // Transforms
  25 using ecl::Pose2D;
If outside ros, you will also need to link to ecl_geometry.
Tutorials
Cartesian Points - simple object representations for cartesian points.
Angles - convenience class for abstractly storing and representing angles.
Polynomials - working with polynomials of the n-th degree.
Splines - representations for smooth linear, cubic and tension splines.
Pose - 2D and 3D representations for poses (oft used in robotics).
External Components
There are quite a few useful tools also in eigen's geometry module. You can use these directly from eigen or via the ecl_linear_algebra package.
- angle-axis pairs
 - quaternions
 - rotation matrices
 - transforms