Case Study: Coons Patch Reconstruction


As a research assistant for an exhibition on post-War computational design practices, with the curator (and my master’s thesis advisor) Daniel Cardoso Llach, I worked on a software program to visualize a mathematical formula for creating freeform, 3-dimensional surfaces. The formula, which takes in four boundary curves joined at the endpoints, produces from them a surface called a Coons patch, named for mathematician and designer Steven A. Coons. Coons patches (or surfaces) provide a succinct digital representation of complex forms. Rather than storing all the coordinates of a large number of points on a freeform surface, as in a mesh representation, Coons patches are defined by the parametrization of the surface’s boundary curves (which might be comprised of as few as 3 or 4 points in 3-dimensional space) and the patching formula. In this software program, our goal is to create an interface to reveal the underlying mathematical structure behind these elegant, complex surfaces, and to allow non-technical users to interrogate the relationship between the two.


Screenshot of the Coons patch software reconstruction
Figure: Screenshot of the Coons patch software reconstruction

A single patched surface is presented as a grid of white curves on a black background, paying homage to videos from the early 1970s from the Ford Motor Company’s work using Coons patches. However, where the designers at Ford had to manually encode each coordinate of all the points on the boundary curves inscribing the surface, users of this software benefit from a more embodied, interactive experience. A single button, for example, ‘morphs’ the surface from its current state. The code for this feature chooses random values within a bounded range for each of the endpoints and control points of the boundary curves and moves the points until they reach the new values. Morphing the surface enables a user to quickly see some of the many possible forms a Coons patch might take.

A central element of the interface is a point toggle and the ability to move individual endpoints or control points. Whereas morphing the surface discards the current state in order to present a new, random surface, with this feature a user gains a fine-tuned level of control over the form. From a random surface, a user might decide that they want to make changes to a specific region. By turning on point controls and toggling through the endpoints and control points, they can select the ones that are closest to the region they want to adjust. Then, they can choose an axis (x, y, or z) along which to move the point, using a tactile control knob. Minute adjustments of a point along an axis affect the area closest to that point, while more extreme adjustments affect almost the entire surface. The whole time, the coordinates of the point the user has selected are displayed, revealing the mathematical representation behind the points, curves, and surface, as well as allowing the user to examine the relationship between numeric values and geometric form.

Photograph of Coons patch software showing control knob and keypad
Figure: Photograph of Coons patch software showing control knob and keypad


Interrogation, in this project, is not only on the part of the users prying open the hood of opaque geometries to see the mathematical machinery underneath, but also in my role as the software programmer, against dominant narratives of interface design. In my past experience as a web designer and developer at and for various organizations, a common refrain is ‘ease of use.’ A popular book on web usability, Don’t Make Me Think,1 promotes the philosophy that user experience should be as seamless, obvious, and easy as possible. Surface morphing certainly falls under this approach. But with point toggling and adjusting, I take the stance that, when the ‘user goal’ is not simply transactional, but toward acquiring and expanding knowledge, a degree of awkwardness and interruption can be more memorable and helpful than a perfectly smooth experience. In fact, the experience of fiddling with a single endpoint or control point, moving it along the x-axis, then the z-axis, then a bit back on the y-axis, etc. is very similar to the experience of a beginner programmer, manually experimenting with variables and loops, or that of a designer slowly acquiring facility with a 3d modeling software. The Coons patch formula, supported by its proof, and a few illustrations of unique surfaces might provide an abstract, factual knowledge of how it works, but having an embodied interaction — transforming and hacking the surface by hand — brings about a deeper understanding and helps to engender a mindset of critical questioning.

1. Krug, Steve. Don't make me think!: A common sense approach to Web usability. Pearson Education India, 2000.

results matching ""

    No results matching ""