Have Inertia Tensor for Object. Find It for Object after Rotation

Click For Summary
SUMMARY

The discussion focuses on calculating the new inertia tensor, T', for an object after it has been rotated about its center of mass (CM) using a rotation matrix R. The original inertia tensor T is transformed using the formula T_{new} = R^T T R, where R is a 3x3 rotation matrix. The conversation highlights the need for efficiency in computing T' during a coding project, emphasizing that the transformation can be achieved without recomputing the tensor for each orientation. Additionally, it clarifies the distinction between using a 3x3 rotation matrix and a 4x4 matrix commonly found in MATLAB.

PREREQUISITES
  • Understanding of inertia tensors in physics
  • Familiarity with rotation matrices in 3D space
  • Basic knowledge of linear algebra
  • Experience with MATLAB for matrix operations
NEXT STEPS
  • Study the derivation of inertia tensors for rotated coordinate systems
  • Learn about the properties and applications of rotation matrices in 3D
  • Explore MATLAB's matrix manipulation functions for efficient computations
  • Investigate optimization techniques for real-time physics simulations
USEFUL FOR

Students in physics or engineering, software developers working on simulations, and anyone involved in computational mechanics or robotics would benefit from this discussion.

RoshanBBQ
Messages
277
Reaction score
0

Homework Statement


Let's say I have a coordinate system that has (0,0,0) at the CM of an object, and I know the object's inertia tensor for that coordinate, T. (T is a 3x3 inertia tensor where (1,1) is moment of inertia about x-axis, (2,2) is moment of inertia about y-axis, and (3,3) is moment of inertia about z-axis).

I then rotate the object about its CM by a degrees about x-axis, b degrees about y-axis, and c degrees about the z-axis. I am using the convention where a positive angle rotates the object clockwise if the positive portion of the axis about which rotation is happening is approaching you from your viewing spot.

Is there a simple matrix transform I can do to T to find the new inertia tensor, T'? This is for a coding project. As of now, I am recomputing T' for each orientation. I would like to speed things up if possible. I am searching online with little success. If one of you gentlemen or ladies knows the relation off the top of your head, it would save me much time!EDIT: I found something about finding the inertia tensor for a new, rotated coordinate. Is it the case that rotating an object a b and c would be the tensor found about the coordinates rotated -a -b and -c?
 
Last edited:
Physics news on Phys.org
Here is the answer for future people with this question:
Let us say you know the rotation matrix to rotate a set of x,y, and z coordinates like so:
[tex]\begin{pmatrix}<br /> x_{new}\\<br /> y_{new}\\<br /> z_{new}<br /> \end{pmatrix}<br /> = R <br /> \begin{pmatrix}<br /> x\\<br /> y\\<br /> z<br /> \end{pmatrix}[/tex]
And you rotated your object using R. If you have T, the old inertia tensor before rotation, the new one is found by
[tex]T_{new} = RTR^T[/tex]

However, and this is an annoying lack of complete resource from places I searched (I had to derive this myself), if you have (LIKE IN MATLAB) a rotation matrix used like so:
[tex]\begin{pmatrix}<br /> x_{new} & y_{new} & z_{new}<br /> \end{pmatrix}<br /> =<br /> \begin{pmatrix}<br /> x & y & z<br /> \end{pmatrix}<br /> R[/tex]

Then, we have
[tex]T_{new} = R^T T R[/tex]

R is a 3x3 rotation matrix. In MATLAB, your rotation matrix will be 4x4. Simply discard 4th row and column.
 
Last edited:

Similar threads

Replies
2
Views
2K
Replies
25
Views
2K
Replies
52
Views
5K
  • · Replies 8 ·
Replies
8
Views
1K
  • · Replies 19 ·
Replies
19
Views
5K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 40 ·
2
Replies
40
Views
6K
  • · Replies 16 ·
Replies
16
Views
2K
  • · Replies 13 ·
Replies
13
Views
3K
Replies
2
Views
2K