189 if (
flags[i] ==
false) {
192 vpTRACE(
"Warning !!! The interaction matrix is computed but xc "
196 vpTRACE(
"Warning !!! The interaction matrix is computed but Yc "
200 vpTRACE(
"Warning !!! The interaction matrix is computed but l was "
204 vpTRACE(
"Warning !!! The interaction matrix is computed but alpha "
208 vpTRACE(
"Warning !!! The interaction matrix is computed but Z1 "
212 vpTRACE(
"Warning !!! The interaction matrix is computed but Z2 "
216 vpTRACE(
"Problem during the reading of the variable flags");
223 double lambda1 = (Z1_ - Z2_) / (Z1_ * Z2_);
224 double lambda2 = (Z1_ + Z2_) / (2 * Z1_ * Z2_);
231 double lambda = -lambda1 * ln;
232 double Zn_inv = lambda2 * ln;
233 double lc = cos_a_ / ln;
234 double ls = sin_a_ / ln;
235 double xnalpha = xn * cos_a_ + yn * sin_a_;
236 double lnc = cos_a_ * ln;
237 double lns = sin_a_ * ln;
241 Lxn[0][0] = -Zn_inv + lambda * xn * cos_a_;
242 Lxn[0][1] = lambda * xn * sin_a_;
243 Lxn[0][2] = lambda1 * (xn * xnalpha - cos_a_ / 4.);
244 Lxn[0][3] = sin_a_ * cos_a_ / 4 / ln - xn * xnalpha * sin_a_ / ln;
245 Lxn[0][4] = -ln * (1. + lc * lc / 4.) + xn * xnalpha * cos_a_ / ln;
252 Lyn[0][0] = lambda * yn * cos_a_;
253 Lyn[0][1] = -Zn_inv + lambda * yn * sin_a_;
254 Lyn[0][2] = lambda1 * (yn * xnalpha - sin_a_ / 4.);
255 Lyn[0][3] = ln * (1 + ls * ls / 4.) - yn * xnalpha * sin_a_ / ln;
256 Lyn[0][4] = -sin_a_ * cos_a_ / 4 / ln + yn * xnalpha * cos_a_ / ln;
263 Lln[0][0] = lambda * lnc;
264 Lln[0][1] = lambda * lns;
265 Lln[0][2] = -(Zn_inv + lambda * xnalpha);
266 Lln[0][3] = -yn - xnalpha * sin_a_;
267 Lln[0][4] = xn + xnalpha * cos_a_;
275 Lalpha[0][0] = -lambda1 * sin_a_ * l_;
276 Lalpha[0][1] = lambda1 * cos_a_ * l_;
277 Lalpha[0][2] = lambda1 * (xc_ * sin_a_ - yc_ * cos_a_);
278 Lalpha[0][3] = (-xc_ * sin_a_ * sin_a_ + yc_ * cos_a_ * sin_a_) / l_;
279 Lalpha[0][4] = (xc_ * cos_a_ * sin_a_ - yc_ * cos_a_ * cos_a_) / l_;
287 Lxc[0][0] = -lambda2;
289 Lxc[0][2] = lambda2 * xc_ - lambda1 * l_ * cos_a_ / 4.;
290 Lxc[0][3] = xc_ * yc_ + l_ * l_ * cos_a_ * sin_a_ / 4.;
291 Lxc[0][4] = -(1 + xc_ * xc_ + l_ * l_ * cos_a_ * cos_a_ / 4.);
299 Lyc[0][1] = -lambda2;
300 Lyc[0][2] = lambda2 * yc_ - lambda1 * l_ * sin_a_ / 4.;
301 Lyc[0][3] = 1 + yc_ * yc_ + l_ * l_ * sin_a_ * sin_a_ / 4.;
302 Lyc[0][4] = -xc_ * yc_ - l_ * l_ * cos_a_ * sin_a_ / 4.;
309 Ll[0][0] = lambda1 * cos_a_;
310 Ll[0][1] = lambda1 * sin_a_;
311 Ll[0][2] = lambda2 * l_ - lambda1 * (xc_ * cos_a_ + yc_ * sin_a_);
312 Ll[0][3] = l_ * (xc_ * cos_a_ * sin_a_ + yc_ * (1 + sin_a_ * sin_a_));
313 Ll[0][4] = -l_ * (xc_ * (1 + cos_a_ * cos_a_) + yc_ * cos_a_ * sin_a_);
319 Lalpha[0][0] = -lambda1 * sin_a_ / l_;
320 Lalpha[0][1] = lambda1 * cos_a_ / l_;
321 Lalpha[0][2] = lambda1 * (xc_ * sin_a_ - yc_ * cos_a_) / l_;
322 Lalpha[0][3] = -xc_ * sin_a_ * sin_a_ + yc_ * cos_a_ * sin_a_;
323 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)