KrisLibrary  1.0.0
rotationfit.h
Go to the documentation of this file.
1 #ifndef MATH3D_ROTATION_FIT_H
2 #define MATH3D_ROTATION_FIT_H
3 
4 #include "AABB3D.h"
5 #include <vector>
6 
12 namespace Math3D {
15 
19 Real RotationFit(const std::vector<Vector3>& a,const std::vector<Vector3>& b,Matrix3& R);
20 
24 void AxisRotationFit(const std::vector<Vector3>& a,const std::vector<Vector3>& b,const Vector3& z,Real& theta);
25 
31 Real TransformFit(std::vector<Vector3>& a,std::vector<Vector3>& b,
32  Matrix3& R,Vector3& t);
33 
39 Real WeightedTransformFit(const std::vector<Point3D>& a,const std::vector<Point3D>& b,
40  const std::vector<Real>& w,
41  const std::vector<Vector3>& c,const std::vector<Vector3>& d,
42  const std::vector<Real>& v,
43  Matrix3& R,Vector3& t);
44 
48 Real FitFrames(const std::vector<Vector3>& a,const std::vector<Vector3>& b,
49  RigidTransform& Ta,RigidTransform& Tb,Vector3& cov);
50 
51 } //namespace Math3D
52 
53 #endif
void AxisRotationFit(const std::vector< Vector3 > &a, const std::vector< Vector3 > &b, const Vector3 &z, Real &theta)
Calculates the least squares rotation angle min_theta sum||R(theta,z)*a[i]-b[i]||^2.
Definition: rotationfit.cpp:75
Real FitFrames(const std::vector< Vector3 > &a, const std::vector< Vector3 > &b, RigidTransform &Ta, RigidTransform &Tb, Vector3 &cov)
Calculate the translations and rotations that match a,b in an axis-aligned frame. The cov vector stor...
Definition: rotationfit.cpp:197
Contains all the definitions in the Math3D package.
Definition: AnyGeometry.h:13
Real TransformFit(vector< Vector3 > &a, vector< Vector3 > &b, Matrix3 &R, Vector3 &t)
Calculate the least squares rotation fit min_R,t sum||R*a[i]+t-b[i]||^2. Returns the sum-of-squared e...
Definition: rotationfit.cpp:124
Real WeightedTransformFit(const vector< Point3D > &a, const vector< Point3D > &b, const vector< Real > &w, const vector< Vector3 > &c, const vector< Vector3 > &d, const vector< Real > &v, Matrix3 &R, Vector3 &t)
Solve the mixed point/vector fitting problem min sum_j wj||R*aj+t-bj||^2 + sum_k vk||Rc-d||^2.
Definition: rotationfit.cpp:151
Real RotationFit(const vector< Vector3 > &a, const vector< Vector3 > &b, Matrix3 &R)
Calculates the least squares rotation fit min_R sum||R*a[i]-b[i]||^2. Returns the sum-of-squared erro...
Definition: rotationfit.cpp:13