Jump to content
  • Advertisement
Sign in to follow this  
donvreug

Determining rotation angles for Rotation System B that produce the same result as Rotation System A

This topic is 1238 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I am trying to find a solution to a problem such that

 

Given an initial coordinate system comprised of 3 orthogonal axes X, Y, Z, where Z is up, Y is North and X is East.

Given a rotation definition (A) which describes successive rotations about each axes.

Given the rotation angles for each axes produce a rotated coordinate system.

For a rotation definition (B) which describes successive rotations about each axes, find the rotation angles that produce the same coordinate system as produced by rotation definition A.

 

For example:

 

If rotation definition A is defined by 3 successive rotations around Z, then Y and then X, all defined positive counter-clockwise from East to North, i.e. (+Z +Y +X), and whose angles are bounded by -180 and + 180 degrees.

 

And if rotation definition B is defined by 3 successive rotations around Z, then X, and then Z again, the first rotation being defined positive clockwise from North to East (i.e. Azimuth or A), the second one positive counter-clockwise from East to North and the third one positive clockwise from East to North, i.e. (A +X, -Z).  The first rotation angles are bounded by 0 to 360 degrees, while the second and third are bounded by -180 to + 180 degrees.

 

Find the rotation angles for definition B that produce the same result as definition A.

 

I am hoping to utilise a general algorithm into which I input the two rotation definitions and angles for the first definition.

 

I hope my description makes sense.  I have included some images to help visualise the problem.

 

The first image shows rotation definition A with angles 90, 10 and 20 and a visualisation of a 3D reference plane produced by the rotations.

 

The second image shows rotation definition B with the angles required to produce the same 3D reference plane.  It is these angles I wish to calculate.

 

Thanks in advance.

Share this post


Link to post
Share on other sites
Advertisement
Why do you want this? Three angles is a horrible way to represent rotations for most purposes. Yours is but one of many examples of how messy things get.

Share this post


Link to post
Share on other sites

At work we use various applications that each use different rotation conventions. I am trying to write an application that will provide the angles for all of the different 'conventions' in one place to make life easier for people moving from one application to the next. And yes it does get messy and mistakes can easily be made, hence why I am trying to make it easier for people.

Share this post


Link to post
Share on other sites

It's bad form to cross post in these forums, and in general on the web. Buckeye already seems to be working with you in your other thread, so I recommend you stick with that one and have someone close this one down.

Share this post


Link to post
Share on other sites

Ok I apologise for that.  It was Buckeye who suggested I post here though as he thought some of you guys might be able to help.

Share this post


Link to post
Share on other sites

It's bad form to cross post in these forums, and in general on the web. Buckeye already seems to be working with you in your other thread, so I recommend you stick with that one and have someone close this one down.

 

Mea culpa. In the other thread, donvreug had characterized the problem related to graphics rotations. I was the one, indeed, who suggested that characterizing it as a math problem and posting it in math/physics forums might bring it before math gurus who may not see it otherwise. Mentioning the gamedev Math/Physics forum was a lapse in judgement on my part.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!