Bicubic Patches

By taking a set of four cubic curves with parameter \(s\) and using these four curves to generate a set of four control points for any given value of \(s\), and then using these control points to define a parametric curve with parameter \(t\) we can generate a surface called a bicubic patch.

The patch is defined by the sixteen control points defining the four curves, and can be written as

$$Q(s,t)=\begin{pmatrix}t^3&t^2&t&1\end{pmatrix}M\begin{pmatrix}q_1(s)\\q_2(s)\\q_3(s)\\q_4(s)\end{pmatrix}$$

where \(M\) is the matrix describing the cubic curve (e.g. the Bezier matrix from the slides). Here each control point \(q_1(s),\ldots,q_4(s)\) is itself a point on a cubic curve with parameter \(s\), these are the curves shown in red in the figure above. For any value of \(s\) this gives us four control points that are used to define a cubic curve (shown in blue above, with control points as black circles). Varying \(s\) between zero and one and drawing the corresponding curve each time for t between zero and one produces a surface. To draw these surfaces we typically evaluate \(Q(s,t)\) for equally spaced values of \(s\) and \(t\) between zero and one, and then render these as a triangular mesh.