Tracking Tools Streaming Quaternions
-
- Posts: 1896
- Joined: Tue Feb 01, 2011 8:41 am
- Location: Corvallis, OR
Re: Tracking Tools Streaming Quaternions
The quaternion output isn't really like that, per-se. I'd recommend looking at the conversions from euclideanspace.com for more information.
Re: Tracking Tools Streaming Quaternions
Ive recently posted a tracking problem with rotations in an other forum and would be very thankful for every help or tip..
http://stackoverflow.com/q/21291572/2791503
http://stackoverflow.com/q/21291572/2791503
-
- NaturalPoint Employee
- Posts: 199
- Joined: Tue Jun 24, 2008 2:01 pm
- Location: Corvallis, OR, USA
- Contact:
Re: Tracking Tools Streaming Quaternions
Several changes have occurred in the angle convention system between Tracking Tools/Arena and Motive 1.0, and again between Motive 1.0 and Motive 1.5, as we try to standardize and simplify the programmatic interface for working with and decoding quaternions.
The latest version of Motive and NatNet (Motive 1.5 / NatNet SDK 2.5) should be RHS, relative.
In general, when decoding quaternions with NatNet, the NatNet WinForms sample application can be very helpful as it will display/graph the euler values for you, which is helpful in visualizing/troubleshooting. You can also use this to match streamed values against the orientation of the rigid body as reported in the Motive -> Rigid Bodies panel.
I noticed on the Stack Overflow post of the code that
has rigidBody.qy use for both y and z - not sure if that is intentional or a typo.
hope this helps,
Morgan
The latest version of Motive and NatNet (Motive 1.5 / NatNet SDK 2.5) should be RHS, relative.
In general, when decoding quaternions with NatNet, the NatNet WinForms sample application can be very helpful as it will display/graph the euler values for you, which is helpful in visualizing/troubleshooting. You can also use this to match streamed values against the orientation of the rigid body as reported in the Motive -> Rigid Bodies panel.
I noticed on the Stack Overflow post of the code that
Code: Select all
public Quaterion getQuat(){
float qx = rigidBody.qx;
float qy = rigidBody.qy;
float qz = rigidBody.qy;
float qw = rigidBody.qw;
hope this helps,
Morgan