Skip to content
This repository has been archived by the owner on May 9, 2023. It is now read-only.

using get_transform(key, local=True) get empty local transformation matrix #76

Open
edentliang opened this issue Apr 27, 2022 · 1 comment

Comments

@edentliang
Copy link

Hi, when I used motion.positions(local=True), the result of the local transformation matrix is all zeros except the root position. And I get the correct result of the global transformation matrix. Any hints about this problem?

Thank you

@dpacgopinath
Copy link
Contributor

Hi @edentliang , I was out of office, sorry for the delay in my response.

Most motion capture files have a fixed link lengths and a time series of changing local joint angles specified in consecutive frames. When you query motion.positions(local=True), what you're getting is the translation component of the transformation matrix in a local frame of reference i.e., relative to parent joint. This is the translation of the child joint from the parent joint in addition to the translation specified in the skeleton (hierarchy) information, specifically link lengths. Since links have fixed length, there is zero translation in addition to the skeleton link lengths, which is why you see all zeros.

When you query motion.positions(local=False), you get the absolute positions of the joints from a global frame of reference. What was the information you were attempting to obtain from the motion data?

I hope this makes sense. Please let me know if you have questions.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants