Transforming coordinate system into a rotating one

Click For Summary

Discussion Overview

The discussion revolves around the challenge of transforming a coordinate system into a rotating one such that the total center of mass, total momentum, and total angular momentum of a collection of massive points are all zero. The focus is on the complexities involved in determining the necessary angular velocity vector for this transformation, particularly in the context of a physical simulation library.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • One participant outlines the problem of transforming a coordinate system to achieve zero total center of mass, momentum, and angular momentum, noting the difficulty in finding the angular velocity vector.
  • Another participant questions the feasibility of the transformation, suggesting that it may not be possible without allowing the rotational velocity to depend on the moment of inertia, which changes over time.
  • A participant describes the complexity of the system, emphasizing that the points have variable positions, velocities, and orientations, and that the transformation involves shifts and rotations that can depend on time.
  • Some participants discuss the implications of using a rotating coordinate system with non-trivial acceleration, highlighting the need to account for both rotational and additional accelerations.
  • There is mention of using singular value decomposition to find the orientation matrix, but challenges remain in solving the derivative equation related to the rotational velocity.
  • One participant suggests starting with a simpler two-particle system to develop a generalized numerical solution, indicating the potential for more manageable calculations.

Areas of Agreement / Disagreement

Participants express differing views on the feasibility of achieving a zero angular momentum transformation. Some believe it may be possible under certain conditions, while others argue that it is inherently complicated and may not be achievable without additional considerations.

Contextual Notes

The discussion highlights limitations related to the assumptions about the moment of inertia and the nature of the transformations. The dependency on time and the complexities of the system are acknowledged but remain unresolved.

Who May Find This Useful

This discussion may be of interest to those involved in physical simulations, particularly in the context of computational physics, as well as researchers exploring coordinate transformations in dynamic systems.

haael
Messages
537
Reaction score
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.
 
Physics news on Phys.org
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.
 
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.
 
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?
 
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.
 
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.
 
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 :).
 
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.
 

Similar threads

Replies
5
Views
2K
  • · Replies 11 ·
Replies
11
Views
2K
Replies
67
Views
5K
  • · Replies 30 ·
2
Replies
30
Views
5K
  • · Replies 6 ·
Replies
6
Views
1K
  • · Replies 3 ·
Replies
3
Views
2K
Replies
335
Views
17K
  • · Replies 60 ·
3
Replies
60
Views
7K
  • · Replies 19 ·
Replies
19
Views
3K
  • · Replies 10 ·
Replies
10
Views
2K