Monocurl Essays
Series Download

Radians: measuring an angle by the arc it cuts

A radian is the angle whose arc is as long as the radius. With it, arc length, sector area and the rule sin θ ≈ θ need no conversion constants.

21 min·High school·

AssumesThe unit circle: sine and cosine as coordinatesWhy the area of a circle is πr²

A piece as long as the radius stands up beside the circle and is then bent onto it. The angle that this arc spans at the center is one radian, about 57.3°.
Monocurl source
let O = [-1.5, 0, 0]
let R = 1.75
let A = [O[0] + R, O[1], 0]
let P = pol(O, R, 1)
let Wrap = |turn, bend| {
    let a = PI - turn * PI / 2
    if (bend < 0.01) {
        return Seg(A, A + R * dir(a), EMBER, 6)
    }
    let rr = R / bend
    let c = [A[0] - rr, A[1], 0]
    return stroke{EMBER, 6} Polyline(map(sample(0, bend, 30), |t| pol(c, rr, t)))
}
mesh base = [
    ArcPath(O, R, 0, TAU),
    Seg(O, A, AZURE, 4),
    Pt(O, INK, 0.08),
    Name("r", 0.5 * (O + A) + [0, -0.3, 0], 0.85, AZURE),
    center{[2.3, 1.5, 0]} Cap("one radius long", 0.8, EMBER),
    Seg([1.6, 1.1, 0], [3.0, 1.1, 0], EMBER, 6),
    center{[2.3, 0.35, 0]} Note("bent onto the circle,", 0.74),
    center{[2.3, -0.05, 0]} Note("what angle does it span?", 0.74)
]
mesh mark = []
mesh piece = Wrap(turn: 0, bend: 0)
mesh notes = []

slide "wrap"
    play Wait(0.7)
    piece.turn = 1
    play Lerp(1.6, [&piece])
    play Wait(0.3)
    piece.bend = 1
    play Lerp(2.6, [&piece])
    mark = [
        Wedge(O, 0, 1, LEAF, 0.6),
        Seg(O, A, AZURE, 4),
        Seg(O, P, AZURE, 4),
        Pt(O, INK, 0.08),
        Name("r", 0.5 * (O + P) + [-0.28, 0.12, 0], 0.85, AZURE),
        Name("r", pol(O, R + 0.3, 0.5), 0.85, EMBER)
    ]
    notes = [
        Name("1 \text{ radian}", [2.3, -0.8, 0], 1.15, LEAF),
        Name(str_join(["\approx ", to_string(180 / PI, 1), "^\circ"]), [2.3, -1.45, 0], 0.95, SLATE)
    ]
    play Fade(0.7)
    play Wait(2.2)

Uses the shared definitions for this lesson's figures.

Set a calculator to degrees and ask for $\sin 1$. It says $0.01745$. Switch it to radians and press the same keys: $0.84147$. The two answers differ because “1” names two different angles, one degree in the first mode and something much larger in the second.

That much is only a matter of units, like meters and feet. The stranger fact is that mathematics takes sides. The formulas of calculus for sine and cosine, beginning with “the derivative of sine is cosine”, are true in radian mode and false in degree mode. No formula for a length cares whether you measure in meters or feet. So what is special about the radian?

Where 360 comes from

A degree is a full turn divided into 360 parts. The number 360 was chosen by people. It is usually traced to Babylonian astronomers, who counted in sixties, and a common explanation is that the sun takes roughly 360 days to return to its place among the stars. It is a convenient choice, since 360 can be divided evenly by 2, 3, 4, 5, 6, 8, 9, 10 and 12. But nothing about a circle produces it. A different culture could have chosen 400 or 100, and geometry would look the same.

A unit that mathematics could prefer would have to come from the circle itself. An angle at the center of a circle cuts off a piece of the circle, an arc, and a wider angle cuts off a longer one. So the natural thing to try is to measure the angle by the length of its arc.

Measuring an angle by its arc

The first attempt fails at once, and the way it fails shows the repair. Take one fixed angle, 60°, and draw circles of radius 1, 2 and 3 around its corner.

One angle of 60° cuts arcs from circles of radius 1, 2 and 3. The arcs have lengths 1.047, 2.094 and 3.142, but each arc divided by its radius gives the same number, \frac{\pi}{3} \approx 1.047.
One angle of 60° cuts arcs from circles of radius 1, 2 and 3. The arcs have lengths 1.047, 2.094 and 3.142, but each arc divided by its radius gives the same number, $\frac{\pi}{3} \approx 1.047$.
Monocurl source
let V = [-3.5, -1.6, 0]
let U = 1.3
let A = rad(60)
mesh sector = [
    Region(block {
        . V
        for (t in sample(0, A, 40)) {
            . pol(V, 3 * U, t)
        }
    }, tint(SLATE, 0.1)),
    Wedge(V, 0, A, SLATE, 0.5),
    Seg(V, V + [3 * U + 0.25, 0, 0], INK, 3),
    Seg(V, pol(V, 3 * U + 0.25, A), INK, 3),
    Name("60^\circ", V + 0.9 * dir(A / 2), 0.76, SLATE)
]
mesh arcs = block {
    for (k in [1, 2, 3]) {
        . ArcPath(V, k * U, 0, A, EMBER, 5)
        . Pt([V[0] + k * U, V[1], 0], AZURE, 0.085)
        . Name(to_string(k), [V[0] + k * U, V[1] - 0.33, 0], 0.85, AZURE)
        . Name(to_string(k * A, 3), pol(V, k * U + 0.36, rad(33)), 0.76, EMBER)
    }
}
mesh table = block {
    . center{[1.25, 1.35, 0]} Cap("radius", 0.74, AZURE)
    . center{[2.1, 1.35, 0]} Cap("arc", 0.74, EMBER)
    . center{[3.05, 1.35, 0]} Cap("arc ÷ radius", 0.74, LEAF)
    . Seg([0.85, 1.05, 0], [3.65, 1.05, 0], MIST, 2)
    for (k in [1, 2, 3]) {
        let y = 1.3 - 0.65 * k
        . Name(to_string(k), [1.25, y, 0], 0.9, AZURE)
        . Name(to_string(k * A, 3), [2.1, y, 0], 0.9, EMBER)
        . Name(to_string(k * A / k, 3), [3.05, y, 0], 0.9, LEAF)
    }
    . Name(str_join(["\frac{\pi}{3} \approx ", to_string(PI / 3, 3)]), [2.25, -1.45, 0], 0.95, LEAF)
}

Uses the shared definitions for this lesson's figures.

The same angle has arcs of three different lengths, so arc length alone measures the circle as much as the angle. The table shows what to do about it. A circle of radius $r$ has circumference $2\pi r$, and 60° is one sixth of a full turn, so its arc is one sixth of the circumference:

$$ \text{arc} = \frac{2\pi r}{6} = \frac{\pi}{3}\, r \approx 1.047\, r. $$

The arc is proportional to the radius, so dividing by the radius leaves a number, $\frac{\pi}{3}$, that belongs to the angle alone. The reason is that all circles are scaled copies of one another: enlarging the picture by a factor of 2 doubles the radius and the arc together.

The definition says “a circle of radius $r$” without saying which one, and the computation above is why it may: the ratio $s/r$ comes out the same on every circle centered at the corner. On a circle of radius 1 it is the arc length itself. A radian measure is a length divided by a length, so it is a pure number with no unit. The word “radians” after it is a reminder of how the number was obtained.

The opening animation builds one radian: a piece as long as the radius is bent onto the circle, and the angle it spans is 1.

Pause and try

Is one radian more or less than 60°? Decide without computing anything, using this fact: if you join the two ends of a 60° arc to the center and to each other, you get an equilateral triangle.

Show answerHide answer

In that equilateral triangle the straight side joining the ends of the arc (the chord) has length $r$. The arc between the same two points is curved, and a straight line is the shortest path between two points, so the 60° arc is longer than $r$. An arc of length exactly $r$ is therefore shorter than the 60° arc, and one radian is less than 60°. We found above that the 60° arc is $1.047\,r$, so one radian is 60° divided by $1.047$, about 57.3°.

How many radians make a full turn

A full turn is the angle whose arc is the whole circle. Before stepping through the next figure, guess how many radius lengths it takes to go once around.

  1. One radius length along the circle, starting from the right. It spans an angle of 1 radian.
  2. A second and a third. Three radius lengths fall a little short of the half turn.
  3. Six radius lengths fall a little short of the full turn.
  4. The gap is 0.283 of a radius. The whole circle is 2π ≈ 6.283 radius lengths, so a full turn is 2π radians.
Radius lengths are laid off along the circle one after another. Three do not quite reach the half turn, and six leave a gap of 0.283 of a radius, so a full turn is $2\pi \approx 6.283$ radians.
Monocurl source
let O = [-1.5, 0, 0]
let R = 1.75
let Marks = |n| block {
    for (k in [0, 1, 2, 3, 4, 5]) {
        if (n > k + 0.03) {
            var col = EMBER
            if (mod(k, 2) == 1) {
                col = AZURE
            }
            . ArcPath(O, R, k, min(k + 1, n), col, 6)
        }
    }
    for (k in [0, 1, 2, 3, 4, 5, 6]) {
        if (n >= k - 0.001) {
            . Seg(O, pol(O, R, k), SLATE, 2)
            . Pt(pol(O, R, k), INK, 0.075)
            if (k > 0) {
                . Name(to_string(k), pol(O, R + 0.3, k), 0.8)
            }
        }
    }
    . center{[2.3, 0.75, 0]} scale{1.7} color{INK} Number(floor(n + 0.001), 0)
}
mesh base = [
    Seg([O[0] - R - 0.25, 0, 0], [O[0] + R + 0.25, 0, 0], MIST, 2),
    ArcPath(O, R, 0, TAU),
    center{[2.3, 1.45, 0]} Note("radius lengths laid off", 0.74)
]
mesh marks = Marks(n: 0)
mesh gap = []

slide "One radius length along the circle, starting from the right. It spans an angle of 1 radian."
    marks.n = 1
    play Lerp(1.3, [&marks])

slide "A second and a third. Three radius lengths fall a little short of the half turn."
    marks.n = 3
    play Lerp(2.2, [&marks])

slide "Six radius lengths fall a little short of the full turn."
    marks.n = 6
    play Lerp(2.6, [&marks])

slide "The gap is 0.283 of a radius. The whole circle is 2π ≈ 6.283 radius lengths, so a full turn is 2π radians."
    gap = [
        ArcPath(O, R, 6, TAU, ROSE, 6),
        Name(to_string(TAU - 6, 3), pol(O, R + 0.72, 6.17), 0.76, ROSE),
        Name(str_join(["2\pi \approx ", to_string(TAU, 3)]), [2.3, -0.5, 0], 1.05, LEAF),
        center{[2.3, -1.1, 0]} Note("radians in a full turn", 0.74)
    ]
    play Fade(0.7, [&gap])

Uses the shared definitions for this lesson's figures.

The count is not a whole number, and it could not have been. The arc of a full turn is the circumference, $2\pi r$, so the radian measure of a full turn is $\frac{2\pi r}{r} = 2\pi \approx 6.283$. This is the definition of $\pi$ seen from a new side: $\pi$ is the number of radius lengths in half a circle.

Everything about converting units follows from the one equation

$$ 360° = 2\pi \text{ radians}, \qquad \text{or} \qquad 180° = \pi \text{ radians}. $$

Dividing by 180, one degree is $\frac{\pi}{180} \approx 0.01745$ radians, and dividing by $\pi$ instead, one radian is $\frac{180°}{\pi} \approx 57.296°$. To convert degrees to radians multiply by $\frac{\pi}{180}$; to convert radians to degrees multiply by $\frac{180}{\pi}$.

Common angles of the upper half turn, labeled in degrees inside the circle and in radians outside. Each radian label is the degree label multiplied by \frac{\pi}{180}.
Common angles of the upper half turn, labeled in degrees inside the circle and in radians outside. Each radian label is the degree label multiplied by $\frac{\pi}{180}$.
Monocurl source
let O = [0, -1.6, 0]
let R = 2.6
let items = [
    [0, "0"], [30, "\frac{\pi}{6}"], [45, "\frac{\pi}{4}"], [60, "\frac{\pi}{3}"], [90, "\frac{\pi}{2}"],
    [120, "\frac{2\pi}{3}"], [135, "\frac{3\pi}{4}"], [150, "\frac{5\pi}{6}"], [180, "\pi"]
]
mesh spokes = block {
    for (it in items) {
        let t = rad(it[0])
        . Seg(O, pol(O, R, t), SLATE, 2)
    }
    . ArcPath(O, R, 0, PI, INK, 3)
    for (it in items) {
        let t = rad(it[0])
        . Plate(pol(O, R - 0.62, t), [0.62, 0.36])
        . Name(str_join([to_string(it[0]), "^\circ"]), pol(O, R - 0.62, t), 0.7, SLATE)
        . Pt(pol(O, R, t), INK, 0.075)
        . Name(it[1], pol(O, R + 0.45, t), 0.74, AZURE)
    }
    . Pt(O, INK, 0.08)
}

Uses the shared definitions for this lesson's figures.

Arc length and sector area

Read backward, the definition $\theta = s/r$ is a formula for arc length: $s = r\theta$. The region between two radii and their arc, shaped like a slice of pie, is called a sector, and its area has a formula of the same kind.

Pause and try

A sector of a circle of radius 3 has an angle of 2 radians. What fraction of the full circle is it? Use that fraction to find the length of its arc and its area. (The circle has circumference $6\pi$ and area $9\pi$.)

Show answerHide answer

A full turn is $2\pi$ radians, so the sector is $\frac{2}{2\pi} = \frac{1}{\pi}$ of the circle, a little under a third. Its arc is $\frac{1}{\pi} \times 6\pi = 6$ and its area is $\frac{1}{\pi} \times 9\pi = 9$. The factors of $\pi$ cancel and both answers are whole numbers.

A sector of a circle of radius 3 opens from a narrow slice to the full circle. Its arc length is $3\theta$ and its area is $\frac{9}{2}\theta$, reaching the circumference $6\pi \approx 18.85$ and the area $9\pi \approx 28.27$ at $\theta = 2\pi$.
Monocurl source
let O = [-1.55, 0, 0]
let RAD = 3
let R = 1.8
let Sector = |th| [
    Wedge(O, 0, th, AZURE, R),
    ArcPath(O, R, 0, th, EMBER, 6),
    Seg(O, [O[0] + R, O[1], 0], INK, 3),
    Seg(O, pol(O, R, th), INK, 3),
    Pt(O, INK, 0.08),
    center{[2.4, 1.1, 0]} scale{1.4} color{INK} Number(th, 2),
    center{[2.4, -0.1, 0]} scale{1.4} color{EMBER} Number(RAD * th, 2),
    center{[2.4, -1.45, 0]} scale{1.4} color{AZURE} Number(RAD * RAD * th / 2, 2)
]
mesh base = [
    ArcPath(O, R, 0, TAU, MIST, 2.5),
    center{[2.4, 1.6, 0]} Note("angle θ in radians", 0.74),
    Name("\text{arc } s = r\theta", [2.4, 0.4, 0], 0.85, EMBER),
    Name("\text{area } A = \frac{1}{2} r^2 \theta", [2.4, -0.85, 0], 0.85, AZURE)
]
mesh sector = Sector(th: 0.3)
mesh rname = Name("r = 3", [-3.25, 1.85, 0], 0.8)

slide "open"
    play Wait(0.8)
    sector.th = TAU
    play Lerp(6, [&sector])
    play Wait(1.6)

Uses the shared definitions for this lesson's figures.

Put the two formulas together and the area reads $A = \frac{1}{2} r \cdot s$, half the radius times the arc. That is the triangle formula “half the base times the height” with the arc as base and the radius as height, which fits how a thin sector looks.

In degrees the same formulas are $s = \frac{\pi}{180} r\theta$ and $A = \frac{\pi}{360} r^2 \theta$. The constants $\frac{\pi}{180}$ and $\frac{\pi}{360}$ are conversion factors and say nothing about circles. With radians they disappear, and this is the first sign of why radians are preferred.

Small angles: the sine of a small angle is nearly the angle

Now back to the calculator. Recall that on the unit circle, $\sin\theta$ is the height of the point reached by turning through the angle $\theta$ from the point $(1, 0)$. With $\theta$ in radians, the arc traveled on that circle of radius 1 has length $r\theta = \theta$. So on one picture we can compare two lengths: the height $\sin\theta$ and the arc $\theta$. Here they are for a few angles, in radians.

$\theta$$1$$0.5$$0.1$$0.01$
$\sin\theta$$0.84147$$0.47943$$0.09983$$0.0099998$
$\sin\theta \div \theta$$0.8415$$0.9589$$0.9983$$0.99998$

The height is always a little less than the arc, and as the angle shrinks the two become hard to tell apart.

The arc from $(1, 0)$ to a point of the unit circle, and the height of that point, as the angle shrinks from 1.2 radians to 0.02. The boxed picture is the small window marked on the unit circle at the left, magnified to keep the arc the same size on screen. The arc straightens, and the ratio of height to arc approaches 1.
Monocurl source
let A = [1.05, -1.7, 0]
let H = 3.2
# the magnified view lives in this box; the inset on the left is the whole circle
let BX = [-1.1, 1.5]
let BY = [-1.95, 1.95]
let C = [-2.55, 0.1, 0]
let RI = 1.05
let Zoom = |th| {
    let S = H / th
    let P = [A[0] + S * (cos(th) - 1), A[1] + S * sin(th), 0]
    let F = [P[0], A[1], 0]
    let reach = min(S, (P[0] - BX[0]) / cos(th))
    let back = [P[0] - reach * cos(th), P[1] - reach * sin(th), 0]
    let c = [A[0] - S, A[1], 0]
    # a point of the box, as a point of the inset
    let inset = |x, y| [C[0] + RI * (1 + (x - A[0]) / S), C[1] + RI * (y - A[1]) / S, 0]
    let p = pol(C, RI, th)
    return [
        Seg(inset(BX[1], BY[1]), [BX[0], BY[1], 0], MIST, 2),
        Seg(inset(BX[1], BY[0]), [BX[0], BY[0], 0], MIST, 2),
        Seg(C, pol(C, RI, 0), SLATE, 2),
        Seg(C, p, SLATE, 2),
        stroke{LEAF, 4} Polyline(map(sample(0, th, 24), |t| pol(C, RI, t))),
        Seg([p[0], C[1], 0], p, EMBER, 4),
        Outline([inset(BX[0], BY[0]), inset(BX[1], BY[0]), inset(BX[1], BY[1]), inset(BX[0], BY[1])], INK, 2),
        Seg([max(BX[0], A[0] - S), A[1], 0], [A[0] + 0.25, A[1], 0], SLATE, 2.5),
        Seg(back, P, SLATE, 2.5),
        stroke{SLATE, 2} Polyline(map(sample(th, 1.08 * th, 8), |t| pol(c, S, t))),
        stroke{LEAF, 6} Polyline(map(sample(0, th, 40), |t| pol(c, S, t))),
        Seg(F, P, EMBER, 6),
        Pt(P, INK, 0.09),
        Pt(A, INK, 0.09),
        center{[2.7, 1.05, 0]} scale{1.4} color{LEAF} Number(th, 3),
        center{[2.7, -0.2, 0]} scale{1.4} color{EMBER} Number(sin(th), 3),
        center{[2.7, -1.5, 0]} scale{1.5} color{INK} Number(sin(th) / th, 3)
    ]
}
mesh labels = [
    ArcPath(C, RI, 0, TAU, SLATE, 2.5),
    Outline([[BX[0], BY[0], 0], [BX[1], BY[0], 0], [BX[1], BY[1], 0], [BX[0], BY[1], 0]], SLATE, 2),
    center{[C[0], C[1] - RI - 0.4, 0]} Note("unit circle", 0.76),
    Name("\text{arc } \theta", [2.7, 1.55, 0], 0.85, LEAF),
    Name("\text{height } \sin\theta", [2.7, 0.3, 0], 0.85, EMBER),
    center{[2.7, -0.95, 0]} Note("height ÷ arc", 0.76)
]
mesh zoom = Zoom(th: 1.2)

slide "shrink"
    play Wait(1)
    zoom.th = 0.02
    play Lerp(6, [&zoom], |u| (1 - (1 / 60) ^ u) / (1 - 1 / 60))
    play Wait(1.6)

Uses the shared definitions for this lesson's figures.

A short piece of a circle is nearly straight, and near the point $(1, 0)$ it runs nearly straight up. A nearly vertical, nearly straight path rises by almost its whole length. The following theorem makes “almost” exact. It involves one more length: extend the radius through the point until it meets the vertical line through $(1, 0)$. By similar triangles it meets that line at height $\frac{\sin\theta}{\cos\theta}$, which is called $\tan\theta$.

For \theta = 0.75 radians: the triangle OAP, the sector OAP and the triangle OAT are nested, each inside the next. Their areas are half of \sin\theta, \theta and \tan\theta, shown as bars on the right.
For $\theta = 0.75$ radians: the triangle $OAP$, the sector $OAP$ and the triangle $OAT$ are nested, each inside the next. Their areas are half of $\sin\theta$, $\theta$ and $\tan\theta$, shown as bars on the right.
Monocurl source
let O = [-3.35, -1.75, 0]
let U = 3.3
let TH = 0.75
let A = O + [U, 0, 0]
let P = pol(O, U, TH)
let F = [P[0], O[1], 0]
let T = A + [0, U * sin(TH) / cos(TH), 0]
let X0 = 1.0
let BU = 2.7
let Bar = |y, len, col, tex, rel = " \approx "| [
    Name(str_join([tex, rel, to_string(len, 3)]), [X0 + 1.1, y, 0], 0.85, col),
    Seg([X0, y - 0.42, 0], [X0 + len * BU, y - 0.42, 0], col, 9)
]
mesh fills = [
    Region([O, A, T], tint(PLUM, 0.14)),
    Region(block {
        . O
        for (t in sample(0, TH, 30)) {
            . pol(O, U, t)
        }
    }, tint(LEAF, 0.3)),
    Region([O, A, P], tint(EMBER, 0.3))
]
mesh lines = [
    ArcPath(O, U, TH, 1.1, SLATE, 2),
    Wedge(O, 0, TH, SLATE, 0.55),
    Seg(O, A, INK, 3),
    Seg(O, T, INK, 3),
    Seg(A, P, SLATE, 2.5),
    ArcPath(O, U, 0, TH, LEAF, 6),
    Seg(F, P, EMBER, 5),
    Seg(A, T, PLUM, 5),
    Square90(F, [-1, 0, 0], [0, 1, 0], SLATE, 0.17),
    Square90(A, [-1, 0, 0], [0, 1, 0], SLATE, 0.17),
    Pt(O, INK, 0.08),
    Pt(A, INK, 0.08),
    Pt(P, INK, 0.08),
    Pt(T, INK, 0.08)
]
mesh names = [
    Name("O", O + [-0.05, -0.3, 0]),
    Name("A", A + [0.1, -0.3, 0]),
    Name("P", P + [0.02, 0.42, 0]),
    Name("T", T + [0.28, 0.1, 0]),
    Name("1", 0.5 * (O + A) + [0, -0.3, 0]),
    Name("\theta", O + 0.85 * dir(TH / 2), 0.8, SLATE),
    Name("\sin\theta < \theta < \tan\theta", [-2.35, 1.55, 0], 0.9),
    Bar(1.25, sin(TH), EMBER, "\sin\theta"),
    Bar(0.2, TH, LEAF, "\theta", " = "),
    Bar(-0.85, sin(TH) / cos(TH), PLUM, "\tan\theta")
]

Uses the shared definitions for this lesson's figures.

The second chain is the precise form of the pattern in the table. The ratio $\frac{\sin\theta}{\theta}$ is trapped between $\cos\theta$ and 1, and $\cos\theta$, the horizontal coordinate of a point approaching $(1, 0)$, is itself close to 1 when $\theta$ is small. At $\theta = 0.1$, for example, $\cos 0.1 \approx 0.9950$, so the ratio lies between $0.9950$ and 1, and the table’s $0.9983$ does.

Pause and try

The calculator in degree mode gave $\sin 1 = 0.01745$. Express 1° in radians to five decimal places. What does the comparison tell you about the ratio $\frac{\sin x°}{x}$ for small $x$?

Show answerHide answer

$1° = \frac{\pi}{180} \approx 0.01745$ radians, the same digits. That is the small-angle rule at work: the sine of an angle of $0.01745$ radians is very nearly $0.01745$. So for an angle of $x$ degrees, which is $\frac{\pi}{180}x$ radians, we get $\sin x° \approx \frac{\pi}{180} x$, and the ratio $\frac{\sin x°}{x}$ approaches $\frac{\pi}{180} \approx 0.01745$ where radians gave 1.

The graph of the sine of x near zero, drawn twice at the same scale with the line y = x. With x in radians the curve leaves the origin along that line. With x in degrees it leaves along a line of slope \frac{\pi}{180} \approx 0.0175 and hardly rises.
The graph of the sine of $x$ near zero, drawn twice at the same scale with the line $y = x$. With $x$ in radians the curve leaves the origin along that line. With $x$ in degrees it leaves along a line of slope $\frac{\pi}{180} \approx 0.0175$ and hardly rises.
Monocurl source
let fl = Frame(0, 1.6, 0, 1.6, [-1.9, -0.2, 0], 2.8, 2.8)
let fr = Frame(0, 1.6, 0, 1.6, [1.75, -0.2, 0], 2.8, 2.8)
let Panel = |f, title| [
    GridLines(f, [0.5, 1, 1.5], [0.5, 1, 1.5]),
    Axes(f, "x", "y"),
    XTicks(f, [0.5, 1, 1.5], SLATE, 1),
    YTicks(f, [0.5, 1, 1.5], SLATE, 1),
    Seg(at(f, 0, 0), at(f, 1.6, 1.6), SLATE, 3),
    Name("y = x", at(f, 0.95, 1.38), 0.8, SLATE),
    center{[fx(f, 1.0), fy(f, 1.6) + 0.6, 0]} Cap(title, 0.76)
]
mesh panels = [Panel(fl, "x in radians"), Panel(fr, "x in degrees")]
mesh curves = [
    Graph(fl, |x| sin(x), 0, 1.6, EMBER),
    Graph(fr, |x| sin(rad(x)), 0, 1.6, EMBER),
    Name("y = \sin x", at(fl, 1.22, 0.6), 0.8, EMBER),
    Name("y = \sin x^\circ", at(fr, 1.05, 0.24), 0.8, EMBER)
]

Uses the shared definitions for this lesson's figures.

This is the reason calculus insists on radians. The derivative of sine at 0 is the slope at which its graph leaves the origin, and in radians that slope is 1. The full statement, that the derivative of $\sin\theta$ is $\cos\theta$, rests on exactly this limit. In degrees every such formula would carry a factor of $\frac{\pi}{180}$. Radians are the unit in which the arc of the unit circle and the angle are the same number, and that is why nothing needs converting.

Where the formulas stop working

The small-angle rule is for small angles. At $\theta = 0.2$ the estimate $\theta$ is above the true value $\sin 0.2 \approx 0.1987$ by under 1 percent of that value (by $0.67$ percent). At $\theta = 1$ the estimate is 19 percent above $\sin 1 \approx 0.8415$, and at $\theta = \pi$ the sine is 0 while the angle is $3.14$. The theorem itself is limited to $0 < \theta < \frac{\pi}{2}$, where the triangle $OAT$ exists.

The sector formulas hold for $0 \le \theta \le 2\pi$. The arc formula $s = r\theta$ continues to make sense beyond that if $s$ means the distance traveled by a point on the rim of a turning wheel, which can go around more than once.

Looking back

The difficulty was finding a measure of angle that does not depend on a human choice such as 360. Arc length alone failed because it changes with the size of the circle, and dividing by the radius removed that dependence. The same move, forming a ratio of two lengths to get a number that survives scaling, is what made sine and cosine properties of an angle in the first place.

What the ratio buys is that angle and arc become interchangeable on the unit circle. Arc length, sector area and the small-angle behavior of sine all lose their conversion factors. From here on in this series, and throughout calculus, an angle with no degree sign is in radians.

Check yourself

A circle has radius 4. How long is the arc cut off by a central angle of 90°?

Problems

Problem 1

Convert to radians: (a) 36°, (b) 210°. Convert to degrees: (c) $\frac{5\pi}{12}$, (d) $2.5$ radians.

Show solutionHide solution

(a) $36 \times \frac{\pi}{180} = \frac{\pi}{5} \approx 0.628$. (b) $210 \times \frac{\pi}{180} = \frac{7\pi}{6} \approx 3.665$. (c) $\frac{5\pi}{12} \times \frac{180°}{\pi} = \frac{5 \times 180°}{12} = 75°$. (d) $2.5 \times \frac{180°}{\pi} \approx 2.5 \times 57.296° \approx 143.2°$. As a check on (d), $2.5$ is a bit less than $\pi \approx 3.14$, and $143.2°$ is a bit less than 180°.

Problem 2

A circle has radius 6 cm. Find the arc length and the area of a sector with central angle $2.5$ radians.

Show solutionHide solution

$s = r\theta = 6 \times 2.5 = 15$ cm. $A = \frac{1}{2}r^2\theta = \frac{1}{2} \times 36 \times 2.5 = 45$ cm². Check with $A = \frac{1}{2}rs = \frac{1}{2} \times 6 \times 15 = 45$.

Problem 3

An arc of length 10 cm lies on a circle of radius 4 cm. What angle does it span at the center, in radians and in degrees? What is the area of its sector?

Show solutionHide solution

$\theta = \frac{s}{r} = \frac{10}{4} = 2.5$ radians, which is $2.5 \times \frac{180°}{\pi} \approx 143.2°$. The area is $\frac{1}{2}rs = \frac{1}{2} \times 4 \times 10 = 20$ cm². (The same angle as in the previous problem on a smaller circle: the arc and the area changed, the ratio $s/r$ did not.)

Problem 4

A round pizza 30 cm across is cut into 8 equal slices. Find the length of the crust on one slice and the area of the slice.

Show solutionHide solution

The radius is 15 cm and each slice has angle $\frac{2\pi}{8} = \frac{\pi}{4}$ radians. The crust is the arc: $s = 15 \times \frac{\pi}{4} = \frac{15\pi}{4} \approx 11.8$ cm. The area is $\frac{1}{2} \times 15^2 \times \frac{\pi}{4} = \frac{225\pi}{8} \approx 88.4$ cm². Check: the whole pizza has area $225\pi \approx 706.9$ cm², and one eighth of that is $88.4$ cm².

Problem 5

A bicycle wheel has radius $0.35$ m and rolls without slipping, so that the distance the bicycle travels equals the length of rim that has touched the road. (a) How far does the bicycle go while the wheel makes 20 full turns? (b) Through how many radians, and how many full turns, does the wheel rotate over 100 m?

Show solutionHide solution

(a) Twenty turns is $20 \times 2\pi = 40\pi$ radians, and the rim length rolled out is $s = r\theta = 0.35 \times 40\pi = 14\pi \approx 44.0$ m. (b) $\theta = \frac{s}{r} = \frac{100}{0.35} \approx 285.7$ radians. Dividing by $2\pi \approx 6.283$ gives about $45.5$ turns. Here $\theta$ is far larger than $2\pi$, which is fine: the wheel has gone around many times and $s = r\theta$ counts all of it.

Problem 6

A nautical mile was originally defined as the distance along the Earth’s surface that corresponds to one sixtieth of a degree of latitude. Taking the Earth to be a sphere of radius 6371 km, find the length of a nautical mile in kilometers.

Show solutionHide solution

Latitude is an angle at the center of the Earth, and moving north along the surface traces an arc of a circle of radius 6371 km. The angle is $\frac{1}{60}° = \frac{1}{60} \times \frac{\pi}{180} = \frac{\pi}{10800} \approx 0.00029089$ radians. So $s = r\theta \approx 6371 \times 0.00029089 \approx 1.853$ km. (The modern nautical mile is fixed at exactly $1.852$ km.)

Problem 7

Without using a sine key, estimate $\sin 3°$. Use the theorem $\cos\theta < \frac{\sin\theta}{\theta} < 1$ to explain why your estimate is slightly too large and, given that $\cos 3° \approx 0.9986$, to bound how far off it can be. Why is the answer “about 3” impossible?

Show solutionHide solution

Convert to radians: $3° = \frac{3\pi}{180} = \frac{\pi}{60} \approx 0.05236$. By the small-angle rule $\sin 3° \approx 0.05236$. The theorem says $\sin\theta < \theta$ for $0 < \theta < \frac{\pi}{2}$, so the true value is below the estimate. Its other half, $\sin\theta > \theta\cos\theta$, gives $\sin 3° > 0.05236 \times 0.9986 \approx 0.05229$. So $0.05229 < \sin 3° < 0.05236$, and the estimate is too large by less than $0.00008$, which is under $0.15$ percent. (A calculator gives $0.05234$.) The answer 3 is impossible because a sine is the height of a point on the unit circle and cannot exceed 1. It comes from applying $\sin\theta \approx \theta$ with the angle in degrees, where the correct rule is $\sin x° \approx \frac{\pi}{180}x$.

Problem 8

A chord of the unit circle spans a central angle $\theta$ with $0 < \theta < \pi$. (a) Show that the chord has length $2\sin\frac{\theta}{2}$. (b) Deduce from this lesson’s theorem that the chord is shorter than its arc. (c) Check both parts for $\theta = \frac{\pi}{3}$.

Show solutionHide solution

(a) Join the ends of the chord to the center. This makes a triangle with two sides of length 1 and the angle $\theta$ between them. The line from the center to the midpoint of the chord splits it into two congruent right triangles (they have the same three side lengths), each with hypotenuse 1 and angle $\frac{\theta}{2}$ at the center. The side opposite that angle is half the chord, and in a right triangle with hypotenuse 1 the opposite side is the sine of the angle. So half the chord is $\sin\frac{\theta}{2}$ and the chord is $2\sin\frac{\theta}{2}$.

(b) The arc has length $r\theta = \theta$. Since $0 < \frac{\theta}{2} < \frac{\pi}{2}$, the theorem gives $\sin\frac{\theta}{2} < \frac{\theta}{2}$, and doubling, $2\sin\frac{\theta}{2} < \theta$.

(c) For $\theta = \frac{\pi}{3}$ (60°) the chord is $2\sin\frac{\pi}{6} = 2 \times \frac{1}{2} = 1$, which matches the equilateral triangle in the lesson, and the arc is $\frac{\pi}{3} \approx 1.047 > 1$.

Problem 9

A piece of wire of length 20 cm is bent into the outline of a sector: two radii and an arc. Which radius and angle give the sector the largest possible area, and what is that area?

Show solutionHide solution

Let the radius be $r$ and the angle $\theta$ radians. The outline has length $2r + r\theta = 20$, so the arc is $s = r\theta = 20 - 2r$. Using $A = \frac{1}{2}rs$,

$$ A = \tfrac{1}{2} r (20 - 2r) = 10r - r^2. $$

To find the largest value, complete the square: $10r - r^2 = 25 - (r - 5)^2$. The squared term is never negative, so $A \le 25$, with equality exactly when $r = 5$. Then the arc is $s = 20 - 10 = 10$ and the angle is $\theta = \frac{s}{r} = 2$ radians, which is allowed since $2 < 2\pi$. The best sector has radius 5 cm, angle 2 radians (about $114.6°$), and area 25 cm². The answer $\theta = 2$ does not depend on the length of the wire: with perimeter $p$ the same steps give $r = \frac{p}{4}$, $s = \frac{p}{2}$ and again $\theta = 2$.

Shared definitions used by this lesson's figures
# house kit: prepended to every essay figure after the std imports

# palette. AZURE and EMBER are the two actors, LEAF marks an answer, ROSE a problem
let PAPER = [1, 1, 1, 1]
let INK = [0.08, 0.09, 0.11, 1]
let SLATE = [0.40, 0.44, 0.50, 1]
let MIST = [0.85, 0.86, 0.88, 1]
let AZURE = [0.13, 0.42, 0.68, 1]
let EMBER = [0.89, 0.42, 0.12, 1]
let LEAF = [0.13, 0.55, 0.36, 1]
let ROSE = [0.78, 0.22, 0.24, 1]
let PLUM = [0.47, 0.30, 0.66, 1]
let GOLD = [0.85, 0.62, 0.08, 1]

background = PAPER

# an opaque pastel of col; use for fills so overlaps do not darken
let tint = |col, amount = 0.18| [
    1 - (1 - col[0]) * amount,
    1 - (1 - col[1]) * amount,
    1 - (1 - col[2]) * amount,
    1
]

# text: Cap for labels, Note for quiet labels, Math for typeset maths
let Cap = |txt, size = 0.75, col = INK| color{col} Text(txt, size, "Charter")
let Note = |txt, size = 0.65| color{SLATE} Text(txt, size, "Charter")
let Math = |tex, size = 0.9, col = INK| color{col} Tex(tex, size)

# a paper rectangle to sit behind text that crosses lines
let Plate = |pos, size| center{pos} fill{PAPER} stroke{alpha{0} PAPER, 0} Rect(size)

# shapes with fill and stroke both set, so no stray black appears
let Pt = |pos, col = INK, r = 0.075| center{pos} fill{col} stroke{col, 1} Circle(r, 48)
let Ring = |pos, col = INK, r = 0.1, w = 3| center{pos} fill{PAPER} stroke{col, w} Circle(r, 48)
let Seg = |a, b, col = INK, w = 3| stroke{col, w} Line(a, b)
let Path = |pts, col = INK, w = 3| stroke{col, w} Polyline(pts)
let Region = |pts, col| fill{col} stroke{alpha{0} col, 0} Polygon(pts)
let Outline = |pts, col = INK, w = 3| fill{alpha{0} PAPER} stroke{col, w} Polygon(pts)
let Shape = |pts, col, amount = 0.18, w = 3| fill{tint(col, amount)} stroke{col, w} Polygon(pts)
let Disc = |pos, r, col, amount = 0.18, w = 3| center{pos} fill{tint(col, amount)} stroke{col, w} Circle(r, 96)
let Box = |pos, size, col, amount = 0.18, w = 3| center{pos} fill{tint(col, amount)} stroke{col, w} Rect(size)
# a line from a to b ending in a small solid arrowhead
let Tip = |a, b, col = INK, w = 3, head = 0.17| {
    let d = normalize([b[0] - a[0], b[1] - a[1], 0])
    let n = [-d[1], d[0], 0]
    let base = [b[0] - d[0] * head, b[1] - d[1] * head, 0]
    return [
        stroke{col, w} Line(a, base),
        fill{col} stroke{col, 1} Polygon([
            b,
            [base[0] + n[0] * head * 0.42, base[1] + n[1] * head * 0.42, 0],
            [base[0] - n[0] * head * 0.42, base[1] - n[1] * head * 0.42, 0]
        ])
    ]
}

# plots. a frame is [x0, x1, y0, y1, centre, width, height]: a data window and the scene box it fills
let Frame = |x0, x1, y0, y1, c = [0, 0, 0], w = 6.4, h = 3.6| [x0, x1, y0, y1, c, w, h]
let fx = |fr, x| fr[4][0] + (x - (fr[0] + fr[1]) / 2) * fr[5] / (fr[1] - fr[0])
let fy = |fr, y| fr[4][1] + (y - (fr[2] + fr[3]) / 2) * fr[6] / (fr[3] - fr[2])
let at = |fr, x, y| [fx(fr, x), fy(fr, y), 0]

# axes through the data origin (or the nearest edge of the window), with optional names
let Axes = |fr, x_name = "", y_name = "", col = SLATE| {
    let ox = clamp(fr[0], 0, fr[1])
    let oy = clamp(fr[2], 0, fr[3])
    var parts = [
        Tip(at(fr, fr[0], oy), [fx(fr, fr[1]) + 0.25, fy(fr, oy), 0], col, 2.5, 0.15),
        Tip(at(fr, ox, fr[2]), [fx(fr, ox), fy(fr, fr[3]) + 0.25, 0], col, 2.5, 0.15)
    ]
    if (x_name != "") {
        parts .= center{[fx(fr, fr[1]) + 0.5, fy(fr, oy), 0]} Math(x_name, 0.8, col)
    }
    if (y_name != "") {
        parts .= center{[fx(fr, ox), fy(fr, fr[3]) + 0.5, 0]} Math(y_name, 0.8, col)
    }
    return parts
}

# tick marks with numbers at the listed data values
let XTicks = |fr, xs, col = SLATE, places = 0| block {
    let oy = fy(fr, clamp(fr[2], 0, fr[3]))
    for (x in xs) {
        . Seg([fx(fr, x), oy - 0.07, 0], [fx(fr, x), oy + 0.07, 0], col, 2)
        . center{[fx(fr, x), oy - 0.33, 0]} Math(to_string(x, places), 0.72, col)
    }
}
let YTicks = |fr, ys, col = SLATE, places = 0| block {
    let ox = fx(fr, clamp(fr[0], 0, fr[1]))
    for (y in ys) {
        . Seg([ox - 0.07, fy(fr, y), 0], [ox + 0.07, fy(fr, y), 0], col, 2)
        . center{[ox - 0.36, fy(fr, y), 0]} Math(to_string(y, places), 0.72, col)
    }
}

# faint grid lines at the listed data values
let GridLines = |fr, xs, ys, col = MIST| block {
    for (x in xs) {
        . Seg(at(fr, x, fr[2]), at(fr, x, fr[3]), col, 1.5)
    }
    for (y in ys) {
        . Seg(at(fr, fr[0], y), at(fr, fr[1], y), col, 1.5)
    }
}

# the graph of f over [a, b], drawn in the frame. values are clamped to the window
let Graph = |fr, f, a, b, col = AZURE, w = 4, n = 160|
    stroke{col, w} Polyline(map(sample(a, b, n), |x| at(fr, x, clamp(fr[2], f(x), fr[3]))))

# the region between the graph of f and the x axis over [a, b]
let AreaUnder = |fr, f, a, b, col = AZURE, amount = 0.2, n = 80| {
    var pts = [at(fr, a, 0)]
    for (x in sample(a, b, n)) {
        pts .= at(fr, x, clamp(fr[2], f(x), fr[3]))
    }
    pts .= at(fr, b, 0)
    return fill{tint(col, amount)} stroke{alpha{0} col, 0} Polygon(pts)
}

let dir = |th| [cos(th), sin(th), 0]
let rad = |d| d * PI / 180
let pol = |o, r, t| [o[0] + r * cos(t), o[1] + r * sin(t), 0]
let ArcPath = |o, r, a, b, col = SLATE, w = 2.5| {
    let n = to_int(max(2, min(120, ceil(abs(b - a) * r / 0.05))))
    return stroke{col, w} Polyline(map(sample(a, b, n), |t| pol(o, r, t)))
}
let Wedge = |p, t0, sw, col, r = 0.5| fill{tint(col, 0.5)} stroke{col, 2.5} Polygon(block {
    . p
    for (t in sample(t0, t0 + sw, to_int(max(8, ceil(abs(sw) * 14))))) {
        . p + r * dir(t)
    }
})
let Name = |txt, pos, size = 0.8, col = INK| center{pos} Math(txt, size, col)
let Square90 = |p, s, t, col = INK, k = 0.2| stroke{col, 2.5} Polyline([p + k * s, p + k * s + k * t, p + k * t])