University of Wales Trinity Saint David
ACCB5017 - Games Architecture and Mechanics

Torque and Rotational Dynamics

Overview

So far every object has slid without turning. This worksheet adds rotation. It covers what makes an object spin, why some objects are harder to spin than others, how to balance a structure so that it does not turn at all, and how a spinning object behaves when it changes shape.

Every new idea here has a direct partner from earlier worksheets, and a table of these pairs is built up as you go. The worksheet ends with a C++ console program for a body that both moves and spins when it is pushed off centre.

Learning Objectives

By the end of this lab you will be able to:

Concept

Push a door near its hinge and it barely moves. Push it at the handle with the same force and it swings open easily. The turning effect of a force depends on how hard you push, how far from the pivot you push, and in what direction. That turning effect is called torque. It plays the same role for rotation that force plays for motion in a straight line.

The rotational version of mass is the moment of inertia. It measures how hard an object is to spin up, and it depends not only on how much mass there is but on where that mass sits. Mass far from the axis counts for much more than mass close to it. A hoop and a solid disc of the same mass and radius have different moments of inertia, and if you roll them down the same slope the disc wins.

With those two ideas in place, rotation follows a law with exactly the same shape as Newton's second law. Torque equals moment of inertia times angular acceleration. Every other rotational idea, from rotational kinetic energy to angular momentum, comes from swapping each translational symbol for its rotational partner.

Tasks

Task 1 - Describing rotation

Hook

Every point on a spinning wheel turns through the same angle in the same time, yet the rim is moving much faster than the hub. How can one wheel have one rate of spin but many different speeds?

Intuition

Rotation is described by angles instead of distances. The angle turned through, θ\theta, is the same for every point on a rigid object, and so is the angular velocity ω\omega, how fast that angle changes. A point further from the axis travels round a bigger circle in the same time, so its linear speed is larger.

Physics measures angles in radians. One radian is the angle where the arc length equals the radius, and one full turn is 2π2\pi radians, about 6.28. Radians make the link between angle and distance very simple, as the equations below show.

Formalise

Angular velocity is in rad/s and angular acceleration in rad/s². The constant acceleration equations from the Kinematics worksheet carry over with θ\theta for ss, ω\omega for vv and α\alpha for aa.

s=rθv=rωat=rαω=ω0+αtθ=ω0t+12αt2s = r\theta \qquad v = r\omega \qquad a_t = r\alpha \qquad \omega = \omega_0 + \alpha t \qquad \theta = \omega_0 t + \tfrac{1}{2}\alpha t^2

Worked example

A wheel of radius 0.3 m spins up from rest with α=2 rad/s2\alpha = 2\text{ rad/s}^2 for 5 s.

  1. Final angular velocity. ω=0+2×5=10 rad/s\omega = 0 + 2 \times 5 = 10\text{ rad/s}.
  2. Angle turned. θ=12×2×52=25 rad\theta = \tfrac{1}{2} \times 2 \times 5^2 = 25\text{ rad}, which is 25/2π=3.9825 / 2\pi = 3.98 turns.
  3. Rim speed. v=0.3×10=3 m/sv = 0.3 \times 10 = 3\text{ m/s}.

The first rows of the translational to rotational table.

TranslationalRotationalLink
position xx (m)angle θ\theta (rad)s=rθs = r\theta
velocity vv (m/s)angular velocity ω\omega (rad/s)v=rωv = r\omega
acceleration aa (m/s²)angular acceleration α\alpha (rad/s²)at=rαa_t = r\alpha

Your turn

A fan spins at 1200 revolutions per minute. Its angular velocity is rad/s, to 4 significant figures.

A wheel starts from rest with α = 3 rad/s². After 4 s its angular velocity is rad/s and it has turned through rad.

A point 0.25 m from the axle of that wheel has a speed of m/s at 4 s.

Two points are painted on a spinning disc, one near the centre and one at the rim. Which statement is true?

Every point on a rigid object turns through the same angle in the same time. Speed is r times omega, so the rim is faster.

How many radians is one quarter of a turn?

A full turn is 2π radians, so a quarter turn is π/2.

Task 2 - Torque

Hook

Why are door handles always placed on the side furthest from the hinge? And why does pushing on the edge of a door, straight toward the hinge, do nothing at all, however hard you push?

Intuition

Torque depends on the force and on the lever arm, the perpendicular distance from the pivot to the line along which the force acts. Push far from the hinge and the lever arm is long. Push straight toward the hinge and the line of action passes through the pivot, so the lever arm is zero and so is the torque.

Drag the red point and change the angle below. Watch the gold lever arm.

Formalise

For a force FF applied at distance rr from the pivot, at angle ϕ\phi between the force and the line from the pivot. Torque is measured in newton metres (N m). By convention, anticlockwise torque is positive.

τ=rFsin⁡ϕ=r⊥F\tau = rF\sin\phi = r_\perp F

Worked example

A 0.25 m spanner is used on a stiff bolt.

  1. Perpendicular push of 40 N. τ=0.25×40×sin⁡90∘=10 N m\tau = 0.25 \times 40 \times \sin 90^\circ = 10\text{ N m}.
  2. Same push at 30° to the handle. τ=0.25×40×sin⁡30∘=5 N m\tau = 0.25 \times 40 \times \sin 30^\circ = 5\text{ N m}. Half the turning effect.
  3. Bolt needs 10 N m but the push is at 30°. Either double the force to 80 N or use a spanner twice as long.

Your turn

Where should you push a door to open it with the smallest force?

The largest lever arm comes from the furthest point and a perpendicular push.

A force acts along a line that passes through the pivot. What is its torque?

The perpendicular distance from the pivot to the line of action is zero, so the torque is zero.

A mechanic slides a pipe over a spanner handle to double its length. What happens to the torque for the same force?

Torque is proportional to r, so doubling the lever arm doubles the torque.

A 60 N force is applied perpendicular to a 0.3 m spanner. The torque is N m.

The same force at 45° to the handle gives a torque of N m, to 3 significant figures.

To produce 20 N m with a 0.4 m spanner, pushing perpendicular, you need a force of N.

Task 3 - Moment of inertia and Newton's second law for rotation

Hook

A ring, a solid disc and a solid ball, all with the same mass and radius, are released together at the top of a slope and roll down without slipping. Which reaches the bottom first? Does it change if one of them is much heavier?

Intuition

A rolling object has to do two things at once. It has to speed up along the slope and it has to spin up. Some of the energy available goes into spinning. An object with more of its mass far from its centre, like a ring, needs more energy to spin up, so less is left for moving down the slope.

The moment of inertia II measures this. Each small piece of mass contributes its mass times the square of its distance from the axis, so far-away mass counts four times as much when it is twice as far out.

Race the shapes below. Then change the mass and race again.

Formalise

The definition of moment of inertia, Newton's second law for rotation, and standard results for uniform shapes of mass MM.

I=∑miri2τnet=IαI = \sum m_i r_i^2 \qquad \tau_{net} = I\alpha
ShapeAxisMoment of inertia
Point massdistance rr from the axismr2mr^2
Thin ring or hoopthrough the centreMR2MR^2
Solid disc or cylinderthrough the centre12MR2\tfrac{1}{2}MR^2
Solid spherethrough the centre25MR2\tfrac{2}{5}MR^2
Thin rod of length Lthrough the centre112ML2\tfrac{1}{12}ML^2
Thin rod of length Lthrough one end13ML2\tfrac{1}{3}ML^2
Solid rectangle w by hthrough the centre, perpendicular112M(w2+h2)\tfrac{1}{12}M(w^2 + h^2)

Worked example

A 2 kg solid disc of radius 0.5 m is free to spin on an axle. A torque of 1 N m is applied.

  1. Moment of inertia. I=12×2×0.52=0.25 kg m2I = \tfrac{1}{2} \times 2 \times 0.5^2 = 0.25\text{ kg m}^2.
  2. Angular acceleration. α=τ/I=1/0.25=4 rad/s2\alpha = \tau / I = 1 / 0.25 = 4\text{ rad/s}^2.

For rolling down a slope, the acceleration is a=gsin⁡θ/(1+I/MR2)a = g\sin\theta / (1 + I/MR^2). Mass cancels, so only the shape factor I/MR2I/MR^2 matters. The sphere, with the smallest factor, wins.

Your turn

In the rolling race, which shape arrives first?

The sphere has the smallest I compared with MR², so the least energy goes into spinning.

Why does changing the mass not change the race?

Weight and moment of inertia are both proportional to mass, so mass divides out of the acceleration.

A figure skater spins with arms out, then pulls them in. What happens to their moment of inertia?

Mass moves closer to the axis, and r is squared in the moment of inertia, so I decreases.

A dumbbell is made of two 2 kg masses on a light rod, each 0.5 m from the axis. Its moment of inertia is kg m².

A torque of 3 N m is applied to the dumbbell. Its angular acceleration is rad/s².

A 5 kg solid sphere of radius 0.1 m has a moment of inertia of kg m².

Task 4 - Static equilibrium

Hook

A 30 kg child and a 40 kg child want to use a seesaw. If they both sit at the ends, the heavier child drops to the ground. Where should the heavier child sit so the seesaw balances?

Intuition

An object in static equilibrium does not move and does not turn. That needs two conditions. The forces must balance, so it does not accelerate, and the torques about any point must balance, so it does not start to spin. On a seesaw, each child's weight produces a torque about the pivot. One turns it clockwise and the other anticlockwise. Balance means they are equal.

Try it below. Drag the blocks to balance the beam, then change the masses and balance it again.

Formalise

Both conditions together. You may take torques about any point you like, so choose one where an unknown force acts. Its torque is then zero and it drops out of the equation.

∑F=0∑τ=0\sum F = 0 \qquad \sum \tau = 0

Worked example 1

The seesaw. Torques about the pivot must balance.

30g×2=40g×d30g \times 2 = 40g \times d, so d=60/40=1.5 md = 60 / 40 = 1.5\text{ m}. The heavier child sits 1.5 m from the pivot. The starting setup of the diagram shows exactly this.

Worked example 2

A uniform 5 m beam of mass 20 kg rests on supports at each end. A 60 kg load sits 1 m from the left end. Find the support forces RLR_L and RRR_R.

  1. Torques about the left support, so RLR_L drops out. The beam's weight acts at its centre, 2.5 m along. 5RR=20g×2.5+60g×1=110g5R_R = 20g \times 2.5 + 60g \times 1 = 110g, so RR=22g=216 NR_R = 22g = 216\text{ N}.
  2. Forces. RL+RR=80gR_L + R_R = 80g, so RL=58g=569 NR_L = 58g = 569\text{ N}.

The support nearer the load carries most of it, as you would expect.

Your turn

A 25 kg child sits 1.6 m from a seesaw pivot. A 40 kg adult balances them by sitting m from the pivot on the other side.

A uniform 4 m beam of mass 10 kg rests on supports at both ends. A 50 kg load sits 3 m from the left end. The right support pushes up with N and the left with N, both to 3 significant figures.

Explain why it is helpful to take torques about the point where an unknown force acts.

A force acting at the pivot point has a lever arm of zero, so its torque is zero and it does not appear in the torque equation. That leaves fewer unknowns, often just one, which can be solved directly. The other unknown can then be found from the force balance.

Task 5 - Angular momentum

Hook

A spinning ice skater pulls their arms in and suddenly spins much faster. Nobody pushed them. Where did the extra spin come from?

Intuition

Angular momentum is the rotational partner of momentum. Just as momentum is conserved when no outside force acts, angular momentum is conserved when no outside torque acts. When the skater pulls their arms in, their moment of inertia drops. To keep the same angular momentum, their angular velocity must rise.

Their rotational kinetic energy goes up too. That energy comes from the work their muscles do pulling their arms inward against the tendency of the spinning arms to fly outward.

Formalise

L=IωI1ω1=I2ω2 when no external torque actsKErot=12Iω2L = I\omega \qquad I_1\omega_1 = I_2\omega_2 \text{ when no external torque acts} \qquad KE_{rot} = \tfrac{1}{2}I\omega^2

Worked example

A skater with I=4 kg m2I = 4\text{ kg m}^2 spins at 2 rad/s, then pulls in to I=1.6 kg m2I = 1.6\text{ kg m}^2.

  1. Angular momentum. L=4×2=8 kg m2/sL = 4 \times 2 = 8\text{ kg m}^2\text{/s}, which stays the same.
  2. New spin rate. ω2=8/1.6=5 rad/s\omega_2 = 8 / 1.6 = 5\text{ rad/s}.
  3. Kinetic energy. Before 12×4×22=8 J\tfrac{1}{2} \times 4 \times 2^2 = 8\text{ J}, after 12×1.6×52=20 J\tfrac{1}{2} \times 1.6 \times 5^2 = 20\text{ J}.

The completed translational to rotational table.

TranslationalRotationalLink
position xxangle θ\thetas=rθs = r\theta
velocity vvangular velocity ω\omegav=rωv = r\omega
acceleration aaangular acceleration α\alphaat=rαa_t = r\alpha
mass mmmoment of inertia III=∑mr2I = \sum m r^2
force FFtorque τ\tauτ=rFsin⁡ϕ\tau = rF\sin\phi
F=maF = maτ=Iα\tau = I\alpha
momentum p=mvp = mvangular momentum L=IωL = I\omega
KE=12mv2KE = \tfrac{1}{2}mv^2KE=12Iω2KE = \tfrac{1}{2}I\omega^2

Your turn

A diver tucks into a ball during a somersault. What happens?

Tucking reduces I, angular momentum stays the same, so ω increases.

A student on a spinning office chair holds heavy weights at arm's length, then drops them straight down. What happens to the chair's spin?

Dropped weights carry their own angular momentum away with them, so the student's ω does not change. Pulling them inward would have sped the chair up.

In the skater example, the kinetic energy rose from 8 J to 20 J. Which statement is correct?

Pulling the arms inward takes effort, and that work becomes the extra rotational kinetic energy.

A turntable with I = 0.5 kg m² spins at 6 rad/s. A small lump of clay dropped onto its edge raises I to 0.6 kg m². The new angular velocity is rad/s.

Explain why a skater spinning faster after pulling their arms in does not break conservation of energy.

The skater does work pulling their arms inward, because the arms tend to keep moving in a straight line and must be forced into a tighter circle. That work, supplied from chemical energy in the muscles, becomes the extra rotational kinetic energy. Energy is transferred, not created.

Task 6 - Torque in a 2D game engine

Intuition

In a 2D game, rotation is always about the axis pointing out of the screen, so torque is a single number. When a force F⃗\vec{F} is applied at a point offset by r⃗\vec{r} from the body's centre of mass, the torque is the 2D cross product of the offset and the force. A force through the centre of mass gives zero torque and only pushes the body. The same force applied off centre both pushes it and spins it. This is why a car clipped at its corner spins out.

τ=rxFy−ryFx\tau = r_x F_y - r_y F_x

Create a new Console App (C++) project named RigidBody2D and replace its source file with the skeleton below, saved as RigidBody2D.cpp. The program runs two scenarios on the same 2 kg box, 1 m wide and 0.5 m tall. Both apply a 10 N upward push for 0.1 s. The first pushes through the centre, and the second pushes at the right-hand edge.

  1. In applyForceAtPoint, calculate r as point minus position, then add cross(r, f) to torque.
  2. In integrate, calculate the angular acceleration as torque / inertia, then update angularVelocity and then angle, mirroring the linear lines above them.

Success condition: both scenarios print the same upward velocity of 0.5 m/s. The centre push prints an angular velocity of 0. The edge push prints about 2.4 rad/s. Check this by hand. The torque is 0.5×10=5 N m0.5 \times 10 = 5\text{ N m}, the moment of inertia is 2(12+0.52)/12=0.208 kg m22(1^2 + 0.5^2)/12 = 0.208\text{ kg m}^2, and the angular impulse τΔt=0.5\tau\Delta t = 0.5 divided by II gives the angular velocity.

RigidBody2D.cpp
#include <iomanip>
#include <iostream>
#include <string>

struct Vec2
{
    double x;
    double y;
};

Vec2 operator+(Vec2 a, Vec2 b) { return { a.x + b.x, a.y + b.y }; }
Vec2 operator-(Vec2 a, Vec2 b) { return { a.x - b.x, a.y - b.y }; }
Vec2 operator*(Vec2 a, double s) { return { a.x * s, a.y * s }; }
Vec2& operator+=(Vec2& a, Vec2 b) { a.x += b.x; a.y += b.y; return a; }

// The 2D cross product gives the single number that is the torque about z
double cross(Vec2 a, Vec2 b) { return a.x * b.y - a.y * b.x; }

struct RigidBody2D
{
    double mass = 1.0;
    double inertia = 1.0;
    Vec2 position{ 0.0, 0.0 };
    Vec2 velocity{ 0.0, 0.0 };
    double angle = 0.0;
    double angularVelocity = 0.0;
    Vec2 force{ 0.0, 0.0 };
    double torque = 0.0;

    void applyForceAtPoint(Vec2 f, Vec2 point)
    {
        force += f;

        // TODO: find r, the offset of point from the centre of mass, and add
        // the torque cross(r, f) into the torque accumulator
    }

    void integrate(double dt)
    {
        velocity += force * (1.0 / mass) * dt;
        position += velocity * dt;

        // TODO: angular acceleration is torque divided by inertia. Update
        // angularVelocity, then angle, the same way as the linear part

        force = { 0.0, 0.0 };
        torque = 0.0;
    }
};

void runScenario(const std::string& name, Vec2 offset)
{
    const double width = 1.0;
    const double height = 0.5;
    const double mass = 2.0;
    const double dt = 0.001;

    // A solid box rotating about its centre has I = m (w^2 + h^2) / 12
    RigidBody2D body;
    body.mass = mass;
    body.inertia = mass * (width * width + height * height) / 12.0;

    for (int step = 0; step < 1000; step++)
    {
        // A 10 N upward push for the first 0.1 s only
        if (step < 100)
        {
            body.applyForceAtPoint({ 0.0, 10.0 }, body.position + offset);
        }
        body.integrate(dt);
    }

    std::cout << name << "\n";
    std::cout << "  velocity         (" << body.velocity.x << ", " << body.velocity.y << ") m/s\n";
    std::cout << "  angular velocity " << body.angularVelocity << " rad/s\n";
    std::cout << "  angle after 1 s  " << body.angle << " rad\n\n";
}

int main()
{
    std::cout << std::fixed << std::setprecision(3);
    runScenario("Push through the centre", { 0.0, 0.0 });
    runScenario("Push at the right-hand edge", { 0.5, 0.0 });
    return 0;
}

The edge push and the centre push give the box the same linear velocity. Explain why, even though the edge push also makes it spin.

The linear motion of the centre of mass depends only on the total force and the mass, not on where the force is applied. Both scenarios apply the same 10 N for the same 0.1 s, so the linear impulse and the final velocity are the same. Where the force is applied only affects the torque, which changes the rotation.

Solution

Try the tasks above before revealing the solution.