Isis Developer Reference
|
Model a 3-D surface. More...
#include <SurfaceModel.h>
Public Member Functions | |
SurfaceModel () | |
Constructor. More... | |
~SurfaceModel () | |
Destructor. More... | |
void | AddTriplet (const double x, const double y, const double z) |
Add a single (x,y,z) triplet to the list of knowns. After all knowns are added invoke the Solve method. More... | |
void | AddTriplets (const double *x, const double *y, const double *z, const int n) |
Add an array of (x,y,z) triplet to the list of knowns After all knowns are added invoke the Solve method. More... | |
void | AddTriplets (const std::vector< double > &x, const std::vector< double > &y, const std::vector< double > &z) |
Add an array of (x,y,z) triplet to the list of knowns After all knowns are added invoke the Solve method. More... | |
void | Solve () |
Fit a surface to the input triplets. More... | |
double | Evaluate (const double x, const double y) |
Evaluate at x,y to compute z. This is available after the Solve method is invoked. More... | |
int | MinMax (double &x, double &y) |
After invoking Solve, a coordinate (x,y) at a local minimum (or maximum) of the surface model can be computed using this method. More... | |
Model a 3-D surface.
Given a set of (x,y,z) triplets, this class will model the surface that best fits the points. The equation to be modelled is:
\[ z = a + b*x + c*y + d*x^2 + e*x*y + f*y^2 \]
Isis::SurfaceModel::SurfaceModel | ( | ) |
Constructor.
Isis::SurfaceModel::~SurfaceModel | ( | ) |
Destructor.
void Isis::SurfaceModel::AddTriplet | ( | const double | x, |
const double | y, | ||
const double | z | ||
) |
Add a single (x,y,z) triplet to the list of knowns. After all knowns are added invoke the Solve method.
References Isis::LeastSquares::AddKnown().
Referenced by AddTriplets().
void Isis::SurfaceModel::AddTriplets | ( | const double * | x, |
const double * | y, | ||
const double * | z, | ||
const int | n | ||
) |
Add an array of (x,y,z) triplet to the list of knowns After all knowns are added invoke the Solve method.
References AddTriplet().
void Isis::SurfaceModel::AddTriplets | ( | const std::vector< double > & | x, |
const std::vector< double > & | y, | ||
const std::vector< double > & | z | ||
) |
Add an array of (x,y,z) triplet to the list of knowns After all knowns are added invoke the Solve method.
References AddTriplet().
double Isis::SurfaceModel::Evaluate | ( | const double | x, |
const double | y | ||
) |
Evaluate at x,y to compute z. This is available after the Solve method is invoked.
References Isis::LeastSquares::Evaluate().
int Isis::SurfaceModel::MinMax | ( | double & | x, |
double & | y | ||
) |
After invoking Solve, a coordinate (x,y) at a local minimum (or maximum) of the surface model can be computed using this method.
References Isis::BasisFunction::Coefficient().
void Isis::SurfaceModel::Solve | ( | ) |
Fit a surface to the input triplets.
References Isis::LeastSquares::Solve().