39 #include <visp3/core/vpSphere.h>
40 #include <visp3/core/vpFeatureDisplay.h>
61 const double Z0,
const double R)
84 const double Z0,
const double R)
118 s = r*r - y0*y0 -z0*z0;
126 if ((s = z0*z0 - r*r) < 0.0)
138 double b = r/sqrt(s);
139 double a = x0*x0 + y0*y0 + z0*z0 - r*r;
163 B = r*sqrt(y0*y0+z0*z0-r*r)/s;
166 p_[2] = ( A*A + B*B * E*E) / (1.0 + E*E);
167 p_[3] = ( A*A - B*B) * E / (1.0 + E*E);
168 p_[4] = ( B*B + A*A * E*E) / (1.0 + E*E);
187 x0 = cMo[0][0]*
oP[0] + cMo[0][1]*
oP[1] + cMo[0][2]*
oP[2] + cMo[0][3];
188 y0 = cMo[1][0]*
oP[0] + cMo[1][1]*
oP[1] + cMo[1][2]*
oP[2] + cMo[1][3];
189 z0 = cMo[2][0]*
oP[0] + cMo[2][1]*
oP[1] + cMo[2][2]*
oP[2] + cMo[2][3];
212 const unsigned int thickness)
218 cam, I, color, thickness) ;
227 const unsigned int thickness)
230 cam, I, color, thickness) ;
static void displayEllipse(double x, double y, double mu20, double mu11, double m02, const vpCameraParameters &cam, const vpImage< unsigned char > &I, const vpColor &color=vpColor::green, unsigned int thickness=1)
Implementation of an homogeneous matrix and operations on such kind of matrices.
void changeFrame(const vpHomogeneousMatrix &cMo, vpColVector &cP)
Perspective projection of the circle.
vpSphere * duplicate() const
for memory issue (used by the vpServo class only)
Class to define colors available for display functionnalities.
Class that defines what is a sphere.
void setWorldCoordinates(const vpColVector &oP)
void projection()
perspective projection of the sphere
void display(const vpImage< unsigned char > &I, const vpCameraParameters &cam, const vpColor &color=vpColor::green, const unsigned int thickness=1)
Generic class defining intrinsic camera parameters.
Implementation of column vector and the associated operations.
void resize(const unsigned int i, const bool flagNullify=true)