38 #include <pcl/common/eigen.h>
39 #include <pcl/common/bivariate_polynomial.h>
48 template <
typename real>
92 unsigned int polynomial_degree,
bool& error)
const;
128 #include <pcl/common/impl/polynomial_calculations.hpp>
This represents a bivariate polynomial and provides some functionality for it.
This provides some functionality for polynomials, like finding roots or approximating bivariate polyn...
void solveCubicEquation(real a, real b, real c, real d, std::vector< real > &roots) const
Solves an equation of the form ax^3 + bx^2 + cx + d = 0 See https://en.wikipedia.org/wiki/Cubic_equat...
void setZeroValue(real new_zero_value)
Set the minimum value under which values are considered zero.
bool isNearlyZero(real d) const
check if std::abs(d)<zeroValue
BivariatePolynomialT< real > bivariatePolynomialApproximation(std::vector< Eigen::Matrix< real, 3, 1 >, Eigen::aligned_allocator< Eigen::Matrix< real, 3, 1 > > > &samplePoints, unsigned int polynomial_degree, bool &error) const
Get the bivariate polynomial approximation for Z(X,Y) from the given sample points.
bool sqrtIsNearlyZero(real d) const
check if sqrt(std::abs(d))<zeroValue
void solveQuarticEquation(real a, real b, real c, real d, real e, std::vector< real > &roots) const
Solves an equation of the form ax^4 + bx^3 + cx^2 +dx + e = 0 See https://en.wikipedia....
void solveQuadraticEquation(real a, real b, real c, std::vector< real > &roots) const
Solves an equation of the form ax^2 + bx + c = 0 See https://en.wikipedia.org/wiki/Quadratic_equation...
void solveLinearEquation(real a, real b, std::vector< real > &roots) const
Solves an equation of the form ax + b = 0.
Parameters used in this class.
void setZeroValue(real new_zero_value)
Set zero_value.
real sqr_zero_value
sqr of the above
real zero_value
Every value below this is considered to be zero.