You may have noticed that there have been a few teapots in these lessons. I hope
you like them because you'll be seeing lots more of them as we go. The teapot
model was created by Martin Newell, one of the pioneers of computer graphics.
Among other accomplishments, he co-developed an early rendering method called
the painter's algorithm and did seminal work in the area of procedural modeling.
He also founded the company Ashlar Incorporated, a computer aided design
software firm. The model was inspired by a real live Melitta teapot,
manufactured in 1974. Back then, there weren't many good models to use for
rendering, especially for displaying materials. Objects made of cubes, cylinders
and spheres and so on, can only take you so far. In 1975, Martin Newell, at the
University of Utah at the time, was talking about this problem with his wife,
Sandra. They were just sitting down for tea, so she suggested that he model a
tea set. He made a sketch of the silhouette on graph paper. The drawing
represented a recognizable profile of a teapot. It doesn't match the real world
teapot. The spout and the knob on the lid are a bit different, for example. He
described these curves by using what are called "cubic bezier splines." A spline is
a fancy word for a type of curve. These spline curves are formed by carefully
placing a few points called "control points". A surface is then formed by using
spline curves in two different directions to define a patch. See the additional
course materials to learn more about this process. To render these patches
interactively, we often convert them into grids of triangles. This type of
modelling is useful for creating all sorts of curved surfaces, such as car
bodies. When Newell created the teapot, he also made some other models to
create a whole set. Not half as well known, the tea cup and saucer make up a
pretty nice little model. At least they look good from this angle. Well, not
great though, there's no shadow. So, the cup looks like it's floating over the
saucer. If you rotate the view, its secret is revealed. There's a large hole in
the middle of it. There's also a teaspoon model, which is pleasing from any view.
I was surprised by how easy it was to display these models, once I had my teapot
demo working. The text files of patch data for the teacup and teaspoon are
available on the web. The time stamp on these files is from 1991. Digital data
doesn't rot. A nice feature of using cubic beziers for the data description is
that the text files were each around 8,000 bytes. For a lot of applications
nowadays, that's less than the size of an empty save file. Let's get back to the
teapot. Like the tea cup, the teapot also didn't originally have a bottom. After
all, a teapot is usually sitting on some tabletop, so doesn't really need one
most of the time. Four patches defining a bottom were added later by Frank Crow
in 1987. Some graphics practitioners consider adding a bottom to be heresy. So,
be careful about what choices you make and whom you show your teapots. One other
obvious difference between the real world and virtual teapots is the vertical
scale. Martin Newell shared his teapot data set with other researchers. His
original sketch's scale matches the real world teapot, but the computer
graphics model evolve to be squatter. I've seen two stories in print about how
this happened and being in print it makes it true, right? The more reputable one
is that Jim Blinn, one of the early users of the teapot data set, decided that the
teapot simply looked more pleasing when squished. The other story I've seen is
that the display Blinn was working on didn't have square pixels. Rather than
mess with the camera's transform, he decided to scale down the teapot vertically
to compensate. I like this version a lot, since Blinn has a well-known quote of:
"All it takes is for the rendered image to look right." I asked Martin Newell
about these two stories and he thinks the non-square pixels may have been the
original reason, but that Blinn's aesthetic sense could well have kept the model
that way. Martin himself prefers the squat version. Speaking of looking right,
there is a noticeable gap between the lid and the body of the teapot. I've taken
the liberty in this course of widening the lid a bit, so that this gap is not
noticeable. Shhh - don't tell anyone. Blinn's use of the teapot in his research
popularized it and the size change stuck. The teapot is a great object to render
for a number of reasons. First and foremost, we have a good mental model of what
the teapot should look like, so can easily identify bugs. The curvature of the
surface varies considerably, especially on the spout and handle, causing the
shading to change in interesting ways. Some of the spline patches form a dense set
of triangles, others less so, which gives some rendering algorithms a workout.
Since the teapot is not some simple convex form, such as a block or cylinder, it
casts a shadow on itself - another good test case. My small contribution to the
cause was an open-source program that generated the teapot. This was back in the
late 1980s, long before the term "open source" even existed. I ported this code
to three.js for this course. Many people consider the teapot a standard model.
Back in 1987, Jim Arvo created this classic image, showing the teapot as the 6th
platonic solid, next to the tetrahedron, cube, and so on. Really, I've seen a lot
more teapots rendered than I have dodecahedra. The teapot is an iconic object
that is the symbol of 3D computer graphics. There are other famous models out
there - the VW Bug, the Stanford bunny, the Sponza Palace. But the teapot is by
far the most celebrated. Keep an eye out for it in the first "Toy Story" movie
and in the Simpson's 3D episode. If you want to see the real teapot in all its
glory, it's on display at the Computer History Museum in Mountain View,
California. Now that you're aware of the teapot, you'll start to notice it
popping up when you least expect it.