Surfaces

Surfaces are intrinsically two-dimensional objects embedded in three-dimensional space — the surface of a ball, the side of a cylinder, the skin of a torus. We met them briefly when surveying the common types of multivariate functions; here we develop them more formally.

A surface (or parametrized surface) is a continuous, piecewise continuously differentiable map

ϕ:DR2R3,ϕ(u,v)=(x(u,v)y(u,v)z(u,v))\phi : D \subseteq \mathbb{R}^2 \to \mathbb{R}^3, \quad \phi(u, v) = \begin{pmatrix} x(u, v) \\ y(u, v) \\ z(u, v) \end{pmatrix}

that takes two free parameters (u,v)(u, v) and produces a point in 3D space. As (u,v)(u, v) varies over the domain DD, the output traces out a 2D surface embedded in 3D — the two input parameters act like coordinates on the surface itself.

“Piecewise continuously differentiable” here means DD can be split into finitely many subregions on each of which all three components x,y,zx, y, z are of class C1C^1 — derivatives may jump along the seams but stay continuous on each piece. The piecewise allowance is what lets us include surfaces with creases, like the faces of a polyhedron joined along edges.

Unlike an explicit surface z=f(x,y)z = f(x, y) — where the surface is directly the graph of a function — a parametric surface uses two auxiliary parameters with no inherent geometric meaning. That’s what makes it possible to describe shapes like spheres or tori, which cannot be expressed as a single function of xx and yy. The cylinder and the wavy torus visualized when we introduced surfaces are both parametric surfaces in this sense.

Regularity

The two tangent vectors to a surface at a point ϕ(u0,v0)\phi(u_0, v_0) are the partial derivatives

ϕu(u0,v0)=ϕu(u0,v0)andϕv(u0,v0)=ϕv(u0,v0).\phi_u(u_0, v_0) = \frac{\partial \phi}{\partial u}\bigg|_{(u_0, v_0)} \quad\text{and}\quad \phi_v(u_0, v_0) = \frac{\partial \phi}{\partial v}\bigg|_{(u_0, v_0)}.

They record how ϕ\phi moves through 3D space when we wiggle just one parameter at a time, holding the other fixed. When these two vectors are linearly independent, they span the tangent plane to the surface at that point, and their cross product ϕu×ϕv\phi_u \times \phi_v gives a vector perpendicular to that plane — the surface normal.

The surface normal to a surface ϕ\phi at a point ϕ(u0,v0)\phi(u_0, v_0) is the cross product of the two tangent vectors:

ϕu(u0,v0)×ϕv(u0,v0).\phi_u(u_0, v_0) \times \phi_v(u_0, v_0).

It is perpendicular to the tangent plane at that point. Its length tells you how a small patch of parameter-space area dudvdu \, dv scales into surface area at (u0,v0)(u_0, v_0) — a parameter patch of area dudvdu \, dv maps to a surface patch of area ϕu×ϕvdudv\|\phi_u \times \phi_v\| \, du \, dv.

If ϕu\phi_u and ϕv\phi_v ever fail to be linearly independent (one is zero, or they point along the same line), the parametrization is degenerate at that point: the cross product collapses to 0\mathbf{0}, and the surface has no well-defined tangent plane or normal there. Surfaces where this only happens at isolated points get their own name.

A surface ϕ:DR3\phi : D \to \mathbb{R}^3 is called regular if its tangent vectors satisfy

ϕu(u,v)×ϕv(u,v)0for all (u,v)D,\phi_u(u, v) \times \phi_v(u, v) \neq \mathbf{0} \quad \text{for all } (u, v) \in D,

with at most finitely many exceptions allowed. The same term applies to the parametrization itself.

The “finitely many exceptions” clause is what makes the definition usable in practice. Many natural parametrizations have isolated bad points — a sphere parametrized via spherical coordinates on the unit sphere (radius r=1r = 1 fixed, with uu playing the role of the polar angle ϑ\vartheta and vv the azimuth φ\varphi),

ϕ(u,v)=(sinucosvsinusinvcosu),(u,v)[0,π]×[0,2π],\phi(u, v) = \begin{pmatrix} \sin u \cos v \\ \sin u \sin v \\ \cos u \end{pmatrix}, \quad (u, v) \in [0, \pi] \times [0, 2\pi],

collapses at the two poles (u=0u = 0 and u=πu = \pi): there sinu=0\sin u = 0, so varying the azimuth vv doesn’t move you anywhere — the whole vv-line at that uu maps to a single point, ϕv\phi_v vanishes, and the cross product is zero. (This is exactly why the spherical-coordinates definition restricts ϑ\vartheta to the open interval (0,π)(0, \pi) — to excise those collapsing poles up front, the same way the polar-coordinate domain excludes r=0r = 0.) Strict regularity at every point would exclude the sphere from being a regular surface; allowing finitely many exceptions keeps it — and most other surfaces of practical interest — in.

Regularity matters because almost every operation we want to do on a surface — assigning an outward normal, integrating a function over the surface, computing flux — is built on top of ϕu×ϕv\phi_u \times \phi_v. A regular surface is one where those operations are well-defined almost everywhere.

Bézier Surfaces in Computer Graphics

A standard real-world appearance of parametric surfaces is in computer graphics. When a designer wants a smooth surface that follows a cloud of control points Pi,jR3P_{i,j} \in \mathbb{R}^3 — the hood of a car, a character mesh, the side of a font glyph — they reach for a Bézier surface:

p(u,v)=i=0nj=0mBin(u)Bjm(v)Pi,j,(u,v)[0,1]2,p(u, v) = \sum_{i=0}^{n} \sum_{j=0}^{m} B_i^n(u)\, B_j^m(v)\, P_{i,j}, \quad (u, v) \in [0, 1]^2,

The integers nn and mm are the polynomial degrees in uu and vv — the control points form an (n+1)×(m+1)(n + 1) \times (m + 1) grid, so the bicubic patch in the figure below (n=m=3n = m = 3) uses sixteen of them. The output p(u,v)p(u, v) is a single point on the surface, computed as a weighted blend of all the control points: each Pi,jP_{i,j} contributes with weight Bin(u)Bjm(v)B_i^n(u)\, B_j^m(v), the product of two Bernstein polynomials Bin(u)=(ni)ui(1u)niB_i^n(u) = \binom{n}{i} u^i (1 - u)^{n - i}.

That formula has no explicit notion of distance, but proximity is baked into the Bernstein weights: Bin(u)B_i^n(u) peaks at u=i/nu = i/n and decays smoothly toward zero as uu moves away. So Pi,jP_{i,j} dominates the blend when (u,v)(i/n, j/m)(u, v) \approx (i/n,\ j/m) and barely registers far from that grid coordinate. That’s why dragging one control point bends the surface nearby and leaves the rest mostly alone — exactly what an interactive CAD tool needs. Real-world geometry — a car body, a Pixar character — is stitched together from many such patches with continuity conditions at the seams.

Bicubic Bézier patch (n=m=3n = m = 3, sixteen control points). Red dots are the control points Pi,jP_{i,j}, blue lines form the control grid connecting them along uu and vv, and the shaded surface is the resulting p(u,v)p(u,v). Drag any red control point to reshape the surface in real time — the further you pull a point, the more the surface bends in its neighborhood, while the rest barely moves. Drag empty space to orbit.