Jump to content
  • Advertisement
Sign in to follow this  
dAND3h

Axis-Angle rotation

This topic is 2358 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

Hi, just wondering, with axis-angle rotation, I am trying to understand at what point the rotation is 0 degrees, how is this determined? Or is the 0 degree determined by yourself (i.e. always the place you start a rotation from)?

It says at http://en.wikipedia.org/wiki/Axis-angle_representation the angle describes the magnitude of rotation about the axis, but as above, I ask the question again, maybe better, is it a magnitude of rotation relative to a starting point?

Also, if the angle goes past 360, will we just say it is at 0 again?

Share this post


Link to post
Share on other sites
Advertisement

Hi, just wondering, with axis-angle rotation, I am trying to understand at what point the rotation is 0 degrees, how is this determined? Or is the 0 degree determined by yourself (i.e. always the place you start a rotation from)?

It says at http://en.wikipedia...._representation the angle describes the magnitude of rotation about the axis, but as above, I ask the question again, maybe better, is it a magnitude of rotation relative to a starting point?

Also, if the angle goes past 360, will we just say it is at 0 again?


Take a look at the section on Rodrigues' formula. To me, it is the clearest way of illustrating the role of the angle in the transformation.

-Josh

Share this post


Link to post
Share on other sites

[quote name='dAND3h' timestamp='1338838728' post='4946198']
Hi, just wondering, with axis-angle rotation, I am trying to understand at what point the rotation is 0 degrees, how is this determined? Or is the 0 degree determined by yourself (i.e. always the place you start a rotation from)?

It says at http://en.wikipedia...._representation the angle describes the magnitude of rotation about the axis, but as above, I ask the question again, maybe better, is it a magnitude of rotation relative to a starting point?

Also, if the angle goes past 360, will we just say it is at 0 again?


Take a look at the section on Rodrigues' formula. To me, it is the clearest way of illustrating the role of the angle in the transformation.

-Josh
[/quote]

It may be the case, but things like
so(3) to SO(3)

make no sense to me straight away. Is there anyway to understand without knowing things like this? I really don't want to delve into the major maths of it

Share this post


Link to post
Share on other sites


It may be the case, but things like
so(3) to SO(3)

make no sense to me straight away. Is there anyway to understand without knowing things like this? I really don't want to delve into the major maths of it


Fair enough :) I really meant the equation itself. It has a simple set of terms, with geometric meaning, that are proportional to sines and cosines. So you can get an idea of what happens when the angle is something like, say, zero -- the sine terms will be zero and the cosine terms will equal one, etc.

-Josh

Share this post


Link to post
Share on other sites

[quote name='dAND3h' timestamp='1338840097' post='4946207']
It may be the case, but things like
so(3) to SO(3)

make no sense to me straight away. Is there anyway to understand without knowing things like this? I really don't want to delve into the major maths of it


Fair enough smile.png I really meant the equation itself. It has a simple set of terms, with geometric meaning, that are proportional to sines and cosines. So you can get an idea of what happens when the angle is something like, say, zero -- the sine terms will be zero and the cosine terms will equal one, etc.

-Josh
[/quote]

ah right, I don't know why, but when I go on wikipedia, I end up reading walls of text and don't even look towards the most obvious places for answer smile.png



edit: Ok well, plugging in 0 degrees to the equation leaves me with my original vector I wanted to rotate, I guess that answers my question, thanks! Edited by dAND3h

Share this post


Link to post
Share on other sites
Hi again, just found something about Quaternions. Do these work in the same way as axis-angle representation? Where x,y,z components is the axis and w is the amount to rotate by?

Or are they completely out of my league?

I am constantly reading Quaternions are best to use for 3d rotations. And that most people don't understand them, but just use them. I do no understand this, how can I use it if I don't know how to use it/how it works?

Share this post


Link to post
Share on other sites
The x, y and z components of the quaternion are the axis of rotation as a unit vector multiplied by the sin of one half the angle to rotate by. The w component is the cos of one half the angle to rotate by. But yes, it's perfectly possible to use quaternions for rotations without understanding how they work. You just use library functions to combine and apply quaternions without troubling yourself of how they work internally. It's not an ideal situation, but it's possible to do.

Share this post


Link to post
Share on other sites
Ok, so say I want to rotate something by an angle defined by 2 vectors, say it is 30 degrees. I want to rotate this around some axis, but for simple lets say (0,1,0).

Then the quaternion will be : [v,w] = (sin(30/2)*(0,1,0) , cos(30/2)) ?

So that is the rotation I want to apply?

So if I have my current rotation defined by a quaternion, if I multiply by my new rotation quaternion, will it rotate my original 30 degrees around its (0,1,0) axis?

Or does it mean, it will rotate my original towards the new quaternion? (until it is the same)

Sorry if making no sense Edited by dAND3h

Share this post


Link to post
Share on other sites

Ok, so say I want to rotate something by an angle defined by 2 vectors, say it is 30 degrees. I want to rotate this around some axis, but for simple lets say (0,1,0).

Then the quaternion will be : [v,w] = (sin(30/2)*(0,1,0) , cos(30/2)) ?

So that is the rotation I want to apply?

So if I have my current rotation defined by a quaternion, if I multiply by my new rotation quaternion, will it rotate my original 30 degrees around its (0,1,0) axis?

Or does it mean, it will rotate my original towards the new quaternion? (until it is the same)

Sorry if making no sense


If you define a quaternion 'q' as above, it can be used to rotate any vector, 'v', by 30 degrees (btw, normally you would work in radians) around the y axis by the following formula,

v' = q * v * inverse(q)

where v' is the rotated vector. However, I would recommend using a library that provides the math for this rather than rolling your own (consider using the bullet library).

-Josh

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!