5. Vector-valued functions and space curves
§9.3 wrote a line as \vec r(t)=\vec r_0+t\vec v — a vector that depends on a parameter t. Let each component be any function of t, not just a straight-line combination, and the result is a vector-valued function: a curve in three-dimensional space, with all of §6.0's parametric-curve calculus carried over almost unchanged, just with a third coordinate along for the ride.
Vector-valued functions
\vec r(t)=\langle x(t),y(t),z(t)\rangle
As t varies, \vec r(t) traces a space curve — the direct three-dimensional generalization of §6.0's plane curves. A classic example, the helix:
\vec r(t)=\langle\cos t,\sin t,t\rangle
The first two components trace a circle (§6.0's parametrized circle), while the third component climbs steadily — the combination spirals upward like a corkscrew or a spring.
Limits, continuity, and derivatives — componentwise
Every calculus operation on \vec r(t) is defined componentwise: apply the operation to each coordinate function separately, then reassemble into a vector.
\lim_{t\to a}\vec r(t)=\left\langle\lim_{t\to a}x(t),\ \lim_{t\to a}y(t),\ \lim_{t\to a}z(t)\right\rangle
\vec r'(t)=\langle x'(t),y'(t),z'(t)\rangle
Nothing new needs deriving here — every limit law from §1.1 and every differentiation rule from Module 2 already applies to each coordinate individually; a vector-valued function is just three (or two) ordinary functions, bundled together and processed in parallel.
The tangent vector
\vec r'(t), evaluated at a specific t=t_0, is the tangent vector to the space curve at that point — it points in the curve's instantaneous direction of travel, exactly the way f'(x_0) gave a tangent line's slope back in §2.0, just now carrying full three-dimensional direction information instead of a single number. The tangent line to the curve at t_0 is then §9.3's line construction, using \vec r(t_0) as the point and \vec r'(t_0) as the direction vector:
\vec L(s)=\vec r(t_0)+s\,\vec r'(t_0)
This single formula unifies two constructions from earlier modules: \vec r'(t)\ne\vec0 is exactly the "not both derivatives zero simultaneously" smoothness condition from §6.0, now stated in vector form, and finding a tangent line to a 3D curve is §9.3's line-through-a-point- with-a-direction, with the direction supplied by differentiation instead of being given outright.
Differentiation rules carry over
The product rule for the dot product, and its analogue for the cross product:
\frac{d}{dt}\big[\vec u(t)\cdot\vec v(t)\big]=\vec u'(t)\cdot\vec v(t)+\vec u(t)\cdot\vec v'(t)
\frac{d}{dt}\big[\vec u(t)\times\vec v(t)\big]=\vec u'(t)\times\vec v(t)+\vec u(t)\times\vec v'(t)
— exactly §2.3's product rule, applied to vector products instead of ordinary multiplication (note the cross-product version must preserve order, since §9.2 established the cross product isn't commutative).
A useful consequence: if |\vec r(t)| is constant (the curve stays a fixed distance from the origin, tracing something like a sphere), then \vec r(t)\cdot\vec r'(t)=0 for every t — differentiate \vec r(t)\cdot\vec r(t)=|\vec r(t)|^2=\text{constant} using the dot-product rule above, and the constant's derivative is 0. Constant-speed motion along a curve of constant distance from the origin always has a velocity vector perpendicular to the position vector — a geometric fact that falls straight out of the product rule, with no separate geometric argument required.
Integration — also componentwise
\int\vec r(t)\,dt=\left\langle\int x(t)\,dt,\ \int y(t)\,dt,\ \int z(t)\,dt\right\rangle+\vec C
with \vec C an arbitrary constant vector (§4.0's +C, one component per coordinate). This is how §9.5 recovers position from a known velocity or acceleration vector — precisely the same "derivative and antiderivative undo each other" relationship from the Fundamental Theorem (§4.3), applied three times in parallel.
Doing it in Python
The helix's tangent vector, and the tangent line at t=\frac\pi2:
import sympy as sp
t = sp.Symbol('t')
r = sp.Matrix([sp.cos(t), sp.sin(t), t])
r_prime = r.diff(t)
print(f"r(t) = {r.T}")
print(f"r'(t) = {r_prime.T}")
t0 = sp.pi / 2
point = r.subs(t, t0)
direction = r_prime.subs(t, t0)
print(f"\nat t = pi/2: point = {point.T}, direction = {direction.T}")
Confirming the product rule for dot products, and the perpendicularity result for a curve of constant distance from the origin:
import sympy as sp
t = sp.Symbol('t')
r = sp.Matrix([sp.cos(t), sp.sin(t), 0]) # constant |r(t)| = 1, a unit circle
speed_squared = sp.simplify(r.dot(r))
print(f"|r(t)|^2 = {speed_squared} (constant, so this curve stays distance 1 from the origin)")
r_prime = r.diff(t)
perpendicularity_check = sp.simplify(r.dot(r_prime))
print(f"r(t) . r'(t) = {perpendicularity_check} (identically 0, as the product-rule argument predicts)")
Recovering position from a velocity vector by componentwise integration:
import sympy as sp
t, C1, C2, C3 = sp.symbols('t C1 C2 C3')
velocity = sp.Matrix([-sp.sin(t), sp.cos(t), 1])
position = sp.Matrix([sp.integrate(v, t) for v in velocity]) + sp.Matrix([C1, C2, C3])
print(f"position(t) = {position.T}")
print("matches the helix r(t) = <cos(t)+C1, sin(t)+C2, t+C3> up to the constants")
Worked example
Find the tangent line to the helix $\vec r(t)=\langle\cos t,\sin t,t\rangle$ at t=\frac\pi2.
\vec r'(t)=\langle-\sin t,\cos t,1\rangle
At t_0=\frac\pi2:
\vec r\left(\frac\pi2\right)=\left\langle\cos\frac\pi2,\sin\frac\pi2,\frac\pi2\right\rangle=\left\langle0,1,\frac\pi2\right\rangle
\vec r'\left(\frac\pi2\right)=\left\langle-\sin\frac\pi2,\cos\frac\pi2,1\right\rangle=\langle-1,0,1\rangle
\boxed{\vec L(s)=\left\langle0,1,\frac\pi2\right\rangle+s\langle-1,0,1\rangle=\left\langle-s,\,1,\,\frac\pi2+s\right\rangle}
Sanity check. The tangent direction \langle-1,0,1\rangle has zero y-component — meaning the tangent line momentarily doesn't move in the y-direction at all. That matches the geometry: at t=\frac\pi2, the circular part of the helix is at its topmost point (y=1, the maximum of \sin t), where \frac{dy}{dt}=\cos t=0 — a horizontal tangent in the y-direction is exactly what §2's "derivative zero at a max" fact predicts, now showing up as one component of a 3D tangent vector rather than as a 2D horizontal-tangent condition. ✓
Your turn
1. Find \vec r'(t) for \vec r(t)=\langle t^2,e^t,\sin t\rangle.
2. Find the tangent line to \vec r(t)=\langle t,t^2,t^3\rangle at t=1.
3. True or false: if \vec r'(t)=\vec0 for some specific t=t_0, the curve necessarily has a sharp corner there.
Solutions
1. Differentiate each component separately:
\boxed{\vec r'(t)=\langle2t,\,e^t,\,\cos t\rangle}
2. \vec r'(t)=\langle1,2t,3t^2\rangle. At t=1: \vec r(1)=\langle1,1,1\rangle, \vec r'(1)=\langle1,2,3\rangle.
\boxed{\vec L(s)=\langle1,1,1\rangle+s\langle1,2,3\rangle=\langle1+s,\,1+2s,\,1+3s\rangle}
3. False. \vec r'(t_0)=\vec0 means the curve's parametrization momentarily has zero speed at that instant — exactly the same "both derivatives zero at once" degeneracy flagged in §6.0 for plane curves. It can correspond to a cusp (a sharp corner, like §6.0's example x=t^2,y=t^3 at t=0), but it doesn't have to: the curve could simply be momentarily paused and then continue smoothly in the same direction (think of a ball thrown straight up, momentarily stopping at its peak before continuing along the same vertical line) — no corner at all, just a pause in speed with no change in direction.
Check yourself in code
For the helix \vec r(t)=\langle\cos t,\sin t,t\rangle, compute \vec r'(t) and evaluate the point and tangent direction at t=\frac\pi2.
Print exactly this:
r'(t) = [-sin(t), cos(t), 1]
point at t=pi/2 = [0, 1, pi/2]
direction at t=pi/2 = [-1, 0, 1]
import sympy as sp
t = sp.Symbol('t')
r = sp.Matrix([sp.cos(t), sp.sin(t), t])
r_prime = r.diff(t)
print("r'(t) = ...")
t0 = sp.pi / 2
point = r.subs(t, t0)
direction = r_prime.subs(t, t0)
print("point at t=pi/2 = ...")
print("direction at t=pi/2 = ...")
import sympy as sp
t = sp.Symbol('t')
r = sp.Matrix([sp.cos(t), sp.sin(t), t])
r_prime = r.diff(t)
print(f"r'(t) = {list(r_prime)}")
t0 = sp.pi / 2
point = r.subs(t, t0)
direction = r_prime.subs(t, t0)
print(f"point at t=pi/2 = {list(point)}")
print(f"direction at t=pi/2 = {list(direction)}")
A vector-valued function \vec r(t)=\langle x(t),y(t),z(t)\rangle traces a space curve, and every calculus operation — limits, derivatives, integrals — works componentwise, so nothing from Modules 1–4 needs reinventing, only reassembling three coordinates at a time. The derivative \vec r'(t) supplies a tangent vector, feeding directly into §9.3's line construction, and the dot- and cross-product rules mirror §2.3's ordinary product rule exactly, with order preserved for the non-commutative cross product.
Next: giving \vec r(t) a physical meaning — position over time — and extracting velocity, acceleration, and the actual distance traveled along a curved path.