commit | 3daf92c7a5e8288d47839e47a461b8d249d206f1 | [log] [tgz] |
---|---|---|
author | Antonio Sanchez <cantonios@google.com> | Mon Jan 11 09:27:25 2021 -0800 |
committer | Antonio Sanchez <cantonios@google.com> | Mon Jan 11 10:13:38 2021 -0800 |
tree | 9e4d495f68eac302ef26c5781d6a3cb9aa829d0c | |
parent | 587fd6ab707b0743f48593e401eb546d709eca4d [diff] |
Transform::computeScalingRotation flush determinant to +/- 1. In the previous code, in attempting to correct for a negative determinant, we end up multiplying and dividing by a number that is often very near, but not exactly +/-1. By flushing to +/-1, we can replace a division with a multiplication, and results are more numerically consistent.
Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
For more information go to http://eigen.tuxfamily.org/.
For pull request, bug reports, and feature requests, go to https://gitlab.com/libeigen/eigen.