195 if (
flags[i] ==
false) {
198 vpTRACE(
"Warning !!! The interaction matrix is computed but xc "
202 vpTRACE(
"Warning !!! The interaction matrix is computed but Yc "
206 vpTRACE(
"Warning !!! The interaction matrix is computed but l was "
210 vpTRACE(
"Warning !!! The interaction matrix is computed but alpha "
214 vpTRACE(
"Warning !!! The interaction matrix is computed but Z1 "
218 vpTRACE(
"Warning !!! The interaction matrix is computed but Z2 "
222 vpTRACE(
"Problem during the reading of the variable flags");
229 double lambda1 = (Z1_ - Z2_) / (Z1_ * Z2_);
230 double lambda2 = (Z1_ + Z2_) / (2 * Z1_ * Z2_);
237 double lambda = -lambda1 * ln;
238 double Zn_inv = lambda2 * ln;
239 double lc = cos_a_ / ln;
240 double ls = sin_a_ / ln;
241 double xnalpha = xn * cos_a_ + yn * sin_a_;
242 double lnc = cos_a_ * ln;
243 double lns = sin_a_ * ln;
247 Lxn[0][0] = -Zn_inv + lambda * xn * cos_a_;
248 Lxn[0][1] = lambda * xn * sin_a_;
249 Lxn[0][2] = lambda1 * (xn * xnalpha - cos_a_ / 4.);
250 Lxn[0][3] = sin_a_ * cos_a_ / 4 / ln - xn * xnalpha * sin_a_ / ln;
251 Lxn[0][4] = -ln * (1. + lc * lc / 4.) + xn * xnalpha * cos_a_ / ln;
258 Lyn[0][0] = lambda * yn * cos_a_;
259 Lyn[0][1] = -Zn_inv + lambda * yn * sin_a_;
260 Lyn[0][2] = lambda1 * (yn * xnalpha - sin_a_ / 4.);
261 Lyn[0][3] = ln * (1 + ls * ls / 4.) - yn * xnalpha * sin_a_ / ln;
262 Lyn[0][4] = -sin_a_ * cos_a_ / 4 / ln + yn * xnalpha * cos_a_ / ln;
269 Lln[0][0] = lambda * lnc;
270 Lln[0][1] = lambda * lns;
271 Lln[0][2] = -(Zn_inv + lambda * xnalpha);
272 Lln[0][3] = -yn - xnalpha * sin_a_;
273 Lln[0][4] = xn + xnalpha * cos_a_;
281 Lalpha[0][0] = -lambda1 * sin_a_ * l_;
282 Lalpha[0][1] = lambda1 * cos_a_ * l_;
283 Lalpha[0][2] = lambda1 * (xc_ * sin_a_ - yc_ * cos_a_);
284 Lalpha[0][3] = (-xc_ * sin_a_ * sin_a_ + yc_ * cos_a_ * sin_a_) / l_;
285 Lalpha[0][4] = (xc_ * cos_a_ * sin_a_ - yc_ * cos_a_ * cos_a_) / l_;
292 Lxc[0][0] = -lambda2;
294 Lxc[0][2] = lambda2 * xc_ - lambda1 * l_ * cos_a_ / 4.;
295 Lxc[0][3] = xc_ * yc_ + l_ * l_ * cos_a_ * sin_a_ / 4.;
296 Lxc[0][4] = -(1 + xc_ * xc_ + l_ * l_ * cos_a_ * cos_a_ / 4.);
304 Lyc[0][1] = -lambda2;
305 Lyc[0][2] = lambda2 * yc_ - lambda1 * l_ * sin_a_ / 4.;
306 Lyc[0][3] = 1 + yc_ * yc_ + l_ * l_ * sin_a_ * sin_a_ / 4.;
307 Lyc[0][4] = -xc_ * yc_ - l_ * l_ * cos_a_ * sin_a_ / 4.;
314 Ll[0][0] = lambda1 * cos_a_;
315 Ll[0][1] = lambda1 * sin_a_;
316 Ll[0][2] = lambda2 * l_ - lambda1 * (xc_ * cos_a_ + yc_ * sin_a_);
317 Ll[0][3] = l_ * (xc_ * cos_a_ * sin_a_ + yc_ * (1 + sin_a_ * sin_a_));
318 Ll[0][4] = -l_ * (xc_ * (1 + cos_a_ * cos_a_) + yc_ * cos_a_ * sin_a_);
324 Lalpha[0][0] = -lambda1 * sin_a_ / l_;
325 Lalpha[0][1] = lambda1 * cos_a_ / l_;
326 Lalpha[0][2] = lambda1 * (xc_ * sin_a_ - yc_ * cos_a_) / l_;
327 Lalpha[0][3] = -xc_ * sin_a_ * sin_a_ + yc_ * cos_a_ * sin_a_;
328 Lalpha[0][4] = xc_ * cos_a_ * sin_a_ - yc_ * cos_a_ * cos_a_;
static void displayLine(const vpImage< unsigned char > &I, const vpImagePoint &ip1, const vpImagePoint &ip2, const vpColor &color, unsigned int thickness=1, bool segment=true)