mirror of
https://github.com/ceres-solver/ceres-solver.git
synced 2026-08-30 00:50:37 +08:00
f62dccdb37
This PR changes the Sphere and Line Manifold formulations so that their tangent spaces represent traveled angles (for the sphere and the line direction vector) and traveled distance (for the line origin). These magnitudes were previously halved according to "Hartley & Zisserman (2nd Edition)", but in the majority of the state of the art this is not done, following the convention that magnitudes in the tangent space of the unit sphere represent geodesic distances traveled on that manifold. The same scale factor appears in the Quaternion Manifold implementation and will be studied in a further PR. This PR also adds an additional case in the Sphere Minus operator when hy_norm == 0. The value of y_minus_x was fixed to 0 but actually its last term can also be Pi depending on y_last. Finally, new unit tests for the Plus and Minus operator are added, along with new tests for the 2D Sphere (a.k.a. Circle) Manifold. Change-Id: I9456f1675b20da49bede5d6759aabf3cdfb26eae