# Re: Simple question about rotations

From: John C. Polasek
Subject: Re: Simple question about rotations
Newsgroups: sci.physics
Date: 2002-12-29 18:28:54 PST
On 16 Dec 2002 02:05:29 -0800, Martin Baker
wrote:

>Could anyone help me derive an equation relating the angular velocity
>of an solid object when viewed in a local frame-of-reference and when
>viewed in an absolute frame-of-reference (when the frame-of-reference
>is itself rotating - about a different point). Can I just add the
>local angular velocity to the frame-of-reference angular velocity?
>(even though they are rotating about different points).
>
>For example, if the earth is rotating once per day, and orbiting the
>sun once per 365 days, then in the f-of-r of the sun, can I just add
>the angular velocities to give 1+1/365 rotations per day, even though
>its motion is a spiral?
>
>I have made an attempt to solve this here, but I've got bogged down:
>https://www.euclideanspace.com/physics/dynamics/rotation/rotationfor/index.htm#angularvelocity
>
>I can see how to find the instantaneous angular velocity of a point on
>the object by taking the cross-product of its linier velocity and its
>distance from the point about which we are measuring the rotation.
>This would mean that each point on the solid object would have a
>different angular velocity. The only time that each point on the
>object has the same angular velocity is if you measure the angular
>velocity about its centre of rotation. Does this mean that it is not
>meaningful to ask what the angular velocity of the earth is, or the
>moon is, in the frame of reference of the sun? If it is meaningful to
>ask this, how would you define such an angular velocity?
>
>Thank you for any help or ideas of how to proceed.
>
>Martin
As to the earth, a solid object, you can get its angular velocity by
taking the curl of its velocity field. This will turn out to be
curl v(r) = 2*w x r
w (omega) will be an invariant wherever you do the operation (as if
you could).

Now as to angular re the sun, simply take the fact that v = w x r and
so w = v/r. You can add the two.
You are not allowed to do the two implied divisions, but do them
anyway and sum the vectors. (There are legal ways out of this).

Mr. Dual Space
(If you have something to say, write an equation.
If you have nothing to say, write an essay).
Post a follow-up to this message

From: Martin Baker
Subject: Re: Simple question about rotations

Newsgroups: sci.physics
Date: 2002-12-30 02:42:02 PST

Mr. Dual Space (can I call you John?),

When I have come across curl it seems to be used to analyse the movement of
a fluid. It seems to be used to take a continuous vector field representing
the velocity field and to give a continuous vector field representing how
the fluid is swerling round at each point in space. I stand ready to be
corrected as my understanding of this is not as great as I would like.

How can this concept be used to study solid objects? It would seem, at my
superficial level of understanding, that this would be a discontious
function. Inside the solid object the rotation is w and presumably in empty
space the rotation is zero?

So is curl a function of (x,y,z) and if so which values of x,y and z will
give the angular velocity of the object as a whole?

Also could you explain your second point a bit more, I don't quite
understand where the bit about 'sum the vectors' comes from?

Thanks,

Martin

> >Martin
> As to the earth, a solid object, you can get its angular velocity by
> taking the curl of its velocity field. This will turn out to be
> curl v(r) = 2*w x r
> w (omega) will be an invariant wherever you do the operation (as if
> you could).
>
> Now as to angular re the sun, simply take the fact that v = w x r and
> so w = v/r. You can add the two.
> You are not allowed to do the two implied divisions, but do them
> anyway and sum the vectors. (There are legal ways out of this).
>
> Mr. Dual Space
> (If you have something to say, write an equation.
> If you have nothing to say, write an essay).
Post a follow-up to this message

From: John C. Polasek
Subject: Re: Simple question about rotations

Newsgroups: sci.physics
Date: 2002-12-30 09:37:40 PST

On Mon, 30 Dec 2002 10:41:02 +0000 (UTC), "Martin Baker" wrote:

>Mr. Dual Space (can I call you John?),
>
>When I have come across curl it seems to be used to analyse the movement of
>a fluid. It seems to be used to take a continuous vector field representing
>the velocity field and to give a continuous vector field representing how
>the fluid is swerling round at each point in space. I stand ready to be
>corrected as my understanding of this is not as great as I would like.
>
>How can this concept be used to study solid objects? It would seem, at my
>superficial level of understanding, that this would be a discontious
>function. Inside the solid object the rotation is w and presumably in empty
>space the rotation is zero?
>
>So is curl a function of (x,y,z) and if so which values of x,y and z will
>give the angular velocity of the object as a whole?
>
>Also could you explain your second point a bit more, I don't quite
>understand where the bit about 'sum the vectors' comes from?
>
>Thanks,
>
>Martin
>
>> >Martin
>> As to the earth, a solid object, you can get its angular velocity by
>> taking the curl of its velocity field. This will turn out to be
>> curl v(r) = 2*w x r
>> w (omega) will be an invariant wherever you do the operation (as if
>> you could).
>>
>> Now as to angular re the sun, simply take the fact that v = w x r and
>> so w = v/r. You can add the two.
>> You are not allowed to do the two implied divisions, but do them
>> anyway and sum the vectors. (There are legal ways out of this).
>>
>> Mr. Dual Space
>> (If you have something to say, write an equation.
>> If you have nothing to say, write an essay).
>
>
In a rigid body that is rotating, anywhere at all on the body, the
curl will give you 2 omega. The curl can be in cartesian coordinates
or any other.
Take the simple case of a rotating disk. At any r (we cheat) and know
that the velocity which you can call xdot is omega x r. Increase r by
dr and call this dy, normal to dx and xdot and find velocity change
dxdot = omega* dy. Anyway this gives dxdot/dy and you also do it for
dydot/dx and the answer is 2 omega. You don't have to know where the
center is, just have a means of establishing velocities in any little
grid (3D in a solid) you choose. That is the heart of the curl
opertion. The result is invariably 2 omega and the curl operator will
yield a vector in your grid indicating axis of rotation..

As to getting the total angular velocity you have the local curl one
we discussed which does have a vector value and the orbiting one,

I have a feeling you aren 't quite ready for all this so see some

Mr. Dual Space
(If you have something to say, write an equation.
If you have nothing to say, write an essay).
Post a follow-up to this message

From: Martin Baker
Subject: Re: Simple question about rotations

Newsgroups: sci.physics
Date: 2002-12-31 03:26:02 PST

I see what you are saying, it does not matter that the velocity field is not
continuous at its boundary, provided that it is continuous locally.

I did a search on google (both newsgroups and web) and found some
interesting stuff on the grad, div and curl, but I couldn't find anything
specifically about curl and solid body mechanics. Could anyone suggest any

Also is there any information available about how to transform these
operations? for example if we have a function which gives us curl(v) at any
point, can we use this to derive curl([M]v)?
where
v = a 3D vector function of x,y,z and t
[M] = a 4x4 matrix representing rotation and translation which is a function
of time.

Thanks,

Martin

> In a rigid body that is rotating, anywhere at all on the body, the
> curl will give you 2 omega. The curl can be in cartesian coordinates
> or any other.
> Take the simple case of a rotating disk. At any r (we cheat) and know
> that the velocity which you can call xdot is omega x r. Increase r by
> dr and call this dy, normal to dx and xdot and find velocity change
> dxdot = omega* dy. Anyway this gives dxdot/dy and you also do it for
> dydot/dx and the answer is 2 omega. You don't have to know where the
> center is, just have a means of establishing velocities in any little
> grid (3D in a solid) you choose. That is the heart of the curl
> opertion. The result is invariably 2 omega and the curl operator will
> yield a vector in your grid indicating axis of rotation..
>
> As to getting the total angular velocity you have the local curl one
> we discussed which does have a vector value and the orbiting one,
>
> I have a feeling you aren 't quite ready for all this so see some
>
> Mr. Dual Space
> (If you have something to say, write an equation.
> If you have nothing to say, write an essay).
Post a follow-up to this message

From: John C. Polasek
Subject: Re: Simple question about rotations

Newsgroups: sci.physics
Date: 2002-12-31 07:30:04 PST

On Tue, 31 Dec 2002 11:25:59 +0000 (UTC), "Martin Baker" wrote:

>I see what you are saying, it does not matter that the velocity field is not
>continuous at its boundary, provided that it is continuous locally.
A solid body has only one omega vector deducible as the curl of the
velocity field, taken at any point on that body, and using any form of
coordinate system outside the body. For dynamical purposes, you need
to locate the vector at the center of mass.
>I did a search on google (both newsgroups and web) and found some
>interesting stuff on the grad, div and curl, but I couldn't find anything
>specifically about curl and solid body mechanics. Could anyone suggest any
>
>Also is there any information available about how to transform these
>operations? for example if we have a function which gives us curl(v) at any
>point, can we use this to derive curl([M]v)?
>where
>v = a 3D vector function of x,y,z and t
>[M] = a 4x4 matrix representing rotation and translation which is a function
>of time.

I don't know what you're getting at but I'm pretty sure you want a 3x3
matrix of x(t), y(t) and z(t). You'll have tough sledding with a
4-vector, t being a foreign object. Rotation matrices are 3x3. You
would have the sum of two matrices I guess using theta(t), etc.

>Thanks,
>
>Martin
>
>> In a rigid body that is rotating, anywhere at all on the body, the
>> curl will give you 2 omega. The curl can be in cartesian coordinates
>> or any other.
>> Take the simple case of a rotating disk. At any r (we cheat) and know
>> that the velocity which you can call xdot is omega x r. Increase r by
>> dr and call this dy, normal to dx and xdot and find velocity change
>> dxdot = omega* dy. Anyway this gives dxdot/dy and you also do it for
>> dydot/dx and the answer is 2 omega. You don't have to know where the
>> center is, just have a means of establishing velocities in any little
>> grid (3D in a solid) you choose. That is the heart of the curl
>> opertion. The result is invariably 2 omega and the curl operator will
>> yield a vector in your grid indicating axis of rotation..
>>
>> As to getting the total angular velocity you have the local curl one
>> we discussed which does have a vector value and the orbiting one,
>>
>> I have a feeling you aren 't quite ready for all this so see some
>>
>> Mr. Dual Space
>> (If you have something to say, write an equation.
>> If you have nothing to say, write an essay).
>
>

Mr. Dual Space
(If you have something to say, write an equation.
If you have nothing to say, write an essay).
Post a follow-up to this message

From: Martin Baker
Subject: Re: Simple question about rotations

Newsgroups: sci.physics
Date: 2002-12-31 08:50:03 PST

> I don't know what you're getting at but I'm pretty sure you want a 3x3
> matrix of x(t), y(t) and z(t). You'll have tough sledding with a
> 4-vector, t being a foreign object. Rotation matrices are 3x3. You
> would have the sum of two matrices I guess using theta(t), etc.

As Todd pointed out computer programs tend to use a 4x4 matrix so that
rotation and translation can be done with a single matrix multipication. If
that is an issue it would be easy to express in another way, for example:

If we have a function which gives us curl(v) at any point, can we use this
to derive curl([R]v + a) ?
where
v = a 3D vector function of x,y,z and time
[R] = a 3x3 matrix representing rotation which is a function of time.
a = 3D vector translation which is a function of time.

Or if this is not possible, is there some other notation, quaternions for
example? which would allow us to derive curl of a rotated vector field?

Thanks,

Martin

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

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