Transforming coordinate system into a rotating one

In summary: The result is that the equations of motion aren't going to have a simple form.In summary, the problem at hand is to transform a coordinate system in a way that cancels the total angular momentum of a collection of massive points, while taking into account the changes in the moment of inertia tensor and the acceleration of the coordinates themselves. This transformation is necessary for partitioning the system into sub-systems for more efficient simulation. However, finding the necessary angular velocity vector proves to be a complicated task, involving double cross products and derivatives of the total moment of inertia. The purpose of this computation is for a physical simulation library.
  • #1
haael
539
35
I want to solve a following problem.

Imagine a collection of massive points. Each point has mass, position, velocity, moment of inertia, orientation and spin. We can calculate its total center of mass, total momentum and total angular momentum.
The task is to transform the coordinate system so that all 3 of these parameters is zero.

For the center of mass and total momentum it is easy. The problem is with the angular momentum. I need to transform a non-rotating coordinate system into a rotating one. I know the formula for such transformation, however I don't know how to find the necessary angular velocity vector.

The particles may undergo linear and angular accelerations, however we can assume that the total momentum and total angular momentum is conserved.

The equation I got involves a double cross product and a derivative of the total moment of inertia. I bet someone already solved it, so if you know any papers or hints, please let me know. The numerical sollution will suffice.
 
Mathematics news on Phys.org
  • #2
haael said:
We can calculate its ... total angular momentum ... I know the formula for such transformation, however I don't know how to find the necessary angular velocity vector.
This seems to be a contradiction. In the end it is still vector addition.
 
  • #3
Wow, thank you for digging out my post from 2013.

This is not vector addition. In fact, the problem is very complicated.

We have a collection of massive points, moving relative to one another. Each point has mass (##M_{i}##) and moment of inertia tensor (##\overline{\overline{I_{i}}}##) which are constant. They also have variable coordinates: position (##\tilde X_{i}##), orthogonal orientation matrix (##\overline{\overline{Q_{i}}}##), linear velocity vector (##\vec V_{i}##) and rotational velocity pseudovector (##\vec R_{i}##).

The coordinates are given in some default coordinate system. We can transform this system to another one by introducing shifts (non-constant, i.e. they can depend on time thus changing velocities) and rotations.
Rotation is a change of orientation, i.e. it is a matrix by which individual point orientations are multiplied. The immediate change of orientation (derivative of a matrix) is a spin matrix. It is an anti-symmetric matrix and its components in 3 dimensions may be rearranged into a pseudovector.

Task 1: Find a coordinate system where the center of mass is in the origin of the coordinate system. Easy.
Task 2: Find a coordinate system where the total momentum is zero. Easy.
Task 3: Find a coordinate system where the total angular momentum is zero. Well?

We have 2 definitions of angular momentum.

1. Angular momentum as the sum of angular momenta of the points. (All coordinates here in a system where the center of mass is at the origin and total momentum is zero.)

[tex]
\vec L_{total} = \sum_{i} \vec L_{i} + \sum_{i} (\vec V_{i} \times \tilde X_{i}) M_{i} = \sum_{i} \overline{\overline{Q}}_{i} \cdot \overline{\overline{I}}_{i} \cdot \vec R_{i} + \sum_{i} (\vec V_{i} \times \tilde X_{i}) M_{i}
[/tex]

2. Angular momentum as total moment of inertia times the formal rotational velocity.

[tex]
\vec L_{total} = \overline{\overline{I}}_{total} \cdot \vec R_{total} = (\sum_{i} \overline{\overline{Q}}_{i} \cdot \overline{\overline{I}}_{i} \cdot \overline{\overline{Q^{-1}}}_{i} + \sum_{i} ((\tilde X_{i} \cdot \tilde X_{i}) \overline{\overline{1}} - \tilde X_{i} \otimes \tilde X_{i}) M_{i}) \cdot \vec R_{total}
[/tex]

Now the thing is that the formal rotational velocity ##R_{total}## must be defined relative to some property of the system of points, which was missing from my original idea. I decided to use principal axes of inertia. The "default" orientation of the system is the one where principal axes of inertia align with the base vectors.

The rotational velocity is a derivative of the orientation matrix. Total moment of inertia doesn't need to be constant. I managed to find the right orientation matrix using singular value decomposition but I wasn't able to solve the derivative equation and compare the formal rotational velocity to zero.

For curious: this was a part of a physical simulation library I was working on.
 
  • #4
I don't think it's actually possible unless you allow the possibility that the rotational velocity of the coordinate system can be a function of the moment of inertia as the moment of inertia changes in time.

To take a simple case done in a typical high school physics class: a person stands on a rotating tray (aka turntable or Lazy Susan), and is holding two heavy books close to their chest. The person is spun at some speed, and then extend their arms. Their rotation immediately slows. Then it speeds up again when they bring the books back to their chest.

There is no single rotational velocity which could ever show ##\vec{L} = 0## for that entire process. Furthermore, in more complicated cases the direction of the rotational velocity can also change over time.

Now, with that said, there might be some value in finding a coordinate system where ##\langle \vec{L}\rangle = 0## for a periodic system. That should be relatively straightforward as long as you can compute the time-averaged moment of inertia. What was the purpose in computing this anyway?
 
  • #5
kimbyd said:
I don't think it's actually possible unless you allow the possibility that the rotational velocity of the coordinate system can be a function of the moment of inertia as the moment of inertia changes in time.

Uhm, well, you can, when you do it in a coordinate system that is moving to compensate changes in the moment of inertia tensor. That is the point of this whole task. To make the coordinate system to move in such a way that cancels angular momentum.

What was the purpose in computing this anyway?
This was a part of a physical simulation library.

This transformation, if possible, would allow to partition the system into a tree of sub-systems and each could be simulated on a separate CPU.
 
  • #6
haael said:
Uhm, well, you can, when you do it in a coordinate system that is moving to compensate changes in the moment of inertia tensor. That is the point of this whole task. To make the coordinate system to move in such a way that cancels angular momentum.
That introduces additional challenges, however. You're not only using a rotating coordinate system, but one with highly non-trivial acceleration. So you have to compensate not just for the acceleration due to the rotation of the coordinate system, but also for the accelerations caused by the change in rotation over time.

haael said:
This was a part of a physical simulation library.

This transformation, if possible, would allow to partition the system into a tree of sub-systems and each could be simulated on a separate CPU.
I suppose if it increases parallelism it could make it worth the extra effort. You'll probably have to do many more calculations, but more parallelism easily compensates for that with modern computing systems.

Do you know if this is something that has been done before? It strikes me as a very difficult thing to get right. If you can find a paper which has demonstrated this algorithm, that would be ideal. I could probably help parse it if you have difficulty.

That absent, I'd try to start with a simple two-particle system with an elliptic orbit (as that won't have a constant moment of inertia), and try to come up with a generalized numerical solution using the classical elliptical coordinate solution as a guide.
 
  • #7
kimbyd said:
That introduces additional challenges, however. You're not only using a rotating coordinate system, but one with highly non-trivial acceleration. So you have to compensate not just for the acceleration due to the rotation of the coordinate system, but also for the accelerations caused by the change in rotation over time.

Yes. I managed to write down all inertial forces in such an accelerating frame and I managed to numerically determine the orientation matrix at one instant of time, from singular value decomposition.

I wasn't able to solve it analytically and I didn't find the derivative I needed. So in the end I abandoned it.

Actually, the analytical solution wasn't even needed. I would be happy with the following approach: find the orientation matrix numerically (done), find the angular velocity numerically (derivative of the orientation matrix, not done), integrate it for a while and run another thread in parallel that looks for updated orientation and angular velocity. When the new values arrive, integrate them and so on.

A certain simplification can be made, when we see that non-rigid bodies can be defined orientation and angular velocity arbitrarily. Imagine a planetary system with one central star and 2 planets orbiting the star in the ecliptic plane but in opposite directions. Is this system rotating as a whole? We can clearly define north and south, but what about east and west? We may define lack of rotation as lack of inertial forces, but we still have some degree of freedom selecting the definition of orientation. By choosing the definition of orientation right, we could save ourselves some computations. In my library the only thing that was needed was that the definition of orientation had to agree with the case of rigid bodies. Taking principal axes of inertia gave the right results, despite being very hard to calculate, but there may be other definitions of orientation that are easier.

Do you know if this is something that has been done before?
I don't know. I was searching, but I didn't find much. Still I don't believe I was the first to try that.

When doing that I managed to accidentally re-invent dipole approximation method, derive Navier-Stokes equations and even some results from computer graphics :).
 
  • #8
haael said:
When doing that I managed to accidentally re-invent dipole approximation method, derive Navier-Stokes equations and even some results from computer graphics :).
I don't think I have anything useful to add to this, but just wanted to say that I love it that when I investigate stuff where I manage to learn lots of other things even if I don't solve the original problem.
 

1. How do you transform a coordinate system into a rotating one?

The process of transforming a coordinate system into a rotating one involves applying a rotation matrix to the original coordinates. The rotation matrix is determined by the angle of rotation and the axis of rotation. This effectively rotates the coordinate system and any points or vectors within it.

2. What is the purpose of transforming a coordinate system into a rotating one?

The purpose of transforming a coordinate system into a rotating one is to simplify calculations and make them more intuitive in certain scenarios. For example, in physics and engineering, it is often easier to analyze the motion of objects in a rotating coordinate system, especially if the objects themselves are rotating.

3. How does transforming a coordinate system into a rotating one affect the coordinates of points and vectors?

Transforming a coordinate system into a rotating one does not change the actual coordinates of points and vectors. Instead, it changes the way these coordinates are interpreted and calculated. The transformed coordinates will have different values, but they still represent the same points and vectors in space.

4. What are some common applications of transforming a coordinate system into a rotating one?

Transforming coordinate systems into rotating ones is commonly used in various fields, such as graphics and animation, robotics, and navigation. It is also useful in studying the motion of celestial bodies, such as planets and stars, which have their own rotating reference frames.

5. Are there any limitations or considerations when using a rotating coordinate system?

Yes, there are some limitations and considerations to keep in mind when using a rotating coordinate system. One important factor is the choice of axis of rotation, as it can affect the complexity of calculations. Additionally, when dealing with multiple rotating objects, the order and direction of rotations become crucial in determining the resulting coordinates.

Similar threads

Replies
1
Views
714
Replies
2
Views
1K
Replies
1
Views
803
Replies
2
Views
1K
  • Introductory Physics Homework Help
10
Replies
335
Views
8K
Replies
19
Views
1K
  • Introductory Physics Homework Help
Replies
2
Views
92
  • Introductory Physics Homework Help
Replies
30
Views
2K
  • Introductory Physics Homework Help
Replies
9
Views
976
Back
Top