Page 4: Subdivision Curves
Spring 2026 Sample Solution
Subdivision is the third main type of shape representation.
Subdivision isn’t often used in practice for 2D curves. However, 2D subdivision curves are often used to explain subdivision and show off the math. In 3D, subdivision is one of the primary ways we model surfaces. We’ll discuss them at the end of the semester.
The Subdivision Concept
One way to think about subdivision is as iterative refinement. We start with a crude object and refine it. This is useful because we only need to refine it until it is “good enough”. However, the power of subdivision is that if the refinement step is defined correctly, it will converge to a known shape (in the limit).
Here’s a simple example. We start with a set of points. At every step, we insert a new point halfway between each pair of existing points. You can try it with this demo. Press the “Subdivide” button a few times.
At some point, you will have lots of dots. In the limit, if you do an infinite number of subdivision steps, you will get lines connecting the dots. This is not a good way to generate lines. But it does convey the concept: we keep refining; each step, we get closer to the “continuous” object. And in the (hypothetical) limit, we get the continuous object.
The key concept here is the limit curve - the thing we know we will get if we repeat the process an infinite number of times.
Here’s a slightly different example. Rather than just taking the average of two points, we compute the position of the new points by considering 4 neighbors (two ahead, two behind). If we use to refer to the next point (from the existing points, not the other new points), we can compute:
Here is a slightly more complex scheme, this time using 3 points before and after each point (so a total of 6 points). This provides a smoother curve in the limit. On page Page 8 (Polynomial Pieces) we’ll define smoothness. If you’re curious, the 6-point Deslauriers-Dubuc scheme is C(2), and the 4-point Dyn-Levin scheme is C(1); we’ll explain what that means in the future.
Approximating Subdivision
All three of the schemes I have shown so far keep the old points and simply add new ones. That means that points in the initial set will be in the final set. The resulting curve will go through these points. We call a curve that goes through the points that specify it an interpolating curve. Interpolation is the process of connecting points.
Not all curves are interpolating. Here is an example of a simple subdivision scheme that does not interpolate: Chakin’s corner cutting.
At each step, we replace each point with two new points that “cut the corner” by placing the new points 1/4 of the way along the edges. Try it in the demo: press Subdivide once and see how it chops off the sharp corners by replacing each corner with two new points.
If you keep subdividing, you will keep chopping off corners and the shape will get smoother and smoother. It will also get further and further from the starting points. This is a tradeoff that we will see in parametric curves as well: we are often willing to give up interpolation for other properties that make curves easier to control.
Chakin’s scheme has another interesting property. Its limit curve converges to piecewise polynomials (parametric curves). Given just the initial points, you can convert it to a parametric form. Many useful subdivision schemes have this property. It provides the ability to move between subdivision and parametric representations, so we can get the best of both worlds.
For 2D curves, we usually use parametric forms. However, subdivision will be very important when we get to 3D surfaces because smooth parametric surfaces will turn out to be very complicated.
Next: Page 5 - Types of Curves: How to Choose?