# Physics - Kinematics - Combined Linear and Angular Velocity

## Particle on solid body 2D case

The velocity of the centre of mass is given by Vcm (see linear case)

The velocity of a particle on the solid body, relative to the centre of mass, is given by:

 Vpx = -ry w Vpy = rx w

So, combining these, the absolute value of the velocity of a point on a solid body is given by:

 Vpx = Vcmx - ry w Vpy = Vcmy + rx w

where:

• Vpx = velocity of chosen particle (x component) in absolute coordinates.
• Vpy = velocity of chosen particle (y component) in absolute coordinates.
• Vcmx = velocity of centre of mass (x component) in absolute coordinates.
• Vcmy = velocity of centre of mass (y component) in absolute coordinates.
• rx = position of chosen particle relative to the centre of mass (x component).
• ry = position of chosen particle relative to the centre of mass (y component).
• w = angular velocity (scalar quantity in 2D case)

Note that, since the object is rotating, the vector r will be a function of time:

 rx = |r| * cos(wt) ry = |r| * sin(wt)

## Particle on solid body 3D case

The velocity of the centre of mass is given by Vcm (see linear case)

The velocity of a particle on the solid body, relative to the centre of mass, is given by: = × where: other definitions symbol description type units instantaneous linear velocity of particle vector m/s instantaneous angular velocity about . (dθ/dt) bivector s-1 instantaneous position of the particle relative to point. - vector m × vector cross product operator (see here for definition)

This can be shown as follows:

Assuming that rotation is in the direction of the positive z dimention (since we are using right hand coordinates this is toward the viewer). Also since we are using right hand screw rule for positive rotation this will be an anti-clockwise rotation so, dividing the velocity into components in x and y directions, we get:

 situation when at top of rotating object situation when at right of rotating object  vx = -wz * ry vy = wz * rx

If we consider components rotating about other axes then we get:

vx = wy * rz -wz * ry
vy = wz * rx- wx * rz

If we also consider the component in the z direction then we get the general expression for linear velocity on a rotating body (you can check this by using the expression for a cross product here): = × note: the above uses:

• right hand coordinate system.
• right hand rule for positive rotations.
• right handed cross product convention.

If we change any one of these to a left hand rule then the order of the operands will be reversed, since × = -( × ), but if we change two of them (left hand coordinate system and left hand rule for positive rotations) then the above equation still applies.

#### For a solid body

Combining the linear and rotational cases, the absolute value of the velocity of a point on a solid body is given by:

Vp = Vcm + wx r

where:

• Vp = velocity of chosen particle (vector) in absolute coordinates.
• Vcm = velocity of centre of mass (vector) in absolute coordinates.
• r = position of chosen particle relative to the centre of mass (vector).
• w = angular velocity (vector quantity in 3D case)

Note that, since the object is rotating, the vector r will be a function of time.

## Particle on solid body 3D using Matrix

I would like to derive the equations of motion and ultimately the collision equations in terms of matrices. This might have advantages in that it would fit in with the inertia tensor, also it would be useful to separate out a 'state vector' which defines the state of the solid body (angular and linear position and velocity).

So the velocity of a particle on a solid body is given by:

 Vpx Vpy Vpz
=
 1 0 0 0 -rz ry 0 1 0 rz 0 -rx 0 0 1 -ry rx 0
 Vcmx Vcmx Vcmx wx wy wz

The rotational part of this matrix was derived by replacing the vector cross product with the equivalent skew symmetric matrix.

Since r is dependant on the orientation of the body we could further extend the right hand vector to include the orientation, then the central matrix could be made completely independent of the state of the solid body. The idea is that, if we were writing a game which has a lot of solid bodies moving around we could represent them by an array holding all the state vectors, the central matrix would then define the physics and be independent of the state of each solid body.

However, I am not sure how to represent the orientation in the state vector?

• euler angles? - hard to combine rotations - calculating position requires lots of trig functions (sine, cosine, etc.)
• quaternions? - physics equations can be difficult to write in terms of quaternoins
• matrix? - does not really fit in vector

I think quaternoins might be best? but could we use it in matrix form like this?:

can anyone help me with this?

 Vpx Vpy Vpz
=
 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
 qx qy qz qw Vcmx Vcmx Vcmx wx wy wz

I dont think we can do this because to express an absolute position (P2) in terms of a position in local body coordinates (P1) and orientation as a quaternion (qw,qx,qy,qz) we need an equation like this (which is not linear):

 P2.x P2.y P2.z
=
 qx*qx+qw*qw-qy*qy- qz*qz 2*qx*qy- 2*qw*qz 2*qx*qz+ 2*qw*qy 2*qw*qz + 2*qx*qy qw*qw - qx*qx+ qy*qy - qz*qz -2*qw*qx+ 2*qy*qz -2*qw*qy+ 2*qx*qz 2*qw*qx+ 2*qy*qz qw*qw - qx*qx- qy*qy+ qz*qz
 P1.x P1.y P1.z

## Linear velocity of particle due to angular velocity of solid object

On the orientation page we derived the following expression for the position of particle on solid object rotating about an arbitrary axis,

 Px Py Pz
=
 sqrt(Az2 + Ay2) * r sin(θ) + h*Ax sqrt(Az2 + Ax2) * r cos(θ) + h*Ay -Ax * r sin(θ)-Ay * r cos(θ) + h*Az

where:

• Px,Py,Pz = Cartesian coordinates of particle (absolute coordinates).
• Ax, Ay, Az = unit length vector giving direction of arbitrary axis which object is rotating around.
• r = distance of particle from arbitrary axis.
• h = distance of particle along arbitrary axis.

If we assume that the object is rotating at a uniform angular velocity about the arbitrary axis then:

θ = θ0 + wt

where:

• θ = instantaneous angle of rotation
• θ0 = angle at time t=0
• w = angular velocity in radians per second
• t = time

So substituting in above gives:

 Px Py Pz
=
 sqrt(Az2 + Ay2) * r sin(θ0 + wt) + h*Ax sqrt(Az2 + Ax2) * r cos(θ0 + wt) + h*Ay -Ax * r sin(θ0 + wt)-Ay * r cos(θ0 + wt) + h*Az

So we should be able to get the linear velocity by differentiating this expression:

 Vx Vy Vz
=
 d(sqrt(Az2 + Ay2) * r sin(θ0 + wt))/t d(sqrt(Az2 + Ax2) * r cos(θ0 + wt))/t d(-Ax * r sin(θ0 + wt)-Ay * r cos(θ0 + wt))/t

which gives:

 Vx Vy Vz
=
 sqrt(Az2 + Ay2) * r*w cos(θ) -sqrt(Az2 + Ax2) * r*w sin(θ) -Ax * r*w cos(θ)+Ay * r*w sin(θ)

 metadata block see also: Correspondence about this page Open Forum - w x r or r x w ? Mati Mr. Dual Space Book Shop - Further reading. 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.       Engineering Mechanics Vol 2: Dynamics - Gives theory for rigid dynamics, aims to allow prediction of effects of force and motion. Includes rotating frame of reference. Lots of colour diagrams, I guess its college / University level. 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.  Mathmatica

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