Skip to content

Fix dqs not checking if quaternions are on the same hemisphere#2390

Merged
alecjacobson merged 2 commits intolibigl:mainfrom
PeizhuoLi:main
May 15, 2025
Merged

Fix dqs not checking if quaternions are on the same hemisphere#2390
alecjacobson merged 2 commits intolibigl:mainfrom
PeizhuoLi:main

Conversation

@PeizhuoLi
Copy link
Copy Markdown
Contributor

@PeizhuoLi PeizhuoLi commented May 16, 2024

Fixes dual quaternion skinning not checking if the quaternions are on the same hemisphere. For quaternions $q$ and $-q$ represents the same rotation.

One trivial example is when randomly negate one of the rotations in vQ in tutorial 404, the current implementaion yields unplausible result. It works in tutorial 404 because the input rotations happens to be on the same hemisphere, but this is not guaranteed in general. Similar check is also used in Blender for DQS here.

Checklist

  • All changes meet libigl style-guidelines.
  • Adds new .cpp file.
  • Adds corresponding unit test.
  • This is a minor change.

@alecjacobson alecjacobson merged commit 40e7900 into libigl:main May 15, 2025
17 checks passed
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.

2 participants