Skip to content

Fix SO(3) edge cases - #781

Merged
brentyi merged 2 commits into
mainfrom
brent/20260924_fix_so3_log
Sep 25, 2026
Merged

brentyi merged 2 commits into
mainfrom
brent/20260924_fix_so3_log

Conversation

@brentyi

@brentyi brentyi commented Sep 25, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

For |w| < eps, the sign of the +/-pi result was taken from the sign of w,
which is rounding noise there (e.g. cos(float32(pi) / 2) < 0). This made
log(exp(t)) return -t for |t| ~= pi in float32. Choose the sign from the
rotation axis instead.
Rounding can push the arcsin argument slightly past +/-1 when pitch is
near +/-pi/2. Clip it to [-1, 1].
@brentyi
brentyi merged commit db2c1b1 into main Sep 25, 2026
23 checks passed
@brentyi
brentyi deleted the brent/20260924_fix_so3_log branch September 25, 2026 04:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant