23. Arc length and area for parametric curves

📖 Reading · 10 min
💡 Every code box below is live — edit it and hit Run.

§5.3 built arc length as a limit of straight-line-segment approximations, L=\int\sqrt{1+[f'(x)]^2}\,dx. That formula assumed the curve was y=f(x). §6.0 curves usually aren't. This lesson rebuilds arc length — and area — directly from the parametrization, using the same Pythagorean-theorem argument one level more general.

Arc length, rebuilt for parametric curves

A tiny piece of the curve, from parameter t to t+dt, moves dx=\frac{dx}{dt}dt horizontally and dy=\frac{dy}{dt}dt vertically. Its length, by the Pythagorean theorem — exactly §5.3's argument, unchanged:

ds=\sqrt{(dx)^2+(dy)^2}=\sqrt{\left(\frac{dx}{dt}\right)^2+\left(\frac{dy}{dt}\right)^2}\,dt

Summing over the parameter range [\alpha,\beta]:

L=\int_\alpha^\beta\sqrt{\left(\frac{dx}{dt}\right)^2+\left(\frac{dy}{dt}\right)^2}\,dt

§5.3's formula is the special case x=t, y=f(t): then \frac{dx}{dt}=1 and \frac{dy}{dt}=f'(t), giving \sqrt{1+[f'(t)]^2} back exactly. Parametrizing by x itself was always just one choice among many — this lesson removes that restriction.

Physical reading: if t is time, \sqrt{(dx/dt)^2+(dy/dt)^2} is the particle's speed, and arc length is speed integrated over time — distance traveled, which is exactly what arc length always meant.

Area under a parametric curve

If a parametric curve happens to trace y=f(x) exactly once, monotonically, as t runs from \alpha to \beta, the area formula A=\int y\,dx from §5.0 still applies — just substitute dx=\frac{dx}{dt}dt:

A=\int_\alpha^\beta y(t)\,\frac{dx}{dt}\,dt

Watch the direction of travel. If x decreases as t increases over part of the range, \frac{dx}{dt}<0 there and the integral will produce a negative contribution — the parametric analogue of §4.3's signed area. Some problems need \alpha and \beta chosen (or the integral split) so that x moves consistently in one direction, exactly the way §5.0 needed curves split at their crossings.

Doing it in Python

Arc length of one arch of a cycloid — the path traced by a point on the rim of a rolling wheel, x=r(t-\sin t), y=r(1-\cos t) for t\in[0,2\pi] — a curve that has no natural y=f(x) form at all (it isn't even a function of x, since a vertical line can cross it twice):

import sympy as sp

t, r = sp.symbols('t r', positive=True)
x = r * (t - sp.sin(t))
y = r * (1 - sp.cos(t))

dx_dt = sp.diff(x, t)
dy_dt = sp.diff(y, t)
speed_squared = sp.simplify(dx_dt**2 + dy_dt**2)
print(f"(dx/dt)^2 + (dy/dt)^2 = {speed_squared}")

# 2 - 2cos(t) = 4 sin^2(t/2) via the half-angle identity (sin(t/2) >= 0 on [0, 2pi])
speed = 2 * r * sp.sin(t / 2)
L = sp.integrate(speed, (t, 0, 2 * sp.pi))
print(f"arc length of one arch = {L}")

Area under one arch of the same cycloid:

import sympy as sp

t, r = sp.symbols('t r', positive=True)
x = r * (t - sp.sin(t))
y = r * (1 - sp.cos(t))
dx_dt = sp.diff(x, t)

A = sp.integrate(y * dx_dt, (t, 0, 2 * sp.pi))
print(f"area under one arch = {A}")
print(f"compare to the generating circle's area, pi*r^2 = {sp.pi * r**2}")
print("the cycloid arch encloses exactly 3 times the generating circle")

Verifying §5.3's formula really is the parametric formula's special case, using x=t, y=t^2 on [0,2] — the same curve as y=x^2:

import sympy as sp

t = sp.Symbol('t')
x, y = t, t**2

# parametric route
dx_dt, dy_dt = sp.diff(x, t), sp.diff(y, t)
L_param = sp.integrate(sp.sqrt(dx_dt**2 + dy_dt**2), (t, 0, 2))

# Cartesian route, straight from section 5.3
xc = sp.Symbol('x')
f = xc**2
L_cartesian = sp.integrate(sp.sqrt(1 + sp.diff(f, xc)**2), (xc, 0, 2))

print(f"parametric arc length : {L_param}")
print(f"Cartesian arc length  : {L_cartesian}")
print(f"equal: {sp.simplify(L_param - L_cartesian) == 0}")

Worked example

Find the arc length of the circle x=3\cos t, y=3\sin t for t\in[0,2\pi].

\frac{dx}{dt}=-3\sin t,\qquad\frac{dy}{dt}=3\cos t

\left(\frac{dx}{dt}\right)^2+\left(\frac{dy}{dt}\right)^2=9\sin^2t+9\cos^2t=9\big(\sin^2t+\cos^2t\big)=9

using the Pythagorean identity from §0.4 — the speed is constant, exactly 3, at every instant.

L=\int_0^{2\pi}\sqrt9\,dt=\int_0^{2\pi}3\,dt=3(2\pi)=\boxed{6\pi}

Sanity check. A circle of radius 3 has circumference 2\pi(3)=6\pi by the ordinary geometry formula — an exact match. ✓ And it makes sense that speed came out constant: this parametrization moves around the circle at a uniform rate (equal angles in equal time), so the particle covers equal arc length in equal time throughout — no part of the circle is traced faster than any other.

Your turn

1. Find the arc length of x=t^2, y=t^3 for t\in[0,1].

2. A curve is parametrized by x=2t, y=3t for t\in[0,1] — a straight line. Find its arc length using the parametric formula, and check it against the distance formula directly.

3. True or false: reparametrizing a curve (describing the same path with a different parameter, moving through it at a different "speed" in t) always changes its arc length.

Solutions

1.

\frac{dx}{dt}=2t,\qquad\frac{dy}{dt}=3t^2,\qquad\left(\frac{dx}{dt}\right)^2+\left(\frac{dy}{dt}\right)^2=4t^2+9t^4=t^2(4+9t^2)

L=\int_0^1t\sqrt{4+9t^2}\,dt

Substitute u=4+9t^2, du=18t\,dt; limits u=4 to u=13:

L=\frac1{18}\int_4^{13}\sqrt u\,du=\frac1{18}\left[\frac23u^{3/2}\right]_4^{13}=\frac1{27}\big(13^{3/2}-8\big)=\boxed{\frac{13\sqrt{13}-8}{27}}

2. \frac{dx}{dt}=2, \frac{dy}{dt}=3, constant:

L=\int_0^1\sqrt{4+9}\,dt=\sqrt{13}

Direct check: the path runs from (0,0) to (2,3), distance \sqrt{2^2+3^2}=\sqrt{13}. Matches — a straight-line parametrization at constant speed integrates to exactly the straight-line distance, the degenerate case where the arc-length integral needs no calculus at all.

3. False. Arc length is a property of the path (the set of points traced, each counted once), not of how quickly the parameter moves through it. Retracing the same path faster or slower changes \frac{dx}{dt} and \frac{dy}{dt} individually, but the arc-length integral is built to compensate — it always recovers the same total length, provided the curve is traced through its points the same number of times. (Tracing a loop twice instead of once, however, would double the computed length — that's not a reparametrization, it's a different path.)

Check yourself in code

For the cycloid x=r(t-\sin t), y=r(1-\cos t) with r=1, compute the arc length of one arch (t from 0 to 2\pi) and the area under one arch.

Print exactly this:

arc length of one arch = 8
area under one arch = 3*pi
import sympy as sp

t = sp.Symbol('t')
r = 1
x = r * (t - sp.sin(t))
y = r * (1 - sp.cos(t))

dx_dt = sp.diff(x, t)
speed = 2 * r * sp.sin(t / 2)   # simplified via the half-angle identity
L = sp.integrate(speed, (t, 0, 2 * sp.pi))
print("arc length of one arch = ...")

A = sp.integrate(y * dx_dt, (t, 0, 2 * sp.pi))
print("area under one arch = ...")
import sympy as sp

t = sp.Symbol('t')
r = 1
x = r * (t - sp.sin(t))
y = r * (1 - sp.cos(t))

dx_dt = sp.diff(x, t)
speed = 2 * r * sp.sin(t / 2)   # simplified via the half-angle identity
L = sp.integrate(speed, (t, 0, 2 * sp.pi))
print(f"arc length of one arch = {L}")

A = sp.integrate(y * dx_dt, (t, 0, 2 * sp.pi))
print(f"area under one arch = {A}")

Both arc length and area survive the move to parametric curves by the same substitution: replace dx with \frac{dx}{dt}dt throughout, then integrate over the parameter's range instead of over x. Arc length becomes "speed integrated over time," and §5.3's Cartesian formula turns out to be this one's special case with t=x. The one thing to watch is direction of travel — a parametrization that doubles back in x needs splitting, exactly as a self-crossing region needed splitting back in §5.0.

Next: a different way to break free of y=f(x) — describing a curve by angle and distance from the origin instead of by a parameter at all.