Discussion:
Euler angles and tweening/interpolation
(too old to reply)
Filip Strugar
2004-07-15 14:35:37 UTC
Permalink
I am currently using linear interpolation for position, scale and
attitude. I have googled keyframes and animation and read so much that I
am now confused on how I should handle interpolation of the Yaw,Pitch and
Roll euler components. How does one interpolate euler based rotations?
Since interpolation is basically math formulas, I am also curious if
Managed DX has some helper functions for different types of interpolation
of vectors/quat or whatever.
Use quaternions to represent rotation :)
They don't have problems that euler based rotations have, and have easy
interpolation: look at Quaternion.Slerp/Squad (D3DXQuaternionSlerp/Squad)!
D***@nospam.nospam
2004-07-16 12:31:26 UTC
Permalink
Filip,
Thanks for the advice. I did a bunch of reading on quaternions. I must
admit at first glance, they are confusing. There are tons of reference
material on them, anyone have a link they found useful and would recommend?

If I understood correctly, I would still expose Euler angles to users of the
engine, but internally, I would convert the euler angles to quaternions?
After i interpolate the 2 quaternions, i then would convert back to euler
angles?

Or would the quaternions completely take the place of euler angles?

Thanks,
Dan
Post by Filip Strugar
I am currently using linear interpolation for position, scale and
attitude. I have googled keyframes and animation and read so much that I
am now confused on how I should handle interpolation of the Yaw,Pitch and
Roll euler components. How does one interpolate euler based rotations?
Since interpolation is basically math formulas, I am also curious if
Managed DX has some helper functions for different types of
interpolation
Post by Filip Strugar
of vectors/quat or whatever.
Use quaternions to represent rotation :)
They don't have problems that euler based rotations have, and have easy
interpolation: look at Quaternion.Slerp/Squad (D3DXQuaternionSlerp/Squad)!
Filip Strugar
2004-07-16 16:20:46 UTC
Permalink
If by 'users of the engine' you mean other developers, then quats are the
only thing that you should use!

I don't have any special reference, google would help more :)
Post by D***@nospam.nospam
Filip,
Thanks for the advice. I did a bunch of reading on quaternions. I must
admit at first glance, they are confusing. There are tons of reference
material on them, anyone have a link they found useful and would recommend?
If I understood correctly, I would still expose Euler angles to users of the
engine, but internally, I would convert the euler angles to quaternions?
After i interpolate the 2 quaternions, i then would convert back to euler
angles?
Or would the quaternions completely take the place of euler angles?
Thanks,
Dan
Post by Filip Strugar
I am currently using linear interpolation for position, scale and
attitude. I have googled keyframes and animation and read so much that
I
Post by Filip Strugar
am now confused on how I should handle interpolation of the Yaw,Pitch
and
Post by Filip Strugar
Roll euler components. How does one interpolate euler based rotations?
Since interpolation is basically math formulas, I am also curious if
Managed DX has some helper functions for different types of
interpolation
Post by Filip Strugar
of vectors/quat or whatever.
Use quaternions to represent rotation :)
They don't have problems that euler based rotations have, and have easy
interpolation: look at Quaternion.Slerp/Squad
(D3DXQuaternionSlerp/Squad)!
D***@nospam.nospam
2004-07-16 19:38:54 UTC
Permalink
My engine has nodes that contain the spatial information. I am wondering if
my nodes should have properties of Yaw,Pitch,Roll or Quaternion.

Euler angles are more meaningful to someone using the node.

My intuition says the node still has yaw, pitch and roll. Internally, when
i go to render and create the world matrix, i will translate the angles into
a quaternion. Sound right?

If this is correct, then quaternions are just created when i need to
interpolate. Am I on the right track?

Thanks,
Dan
Post by Filip Strugar
If by 'users of the engine' you mean other developers, then quats are the
only thing that you should use!
I don't have any special reference, google would help more :)
Post by D***@nospam.nospam
Filip,
Thanks for the advice. I did a bunch of reading on quaternions. I must
admit at first glance, they are confusing. There are tons of reference
material on them, anyone have a link they found useful and would recommend?
If I understood correctly, I would still expose Euler angles to users of the
engine, but internally, I would convert the euler angles to quaternions?
After i interpolate the 2 quaternions, i then would convert back to euler
angles?
Or would the quaternions completely take the place of euler angles?
Thanks,
Dan
Post by Filip Strugar
I am currently using linear interpolation for position, scale and
attitude. I have googled keyframes and animation and read so much that
I
Post by Filip Strugar
am now confused on how I should handle interpolation of the Yaw,Pitch
and
Post by Filip Strugar
Roll euler components. How does one interpolate euler based rotations?
Since interpolation is basically math formulas, I am also curious if
Managed DX has some helper functions for different types of
interpolation
Post by Filip Strugar
of vectors/quat or whatever.
Use quaternions to represent rotation :)
They don't have problems that euler based rotations have, and have easy
interpolation: look at Quaternion.Slerp/Squad
(D3DXQuaternionSlerp/Squad)!
Filip Strugar
2004-07-18 14:00:09 UTC
Permalink
The scenegraph used by company I'm working for does not use euler angles at
all. Local node transformation uses position and scale (vectors), and
rotation that is a quat. Some other scenegraph I've seen recently uses only
matrices. I suppose that these are usual ways of representing node
transformation. :)
Post by D***@nospam.nospam
My engine has nodes that contain the spatial information. I am wondering if
my nodes should have properties of Yaw,Pitch,Roll or Quaternion.
Euler angles are more meaningful to someone using the node.
My intuition says the node still has yaw, pitch and roll. Internally, when
i go to render and create the world matrix, i will translate the angles into
a quaternion. Sound right?
If this is correct, then quaternions are just created when i need to
interpolate. Am I on the right track?
Thanks,
Dan
Post by Filip Strugar
If by 'users of the engine' you mean other developers, then quats are the
only thing that you should use!
I don't have any special reference, google would help more :)
Post by D***@nospam.nospam
Filip,
Thanks for the advice. I did a bunch of reading on quaternions. I must
admit at first glance, they are confusing. There are tons of reference
material on them, anyone have a link they found useful and would recommend?
If I understood correctly, I would still expose Euler angles to users
of
the
engine, but internally, I would convert the euler angles to
quaternions?
After i interpolate the 2 quaternions, i then would convert back to
euler
Post by Filip Strugar
Post by D***@nospam.nospam
angles?
Or would the quaternions completely take the place of euler angles?
Thanks,
Dan
Post by Filip Strugar
I am currently using linear interpolation for position, scale and
attitude. I have googled keyframes and animation and read so much
that
Post by Filip Strugar
Post by D***@nospam.nospam
I
Post by Filip Strugar
am now confused on how I should handle interpolation of the Yaw,Pitch
and
Post by Filip Strugar
Roll euler components. How does one interpolate euler based
rotations?
Post by Filip Strugar
Post by D***@nospam.nospam
Post by Filip Strugar
Since interpolation is basically math formulas, I am also curious if
Managed DX has some helper functions for different types of
interpolation
Post by Filip Strugar
of vectors/quat or whatever.
Use quaternions to represent rotation :)
They don't have problems that euler based rotations have, and have easy
interpolation: look at Quaternion.Slerp/Squad
(D3DXQuaternionSlerp/Squad)!
D***@nospam.nospam
2004-08-20 02:23:01 UTC
Permalink
Just wanted to follow this up that I believe i finally understand and can
apply quaternions. Thanks for your help.

Dan
Post by Filip Strugar
The scenegraph used by company I'm working for does not use euler angles at
all. Local node transformation uses position and scale (vectors), and
rotation that is a quat. Some other scenegraph I've seen recently uses only
matrices. I suppose that these are usual ways of representing node
transformation. :)
Post by D***@nospam.nospam
My engine has nodes that contain the spatial information. I am wondering if
my nodes should have properties of Yaw,Pitch,Roll or Quaternion.
Euler angles are more meaningful to someone using the node.
My intuition says the node still has yaw, pitch and roll. Internally, when
i go to render and create the world matrix, i will translate the angles into
a quaternion. Sound right?
If this is correct, then quaternions are just created when i need to
interpolate. Am I on the right track?
Thanks,
Dan
Post by Filip Strugar
If by 'users of the engine' you mean other developers, then quats are the
only thing that you should use!
I don't have any special reference, google would help more :)
Post by D***@nospam.nospam
Filip,
Thanks for the advice. I did a bunch of reading on quaternions. I must
admit at first glance, they are confusing. There are tons of reference
material on them, anyone have a link they found useful and would recommend?
If I understood correctly, I would still expose Euler angles to users
of
the
engine, but internally, I would convert the euler angles to quaternions?
After i interpolate the 2 quaternions, i then would convert back to
euler
Post by Filip Strugar
Post by D***@nospam.nospam
angles?
Or would the quaternions completely take the place of euler angles?
Thanks,
Dan
Post by Filip Strugar
I am currently using linear interpolation for position, scale and
attitude. I have googled keyframes and animation and read so much
that
Post by Filip Strugar
Post by D***@nospam.nospam
I
Post by Filip Strugar
am now confused on how I should handle interpolation of the Yaw,Pitch
and
Post by Filip Strugar
Roll euler components. How does one interpolate euler based
rotations?
Post by Filip Strugar
Post by D***@nospam.nospam
Post by Filip Strugar
Since interpolation is basically math formulas, I am also curious if
Managed DX has some helper functions for different types of
interpolation
Post by Filip Strugar
of vectors/quat or whatever.
Use quaternions to represent rotation :)
They don't have problems that euler based rotations have, and have easy
interpolation: look at Quaternion.Slerp/Squad
(D3DXQuaternionSlerp/Squad)!
Sante Brucoli
2008-08-08 03:26:01 UTC
Permalink
Hi Dan!
Looking for information in these post for 3d animation, I saw that you are
doing (probably) the same thing that I would like to do!!! I'll like to
animate an aircraft from data readed in DFDR. This data is pitch, roll and
heading, and is stored in excel sheets.
How I can animate this. I have a model in autocad, it can be used??
Thankyou!

Regards,

Sante Brucoli
Aeropostal Airlines
Post by D***@nospam.nospam
Just wanted to follow this up that I believe i finally understand and can
apply quaternions. Thanks for your help.
Dan
Post by Filip Strugar
The scenegraph used by company I'm working for does not use euler angles at
all. Local node transformation uses position and scale (vectors), and
rotation that is a quat. Some other scenegraph I've seen recently uses only
matrices. I suppose that these are usual ways of representing node
transformation. :)
Post by D***@nospam.nospam
My engine has nodes that contain the spatial information. I am wondering if
my nodes should have properties of Yaw,Pitch,Roll or Quaternion.
Euler angles are more meaningful to someone using the node.
My intuition says the node still has yaw, pitch and roll. Internally, when
i go to render and create the world matrix, i will translate the angles into
a quaternion. Sound right?
If this is correct, then quaternions are just created when i need to
interpolate. Am I on the right track?
Thanks,
Dan
Post by Filip Strugar
If by 'users of the engine' you mean other developers, then quats are the
only thing that you should use!
I don't have any special reference, google would help more :)
Post by D***@nospam.nospam
Filip,
Thanks for the advice. I did a bunch of reading on quaternions. I must
admit at first glance, they are confusing. There are tons of reference
material on them, anyone have a link they found useful and would recommend?
If I understood correctly, I would still expose Euler angles to users
of
the
engine, but internally, I would convert the euler angles to quaternions?
After i interpolate the 2 quaternions, i then would convert back to
euler
Post by Filip Strugar
Post by D***@nospam.nospam
angles?
Or would the quaternions completely take the place of euler angles?
Thanks,
Dan
Post by Filip Strugar
I am currently using linear interpolation for position, scale and
attitude. I have googled keyframes and animation and read so much
that
Post by Filip Strugar
Post by D***@nospam.nospam
I
Post by Filip Strugar
am now confused on how I should handle interpolation of the Yaw,Pitch
and
Post by Filip Strugar
Roll euler components. How does one interpolate euler based
rotations?
Post by Filip Strugar
Post by D***@nospam.nospam
Post by Filip Strugar
Since interpolation is basically math formulas, I am also curious if
Managed DX has some helper functions for different types of
interpolation
Post by Filip Strugar
of vectors/quat or whatever.
Use quaternions to represent rotation :)
They don't have problems that euler based rotations have, and have easy
interpolation: look at Quaternion.Slerp/Squad
(D3DXQuaternionSlerp/Squad)!
Loading...