Simulating Spinning Rigid Bodies in 3D: Challenges and Solutions

Click For Summary
SUMMARY

This discussion focuses on the challenges of simulating spinning rigid bodies in 3D, particularly regarding the inaccuracies that arise when rotating an object independently around the x, y, and z axes. The participants emphasize that equal angular velocities across axes yield a stable resultant rotation, while unequal velocities lead to complex, unpredictable motion. Key concepts such as Euler angles and the relationship between angular velocity vectors and rotation axes are highlighted as essential for accurate simulations. Resources like Goldstein's Classical Mechanics are recommended for deeper understanding.

PREREQUISITES
  • Understanding of 3D rotational dynamics
  • Familiarity with Euler angles
  • Knowledge of angular velocity vectors
  • Basic principles of rigid body mechanics
NEXT STEPS
  • Research the mathematical formulation of Euler angles in 3D rotations
  • Explore the concept of angular momentum and its implications in rigid body dynamics
  • Study the computational methods for simulating rigid body dynamics in physics engines
  • Examine the relationship between rotation matrices and angular velocity vectors
USEFUL FOR

This discussion is beneficial for physicists, computer graphics developers, and anyone involved in the simulation of physical systems, particularly those focused on accurate modeling of rigid body dynamics.

zarcon
Messages
3
Reaction score
0
Hi all! I am having trouble understanding how to create a simulation of a spinning rigid body.

For each axis x, y, and z I have an angle and an angular velocity.
To rotate the object each axis is rotated independently - first the rotation about the x-axis followed by the rotation about the z- axis, then the rotation about the y-axis.

I really don't think this gives an accurate representation of the way the object would spin. for example - If the x and z angular velocities are equal and the y angular velocity is zero, I imagine that would result in a rotation about a diagonal axis in the xz plane. Instead the object essentially wobbles, never quite flipping over.

Is there a way to calculate an arbitrary axis of rotation from 3 anglular velocities? or even 2 angular velocities?

I hope i explained this okay, if anyone who has had experience doing this could offer some guidance, I would really apprectiate it.

Thanks!
Jonathan
 
Physics news on Phys.org
I think you will only get a stable resultant overall axis if each of the component rotational omegas is equal. If they are not equal, the resultant rotation vector (add the 3 component omega vectors) will change its direction as the object moves. Like, consider when Omega(x) is twice Omega(y), and think about how the resultant vector moves...
 
3-D rotations are NASTY.
Stay away from them!
If you are persistent, look up on Euler angles and the non-obvious manner in which the instantaneous angular velocity vector is related to them.
Goldstein's Classical Mechanics is a good start, but if you are to delve deeper into the computational issues involved, you're in it for life, I think.

As for the angular velocity vector, it is parallell to the normal of the plane of rotation at that moment.

As for the concept of "rotation axis", remember that if you go into anybody particle's rest frame, the body can be regarded as rotating about that particle with the same angular velocity as if you were in another body particle's rest frame.
But, the location of the rotation axis is in general different in the two cases.
 
Last edited:

Similar threads

Replies
67
Views
5K
  • · Replies 12 ·
Replies
12
Views
1K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 31 ·
2
Replies
31
Views
4K
  • · Replies 4 ·
Replies
4
Views
2K
Replies
25
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 30 ·
2
Replies
30
Views
5K