113 for(
int i=0; i<nbTransfo; i++ )
115 auto angle = rd.getRandomAngle();
116 auto tx = rd.getRandomTranslation();
117 auto ty = rd.getRandomTranslation();
118 auto sx = rd.getRandomScale();
119 auto sy = rd.getRandomScale();
120 std::cout << std::scientific << i <<
": angle=" <<
angle 121 <<
" tx=" << tx <<
" ty=" << ty
122 <<
" sx=" << sx <<
" sy=" << sy
125 for(
int order=0; order<6; order++ )
127 Hmatrix_<type::IsHomogr,NUMTYPE>
H;
129 auto str =
getString( static_cast<Order>(order) );
130 std::cout <<
"order = " << str <<
'\n';
131 for(
int c=0; c<3; c++ )
134 case 'R': H.addRotation(
angle*
M_PI/180. );
break;
135 case 'T': H.addTranslation( tx, ty );
136 case 'S': H.addScale( sx, sy );
139 Hmatrix_<type::IsHomogr,NUMTYPE> HMT = H;
140 HMT.inverse().transpose();
143 for(
int j=0; j<nbPts; j++ )
145 auto pt1 = rd.getRandomPt();
146 auto pt2 = rd.getRandomPt();
150 auto d =
pt.distTo( lB );
158 << std::setprecision(2)
161 <<
" dist pts=" << pt1.distTo(pt2)
163 <<
" ratio=" << pt1.distTo(pt2) / dlog
168 dmax = std::max( d, dmax );
169 dmin = std::min( d, dmin );
173 std::cout <<
"dist: min=" << dmin <<
" max=" << dmax <<
'\n';
#define M_PI
Definition: homog2d.hpp:235
const char * getString(Order order)
Definition: precision_test.cpp:47
HOMOG2D_INUMTYPE angle(const Ellipse_< FPT > &ell)
Return angle of ellipse (free function)
Definition: homog2d.hpp:10993
Point2d pt
Definition: homog2d_test.cpp:4034