# Physics - Dynamics

From: "Bart Jaszcz"
To: Martin Baker
Subject: angular velocity
Date: 08 February 2002 01:47

Hey Martin,

I read some of your pages, and got the impression you're in the same
boat as I am concerning angular velocity. It seems to me that the info
out there is incorrect, I have not found a method to apply angular
velocity which makes empirical sense, mostly because of motion like
precession under no external torque. Does any of this ring a bell? I'm
sure it does. Anyway, I was wondering what your current status is. Any
bright ideas? :) I tried these methods in case you're wondering:

1) "standard" method: compose rotation matrix using angular velocity
vector. Obviously wrong, if one of the angular velocity components
is much greater than the other two, the object will "undo" some
rotation.

2) compute cross products of angular velocity and basis vectors and add
reslut to basis vectors: two problems: 1) matrix gets skewed 2)
doesn't really work.. objects precesses in a strange way where axis of
spin is not constant, then stops precessing for some reason.

3) quaternions: famous incorrect formula: dQ/dt = 0.5 * quat(w) * Q ..
Q += dQ/dt; normalize(Q).. doesn't work at all, object immediately
tilts to some angle then just rotates around another axis.

I went looking for some more weird math, found geometric algebra, but
haven't found any way to use it, they talk about rotations and some
physics, but no specific stuff about angular velocity/angular
momentum/torques/etc..

Ok, I'm sure I scared you enough for one message, hope to hear your
thoughts on this.. l8r..

--bart

From: "Martin Baker"
To: "Bart Jaszcz"
Subject: Re: angular velocity
Date: 08 February 2002 10:20

Hi bart,

Yes, I'm in exactly the same boat. I have run out of inspiration about how
to make progress with the problems on my web pages, so I have been working
on other aspects of my program in the hope that someone will help me out.

I somehow suspect that what you have called the standard method might be the
closest. I think we need to define the fundamental principles that we are
using. Because the ground is exerting a force on the gyroscope I think we
need the rotational equivalent of Force = mass * acceleration.

i.e. Torque = [I] * angularAcceleration
where Torque and angularAcceleration are 3D vectors
and [I] is a 3x3 matrix which is symmetric

The trouble is that this inertia matrix only has constant terms if all these
terms are measured in the frame-of-reference of the gyroscope.
So we need to translate this rotating frame-of-reference to the external
world reference. This is where it gets a bit complex to me and I'm stuck.

Have you tried this approach?

Martin

From: "Bart Jaszcz"
To: "Martin Baker"
Subject: Re: angular velocity
Date: 08 February 2002 21:14

Hi Martin,

Well, yeah, that's another thing I noticed about the problem.. they say
the inertia matrix transforms angular momentum into angular velocity, but
if the object is a sphere, the interia matrix is identity, you'll see this
equation in Chris'es paper:

w = I' * L

where I' is inverse world interia tensor and he computes it as:

I' = R * I * R'

where R is the orientation and R' is the inverse of orientation,
but it's easy to see this is all identity if the object is a sphere.

now, i still think a sphere would have precession under no torque..
just wanted to make this clear, yes, precession with external torque is
a different thing alltogether, since the torque changes angular momentum
in the correct direction, the problem is when you let the object precess
on its own.. they call this nutation or nuition, i forget the exact word,
and that's why i don't use it..

anyhow, keep thinking about it, and try to think of new ways of
expressing angular velocity.

one thing i can tell you is that i made a little program that
visualizes the eigenvector of some arbitrary matrix rotations.. so i made
two matricies.. one to spin the object around its local y axis and one to
precess it around absolute x or absolute z. the eingenvector looks like
normal angular velocity at t = 0. but then as the object precesses, the
angular velocity vector itself rotates.. you can check this out youself..

http://www.geocities.com/bpj1138/ein.zip

keep working on it!..

l8r..

--bart

From: "Martin Baker"
To: "Bart Jaszcz"
Subject: Re: angular velocity
Date: 09 February 2002 18:53

Hi bart,

Are you sure that a sphere (or any shaped object) would have precession
under no torque (or external force)? I cant think of an example where this
would happen? For instance,

1) An object rotating in empty space would just continue to rotate about a
fixed axis without precession (for example the earth if the sun and moon did
not exist).
2) A childs top has a force from the table to cause the precession.
3) A gyroscope will rotate about a fixed axis until it is moved, then there
will be a torque on it due to its own inertia.

So in each case I can think of there is only precession if there is an
external torque?

Have I missed something?

I don't claim to understand nutation, I thought is was rotation at 90
degrees to both the original torque and the precession. ie a second order
effect where the original torque causes a precession at 90 degrees to it,
and this new movement causes a another torque at 90 degrees to it, and so
on. As I say I don't know, so I would really like to have a definition of
these terms which I could put on my website. I would also like to put your
e-mails on the website to encourage other people to help us with the

Martin

From: "Bart Jaszcz"
To: "Martin Baker"
Subject: Re: angular velocity
Date: 13 February 2002 01:00

hi martin,

sure you can publish any of my ramblings. i'm working on the problem,
and i've had a lot of progress, although i'm not ready to really put it
all together. here's the idea though: order of torque application
matters. when we think of nutation we overlook the fact that you spin the
object first then give it nutation. this is very important i think, and
it was a good start. later on, i was thinking what happens when torques
happen at the same time, and the answer that came up was "apply the least
magnitude force as nutation". then this turned into applying the torques
in order of descending magnitude and tracking how it changes the angular
momentum, then when the torques stop, nutation should be this "last
differential of the angular momentum change".. it continues.. actually
the first thing that got me on the right track was the thought "last
action continues".. anyhow, as you can see it's all a brainstorm right
now...

l8r on..

--bart

Next: Linear motion

Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them.

Physics for Game Developers - Assumes a knowledge of vectors, Matrix and trigonometry (the book has a one page introduction to quatnions). The book introduces Newtons laws but it does assume a basic knowledge physics. It covers Kinematics, Force, Kinetics, Collision (detection), Projectiles, Aircraft, Ships, Hovercraft, Cars, Real-time, 2D rigid body, Collision Response, Rigid body rotation, 3D rigid body, multiple bodies in 3D and particles. (I cant find a general formula for collision response which combines linear and rotation, but there may be something in the code included?). If you don't have the prerequisite knowledge of Matrices etc. you may want to get the Mathematics for 3D Game programming book first.

Commercial Software Shop

Where I can, I have put links to Amazon for commercial software, not directly related to the software project, but related to the subject being discussed, click on the appropriate country flag to get more details of the software or to buy it from them.

 Dark Basic Professional Edition - It is better to get this professional edition This is a version of basic designed for building games, for example to rotate a cube you might do the following: make object cube 1,100 for x=1 to 360 rotate object 1,x,x,0 next x Game Programming with Darkbasic - book for above software

This site may have errors. Don't use for critical systems.