Integrating angular damping into angular velocity and rotation

In summary, the speaker is using a third-party physics engine to run rigid body physics and is trying to write an algorithm to predict the position of free-falling bodies in 2 seconds. They are struggling with predicting angular velocity and rotation and have noticed that the physics engine calculates angular velocity by subtracting 30% velocity/second from the current velocity. However, their equation for predicting angular velocity is not accurate and they are looking for a better equation using calculus to model exponential decay. They plan to follow up with a question on how to calculate current rotation with initial rotation, initial angular velocity, and angular damping.
  • #1
cjcone311
1
0
I'm using a 3rd party physics engine to run rigid body physics. It just updates the bodies once every 16 ms or so. I'm trying to write an algorithm to predict where free-falling bodies will be in 2 seconds using standard physics equations. I'm having trouble with predicting angular velocity and rotation though.

I know the physics engine calculates angular velocity by subtracting 30% velocity/second from the current velocity. If I calculate the angular velocity at t=1 and at t=2, the angular velocity at t=2 is 30% of that at t=1.

I've confirmed that with the physics engine, every frame that is run, the change in angular velocity over the change in time is always 30%.

However, if I try to predict ahead of the object with some time t, using the equation:

NewSpeed = OldSpeed - ( OldSpeed * Damping * t )

the predicted angular velocity loss begins to differ from the real angular velocity loss as t gets larger.

For instance, if I predict the angular velocity at t1=0.1 and t2=0.2 and compare the difference over t2 - t1, the angular velocity loss is about 30%, as it should be.

However, at t1=1.9 and t2=2.0, the difference over t2 - t1 shows an angular velocity loss of about 45%, way more than it should have been.

So, my equation:

NewSpeed = OldSpeed - ( OldSpeed * Damping * t)

Seems to be wrong. I'm wondering if there's some calculus magic that could give me a better equation, with the knowledge that angular velocity is constantly decreasing by 30%.

Thanks for any help - if this gets solved, I'll have a part 2 for my question on how to calculate the current rotation given an initial rotation, initial angular velocity, and angular damping.
 
Physics news on Phys.org
  • #2
cjcone311 said:
I'm using a 3rd party physics engine to run rigid body physics. It just updates the bodies once every 16 ms or so. I'm trying to write an algorithm to predict where free-falling bodies will be in 2 seconds using standard physics equations. I'm having trouble with predicting angular velocity and rotation though.

I know the physics engine calculates angular velocity by subtracting 30% velocity/second from the current velocity. If I calculate the angular velocity at t=1 and at t=2, the angular velocity at t=2 is 30% of that at t=1.

I've confirmed that with the physics engine, every frame that is run, the change in angular velocity over the change in time is always 30%.

However, if I try to predict ahead of the object with some time t, using the equation:

NewSpeed = OldSpeed - ( OldSpeed * Damping * t )

the predicted angular velocity loss begins to differ from the real angular velocity loss as t gets larger.

For instance, if I predict the angular velocity at t1=0.1 and t2=0.2 and compare the difference over t2 - t1, the angular velocity loss is about 30%, as it should be.

However, at t1=1.9 and t2=2.0, the difference over t2 - t1 shows an angular velocity loss of about 45%, way more than it should have been.

So, my equation:

NewSpeed = OldSpeed - ( OldSpeed * Damping * t)

Seems to be wrong. I'm wondering if there's some calculus magic that could give me a better equation, with the knowledge that angular velocity is constantly decreasing by 30%.

Thanks for any help - if this gets solved, I'll have a part 2 for my question on how to calculate the current rotation given an initial rotation, initial angular velocity, and angular damping.

Lets say at t = 0 you want w = w_0 (using w for omega). You want to model this with exponential decay. Suppose w = w_0 exp(rt) so w = w_0 when t = 0.

Now at t = 1 you want w = .7 w_0 which gives

.7 w_0 = w_0 exp(r*1) so r = ln(.7).

Put that into get your equation for w:

w = w_0 exp(t ln(.7)) = w_0 * (.7)^t

So you have an exponentially decaying w:

t = 0 w = w_0
t = 1 w = .7 w_0 (a decrease of 30%)
t = 2 w = .49 w_0 (another decrease of 30% from t = 1)

and so on.
 

1. How does angular damping affect angular velocity?

Angular damping is a force that acts against the rotation of an object, causing it to slow down over time. This means that as angular velocity increases, the damping force also increases, ultimately leading to a decrease in angular velocity.

2. Why is it important to integrate angular damping into angular velocity?

Integrating angular damping into angular velocity allows for a more realistic simulation of rotational motion. In real life, objects experience resistance to rotation due to factors such as air resistance and friction, so incorporating angular damping into angular velocity helps to accurately model these effects.

3. How is angular damping calculated and applied?

Angular damping is typically calculated using the angular velocity of the object and a damping coefficient. The resulting force is then applied to the object in the opposite direction of its rotation, causing it to slow down. This process is repeated over time, resulting in a gradual decrease in angular velocity.

4. Can angular damping be adjusted or disabled?

Yes, angular damping can be adjusted or disabled depending on the needs of the simulation. For example, in some cases, it may be necessary to increase the damping coefficient to slow down an object more quickly, while in other cases, it may be more realistic to disable angular damping altogether.

5. How does angular damping differ from linear damping?

Angular damping acts on rotational motion, while linear damping acts on linear motion. This means that angular damping affects the angular velocity of an object, while linear damping affects the linear velocity. Additionally, the formulas and calculations for each type of damping are different.

Similar threads

  • Introductory Physics Homework Help
Replies
3
Views
706
Replies
19
Views
1K
  • Classical Physics
2
Replies
61
Views
949
  • Classical Physics
Replies
6
Views
1K
  • Introductory Physics Homework Help
Replies
5
Views
919
  • Mechanics
Replies
17
Views
2K
  • Introductory Physics Homework Help
Replies
32
Views
971
  • Calculus and Beyond Homework Help
Replies
4
Views
720
  • Introductory Physics Homework Help
Replies
11
Views
1K
Back
Top