39 #include <visp3/core/vpFeatureDisplay.h> 40 #include <visp3/core/vpSphere.h> 95 s = r * r - y0 * y0 - z0 * z0;
103 if ((s = z0 * z0 - r * r) < 0.0) {
110 if (fabs(x0) > 1e-6) {
113 double b = r / sqrt(s);
114 double a = x0 * x0 + y0 * y0 + z0 * z0 - r * r;
119 if (fabs(e) <= 1.0) {
132 B = r * sqrt(y0 * y0 + z0 * z0 - r * r) / s;
135 p_[2] = (A * A + B * B * E * E) / (1.0 + E * E);
136 p_[3] = (A * A - B * B) * E / (1.0 + E * E);
137 p_[4] = (B * B + A * A * E * E) / (1.0 + E * E);
151 x0 = cMo[0][0] *
oP[0] + cMo[0][1] *
oP[1] + cMo[0][2] *
oP[2] + cMo[0][3];
152 y0 = cMo[1][0] *
oP[0] + cMo[1][1] *
oP[1] + cMo[1][2] *
oP[2] + cMo[1][3];
153 z0 = cMo[2][0] *
oP[0] + cMo[2][1] *
oP[1] + cMo[2][2] *
oP[2] + cMo[2][3];
171 const vpColor &color,
const unsigned int thickness)
180 const unsigned int 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)