KhronosGroup / KhronosGroup/COLLADA2GLTF
Does one need to normalize the rotation computed by TransformTRS?
- Dominant language
- C++
- Stars
- 573
- Forks
- 154
- PR merge metrics
- No merged PRs in 30d
Description
When using the glTF library, and decomposing the matrix ```{1,0,0,0,0,0.5,0,0,0,0,1,0,0,2,0,1}``` into TRS, I get a non-unit quaternion with length `0.875`. Is this intented behavior?
As a side-note, would it be interesting to use SVD to also allow shearing, by decomposing any 3x3 matrix into rotation * scale * rotation? This would mean introducing extra dummy nodes. For example [this implemention](http://pages.cs.wisc.edu/~sifakis/project_pages/svd.html) seems to be both accurate and fast.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at the TransformTRS implementation and reproduce the reported decomposition using the matrix in the issue. Determine whether the non-unit quaternion is expected, then define the needed behavior for normalization or correction; the SVD/shearing proposal is a separate design question.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-graphics
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100