49 #include <visp/vpBasicFeature.h>
50 #include <visp/vpFeaturePointPolar.h>
53 #include <visp/vpException.h>
54 #include <visp/vpMatrixException.h>
55 #include <visp/vpFeatureException.h>
58 #include <visp/vpDebug.h>
61 #include <visp/vpMath.h>
63 #include <visp/vpFeatureDisplay.h>
292 if (
flags[i] ==
false)
296 vpTRACE(
"Warning !!! The interaction matrix is computed but rho was not set yet");
299 vpTRACE(
"Warning !!! The interaction matrix is computed but theta was not set yet");
302 vpTRACE(
"Warning !!! The interaction matrix is computed but Z was not set yet");
305 vpTRACE(
"Problem during the reading of the variable flags");
316 double c = cos(theta);
317 double s = sin(theta);
319 double rho2 = rho*rho;
321 if (fabs(rho) < 1e-6) {
323 std::cout <<
"rho = " << rho << std::endl ;
326 "rho polar coordinate of the point is null")) ;
333 std::cout <<
"Z = " << Z << std::endl ;
336 "Point is behind the camera ")) ;
342 std::cout <<
"Z = " << Z << std::endl ;
345 "Point Z coordinates is null")) ;
355 Lrho[0][3] = (1+rho2)*s ;
356 Lrho[0][4] = -(1+rho2)*c ;
369 Ltheta[0][0] = s/(rho*Z) ;
370 Ltheta[0][1] = -c/(rho*Z) ;
372 Ltheta[0][3] = c/rho ;
373 Ltheta[0][4] = s/rho ;
427 const unsigned int select)
435 erho[0] =
s[0] - s_star[0] ;
444 double err =
s[1] - s_star[1] ;
447 while (err < -M_PI) err += 2*M_PI ;
448 while (err > M_PI) err -= 2*M_PI ;
459 std::cout <<std::endl << me << std::endl ;
465 std::cout <<std::endl << me << std::endl ;
500 std::cout <<
"Point: Z=" <<
get_Z() ;
502 std::cout <<
" rho=" <<
get_rho() ;
505 std::cout <<std::endl ;
539 std::cout <<
"Z = " << Z << std::endl ;
542 "Point is behind the camera ")) ;
548 std::cout <<
"Z = " << Z << std::endl ;
551 "Point Z coordinates is null")) ;
572 unsigned int thickness)
const
605 unsigned int thickness)
const