Page 1: Introduction: What is a Curve, Anyway?
Spring 2026 Sample Solution
So far, everything we’ve drawn is made of either straight lines or elliptical arcs. (Aside: Why These?) You can make elliptical arcs by applying affine transformations to circular arcs. In Canvas and SVG you can put lines and arcs together to make combined shapes. In this workbook, we’ll ask the question “what about other shapes?”
A fundamental problem in Computer Graphics is how to represent shape. This problem goes beyond Computer Graphics. The field of Shape Modeling or Geometric Modeling considers how we represent shapes mathematically so we can process them with computers, analyze them, or even just talk about them formally.
Shape modeling is essential to Computer Graphics. But it is also essential to other fields such as mechanical and industrial design, where they need to represent shapes in order to create them. In Computer Graphics, the main thing we do with shapes is make pictures of them. The focus on drawing pictures means we have different needs for how we represent shapes.
If you notice, I’m avoiding defining the word “shape”. While it’s an intuitive concept, defining it in a formal way turns out to be quite tricky. This leads to complex mathematical definitions that won’t help us that much.
I often like to think of a shape as a set of points. It is usually an infinite set. Whether it is a line on the screen, or my car, the “shape” is a set of points. The task of shape representation is to represent that set in a manner that allows us to compute over it to do the things we need to (in this class, it’s usually to draw a picture).
Shape and Dimensionality
Warning: I am trying to say this in a non-mathematical way, since if we want to be precise mathematically, it gets complicated quickly.
When we talk about a shape, there are two different “dimensions” that are involved: the space it is embedded in (where the points live), and the dimensionality of the shape itself (how the points are connected). When I am drawing pictures on the screen or page, the points are in 2D. The shape itself might be 2D (the area inside of a closed region), it might be 1D (such as the boundary of a closed shape), or it might actually just be 0D (just a point, or collection of disconnected points).
So, consider this picture. It has a bunch of shapes in 2D.
Let’s consider the blue triangle. It “lives” in the 2D space of the page/screen. We can talk about the area (2D) inside of the triangle (the blue region). We can talk about the boundary of the triangle and the rest of the 2D plane (the screen), which is 1D. Or we can consider one of the corners of the triangle (an individual point, 0D).
The “circle” is similar. Technically, the green “inside” is the disk (that is the mathematical technical term), and circle refers to the thin 1D shape that is the boundary of the disk and the rest of the plane. Of course, colloquially we might use the term circle more broadly.
But the point here is that there are 0D, 1D and 2D sets of points that “live” in the 2D space of the screen (the plane). The formality of what makes it 1D or 2D is mathematical, but we can rely on our intuition of what we mean.
We will use the term curve for these 1D objects - no matter what space they live in.
Think of curves as something you can draw with a pen. For this workbook, we’ll be considering curves in 2D (so the tip of the pen is on a piece of paper). Almost everything applies to curves in higher dimensions (for example, if we recorded the position of the pen in 3D space).
In the picture, the black things are curves. For the triangle, circle, and purple blobby thing, they are boundaries between the inside and the outside of something. However, for the line segment and the squiggle on the left, it’s just a set of positions that the pen visited.
The “pen” that creates the curve is infinitely thin. We draw some thickness so we can see it, but conceptually, the curve is “thin.” With an infinitely thin pen, we really cannot fill areas (there is a mathematical concept of a “space-filling curve”), but we can trace around the edge of them.
Important: the curve is a 1D object that lives in some dimension.
Another way to think about a curve is as a set of points where points have 2 or fewer neighbors, and almost all of the points have exactly 2 neighbors. Think about the line segment: any point on the line has the next and previous point the pen would draw, except for the ends (there are exactly 2 points with 1 neighbor). Some curves (like the boundary of the circle, triangle or blob in the picture) have no endpoints (all their points have two neighbors).
Describing Curves
Some curves have names so it is easy to describe them. I can say “circle” and you know what I am talking about. I need to specify some parameters like the center and radius of the circle, or the end points of the line segment, but for these simple shapes it is easy to describe them exactly. The harder problem is specifying curves that don’t have known names. Like the squiggle or the blobby thing.
We refer to a curve that doesn’t have a simple “name” as a free-form curve. Our goal in this workbook is to understand flexible ways of representing curves that will allow us to create (and draw) free-form curves.
Because curves are infinite sets, they can be hard to specify.
There are three main ways to specify curves (and other shapes) mathematically:
- Implicit: We define the set of points by a “test” that determines whether or not a point is part of the curve. This test usually takes the form of a function that we check for a specific value (often 0).
- Parametric: We define the set of points by generating it as a function of “time” (the free parameter): where is the pen at time t? This takes the form of a function that takes time as its parameter and maps this to a position in space
- Subdivision: We define the (infinite) set of points by an initial set of points, and a procedure or rule that generates new points based on the existing set. To get the infinite set of points that is the shape, we apply the rule infinitely many times.
We will explain each of these on the next 3 pages, and then we’ll compare them on Page 5 (Types of Curves: How to Choose?) to understand why we might choose one over another.
But, a spoiler: in computer graphics, we usually use parametric representations for curves, and that will be the focus of this workbook (after the first pages that introduce the other types). For surface modeling, we make different choices.
(optional) If you want to see lectures about this, including a quick overview of the types of curves:
Part of 2023 Lecture 9 | Slides