commit | f62dccdb37f2104856c621bce7fd79e7c92d5a9b | [log] [tgz] |
---|---|---|
author | Julio L. Paneque <jlpaneque94@gmail.com> | Thu Aug 04 12:41:10 2022 +0200 |
committer | Julio L. Paneque <jlpaneque94@gmail.com> | Tue Aug 09 09:36:18 2022 +0200 |
tree | 158c721070938432f7bd0e5b2413bb60821fbd84 | |
parent | 3e1cc89f6341b003698c00c50280cd7ba1e6aa61 [diff] |
Fix the Sphere and Line Manifold formulations 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
Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems. It is a feature rich, mature and performant library which has been used in production at Google since 2010. Ceres Solver can solve two kinds of problems.
Please see ceres-solver.org for more information.