# Updating Orientation with Angular Velocity

## Recommended Posts

On 6/12/2018 at 7:06 PM, Cacks said:

I.e. put the angular velocity into a quaternion with the angle scaled by delta time & concatenate﻿ with the orientation?

It is physicaly inacurate model, becouse conservative is angular momentum, not angular velocity. magnitude of angular momentum vector is a production of angular velocity and inertion moment. so to keep angular momentum constant, angular velocity have to change according to inertion tensor changes. Inertion tensor changes can come from 2 sources:

1.body mass  redestribution. (zukhovski bench effect)

2. rotation of inertion tensor  - it rotates together with body, that in some cases causes redistribution of projections of inertion moments to axes. (Dzhanibekov effect)

So for phisycaly accurate animation you have to store angular momentum vector and recalculate angular velocity from it and inertion tensor each frame, at least for cases when inertion tensor or his projections may change.

##### Share on other sites

Fulcrum.013, two observations:

(1) This thread is about rotation kinematics, which is not "Physically inaccurate" in any reasonable sense. It's just not full-blown mechanics, but that doesn't make it wrong.

(2) Try to spell correctly. I am OK with people being a little bit careless or even ignorant of correct spelling, but it was honestly hard for me to understand what you wrote.

##### Share on other sites
2 hours ago, alvaro said:

But by previous topic starter questions, he using this calculations into physic simulation engine. So best solution is use matrices for rotation/position calculations. I mean to project angular momentum pseudovector to main inertion axes of body, calculate 3 angular velocities from it, and finally multiple it to time and  construct a rotation matrix from found Euler angles. Anycase it require to convert world transformation to matrix for visualistion.

2 hours ago, alvaro said:

but it was honestly hard for me to understand what you wrote.

My native language is mix of Russian and Ukrainian. Slavic languages have a wery different syntense constraction principles. It realy hard to downgradge slavic lenguages to primitive English sintence rules.

##### Share on other sites

in my game engine update loop I will convert Angular Momentum to Angular Velocity then update my objects' orientations

I am wondering how to simulate Friction:

If I multiply Torque by delta time that should give me the angular momentum that friction would create?

Then I add the friction angular momentum to the objects' total angular momentum?

##### Share on other sites
15 hours ago, Fulcrum.013 said:

2. rotation of inertion tensor  - it rotates together with body, that in some cases causes redistribution of projections of inertion moments to axes. (Dzhanibekov effect) ﻿

This effect comes from integrating the torques, not the angular velocity. E.g.

I * omega' = tau - omega x ( I * omega )

The omega x ( I * omega ) term describes the rotation of the inertia tensor and gyroscopic effects. In physics engine it is often dropped due to stability issues, but this can be solved easily.

##### Share on other sites

Torque multiplied by dt is angular momentum. Force multiplied by dt is linear momentum. But usualy (excluding bearings e.t.c) friction calculated as a Force, not as Torque. So usualy it require to be separated to linear momentum and angular momentum. it comes from Force definition formula - force is derivate of momentum by time. Same with torque.

25 minutes ago, Cacks said:

Then I add the friction angular momentum to the objects' total angular momentum?

yes. same with linear momentum. Object's total angular momentum and linear momentum just a sum of all linear and angular momentums applied to it during his lifetime.

##### Share on other sites
15 minutes ago, Dirk Gregorius said:

This effect comes from integrating the torques, not the angular velocity. E.g.﻿

Torque is production of angular velocity derivative to momentum of inertia constant. Rotate ellipsoide of inertia togeter with body and recalculate  destribution of angular momentum pseudowector to ellipsoide inertion axes.You will got the same. Effect comes from Euler equations, that by division both sides to inertia moment constant, becomes to equation for angular velocity derivative, and  caused by redistributions of angular momentum projections to rotating axes of inertion ellipsoide.  So it is no difference how to recalculate velocities - tru the derivatives, or directly recalculate projections of angular momentum pseudovector to rotating axes and then calculate velocities. Just on Euler's era was no SIMD intrisics to calculate dot productions and was no need to calculate body world matrix for visualisation after each timeframe.

##### Share on other sites

Sorry, I don't understand what you are talking about.

##### Share on other sites
Posted (edited)
14 minutes ago, Dirk Gregorius said:

Sorry, I don't understand what you are talking about. ﻿

About Euler equations for torque

Edited by Fulcrum.013

##### Share on other sites

I have a added a dummy value for rotational Friction Torque into my engine

But how do I calculate the true value of the Frictional Torque?

## Create an account or sign in to comment

You need to be a member in order to leave a comment

## Create an account

Sign up for a new account in our community. It's easy!

Register a new account

1. 1
Rutin
68
2. 2
3. 3
4. 4
5. 5

• 11
• 9
• 21
• 10
• 33
• ### Forum Statistics

• Total Topics
633438
• Total Posts
3011880
• ### Who's Online (See full list)

There are no registered users currently online

×