30 Vector4 coeffs = planeCoefficients();
31 cout <<
s <<
" : " << coeffs.transpose() << endl;
38 Matrix23 D_rotated_plane;
39 Matrix22 D_rotated_pose;
43 double pred_d = n_.unitVector().dot(xr.
translation()) + d_;
47 Hr->block<2, 3>(0, 0) = D_rotated_plane;
48 Hr->block<1, 3>(2, 3) = unit_vec;
52 Hp->block<2, 2>(0, 0) = D_rotated_pose;
53 Hp->block<1, 2>(2, 0) = n_.basis().transpose() * xr.
translation();
57 return OrientedPlane3(unit_vec(0), unit_vec(1), unit_vec(2), pred_d);
64 Matrix22 H_n_error_this, H_n_error_other;
65 Vector2 n_error = n_.errorVector(
other.n_, H1 ? &H_n_error_this : 0,
66 H2 ? &H_n_error_other : 0);
68 double d_error = d_ -
other.d_;
71 *H1 << H_n_error_this,
Z_2x1, 0, 0, 1;
74 *H2 << H_n_error_other,
Z_2x1, 0, 0, -1;
77 return Vector3(n_error(0), n_error(1), d_error);
93 Vector2 n_local = n_.localCoordinates(
y.n_);
94 double d_local = d_ -
y.d_;
95 return Vector3(n_local(0), n_local(1), -d_local);