Blender Git Statistics -> Branches -> temp-angavrilov-roll-precision

"Temp-angavrilov-roll-precision" branch

Total commits : 3
Total committers : 2
First Commit : October 15, 2021
Latest Commit : October 15, 2021


Commits by Date

DateNumber of Commits
October 15, 20213

Committers

AuthorNumber of Commits
Alexander Gavrilov2
Gaia Clary1

Popular Files

FilenameTotal Edits
armature.c2
armature_test.cc2
BKE_blender_version.h1
versioning_300.c1
BLI_math_matrix.h1
math_matrix.c1

Latest commits Feed

October 15, 2021, 10:21 (GMT)
Fix precision issues and a bug in vec_roll_to_mat3_normalized.

When the input vector gets close to -Y, y and theta becomes totally
unreliable. It is thus necessary to compute the result in a different
way based on x and z. The code already had a special case, but:

- The threshold for using the special case was way too low.
- The special case was not precise enough to extend the threshold.
- The special case math had a sign error, resulting in a jump.

This adds tests for the computation precision and fixes the issues
by adjusting the threshold, and replacing the special case with one
based on a quadratic Taylor expansion of sqrt instead of linear.

Replacing the special case fixes the bug and results in a compatibility
break, requiring versioning for the roll of affected bones.

Differential Revision: https://developer.blender.org/D9551
October 15, 2021, 10:18 (GMT)
Split and extend unit tests for vec_roll_to_mat3_normalized.

Separate the huge test into huge logical parts and add more cases
to check. Also add a utility to check that the matrix is orthogonal,
with arbitrary epsilon values and calculations in double.

A couple of tests deliberately fail, to be fixed in following commits.

Ref D9551
October 15, 2021, 10:18 (GMT)
Fix T82455: vec_roll_to_mat3_normalized returns NaN when nor close to -Y.

In this case theta is completely unsafe to use, so a different
threshold based on x and z has to be used to avoid division by zero.

Ref D9551

MiikaHweb - Blender Git Statistics v1.06
By: Miika HämäläinenLast update: Nov-07-2014 14:18 MiikaHweb | 2003-2021