27 #ifndef __EIGHT_WAY_SYMMETRY_HOMG_HH__
28 #define __EIGHT_WAY_SYMMETRY_HOMG_HH__
31 #include <Base/Geometry/HomgPoint2D.hh>
32 #include <Base/ImageUtils/EightWaySymmetry.hh>
55 s[0]=start[0]/start[2];s[1]=start[1]/start[2];
56 e[0]=end[0]/end[1];e[1]=end[1]/end[2];
65 o[0]=Original[0]/Original[2];o[1]=Original[1]/Original[2];
75 Transformed[0], Transformed[1]); }
82 t[0]=Transformed[0]/Transformed[2];t[1]=Transformed[1]/Transformed[2];
85 Original[0], Original[1]); };
93 Transformed[1], Original[0],
101 #endif // __8_WAY_SYMMETRY_HOMG_HH__
void InverseTransform(enum TLineType &type, const T &Transformedx, const T &Transformedy, T &Originalx, T &Originaly)
executes the inverse transformation to the above
void Transform(enum TLineType &type, HomgPoint2D &Original, HomgPoint2D &Transformed)
transforms Original according to type in a way that Transformed lies on a line with slope in [0...
class HomgPoint2D describes a point with 2 degrees of freedom in projective coordinates.
enum TLineType DetermineLineType(double &angle)
assumes angle is between (-pi, pi] as given by atan2
class for transforming any point to first octant
void InverseTransform(enum TLineType &type, Vector2< T > &Transformed, Vector2< T > &Original)
as above
void Transform(enum TLineType &type, Vector2< T > &Original, Vector2< T > &Transformed)
as above
void InverseTransform(enum TLineType &type, HomgPoint2D &Transformed, HomgPoint2D &Original)
executes the inverse transformation to the above
class Vector2 contains a Vector of dim.
enum TLineType DetermineLineType(double &angle)
void Transform(enum TLineType &type, const T &Originalx, const T &Originaly, T &Transformedx, T &Transformedy)
transforms Original according to type in a way that Transformed lies on a line with slope in [0...
direction of line if start is in coordinate origin as given by compass
TLineType
direction of line if start is in coordinate origin as given by compass