34 #include <Base/Math/Random.hh>
36 #include <Base/Geometry/EParametrization.hh>
37 #include <Base/Geometry/HomgPoint3D.hh>
38 #include <Base/Geometry/HomgPoint2D.hh>
39 #include <Base/Geometry/RMatrixBase.hh>
40 #include <Base/Geometry/PMatrixBase.hh>
41 #include <Base/Geometry/KMatrix.hh>
46 int main(
int argc,
char *argv[])
58 R2.
SetXYZ(0.01, -0.01, 0.01);
62 cout <<
"p1: "<<p1<<
"\tp2: "<<p2<<
"\nepipole: "<<epp<<endl;
76 << p2.ScalarProduct(Ei*p1) <<
"\n";
class HomgPoint2D describes a point with 2 degrees of freedom in projective coordinates.
void SetXYZ(ROTATION_MATRIX_TYPE PhiX, ROTATION_MATRIX_TYPE PhiY, ROTATION_MATRIX_TYPE PhiZ)
Set Euler angles (in rad) in order XYZ.
void ScalarProduct(const Vector3< T > &argvec, T &result) const
scalar product (=inner product) of two vectors, storing the result in result
Matrix3x3< EP_TYPE > GetEssentialMatrix() const
returns the essential matrix computed from parametrization
double GetUniformDistributed(const double min, const double max)
on succesive calls return uniform distributed random variable between min and max ...
Slim class bundling essential matrix parameterization and associated covariance matrix.
int GetQuaternion(Quaternion< ROTATION_MATRIX_TYPE > &quat) const
Calculates quaternion representation for this rotation matrix.
void SetOrientation(const Quaternion< EP_TYPE > &q)
set orientation part of vector and zero covariance matrix
void Invert()
inverts the direction,
class HomgPoint3D describes a point with 3 degrees of freedom in projective coordinates.
describes a projective 3D -> 2D mapping in homogenous coordinates
Matrix3x3< T > Transpose() const
returns transposed matrix tested 12.06.2002
K describes the mapping from world coordinates (wcs) to pixel coordinates (pcs).
void SetEpipole(const Vector3< EP_TYPE > &epipole)
set epipole part of vector and zero covariance matrix
Implements a 3D rotation matrix.
class for producing random numbers from different distributions
class BIASGeometryBase_EXPORT HomgPoint3D