Utah teapot

From Infogalactic: the planetary knowledge core
Jump to: navigation, search


A modern rendering of the Utah teapot model.

The Utah teapot, or the Newell teapot, is a 3D computer model that has become a standard reference object (and something of an in-joke) in the computer graphics community. It is a mathematical model of an ordinary teapot of fairly simple shape, that appears solid, cylindrical and partially convex. A teapot primitive is considered the equivalent of a "hello, world" program, as a way to create an easy 3D scene with a somewhat complex model acting as a basic geometry reference for scene and light setup. Many programming libraries even have functions dedicated to drawing teapots.[1]

The teapot model was created in 1975 by early computer graphics researcher Martin Newell, a member of the pioneering graphics program at the University of Utah.[2]

History

Newell needed a moderately simple mathematical model of a familiar object for his work. His wife Sandra Newell suggested modelling their tea service since they were sitting down for tea at the time. He got some graph paper and a pencil, and sketched the entire teapot by eye.[citation needed] Then he went back to the lab and edited bézier control points on a Tektronix storage tube, again by hand.[citation needed]

The actual Melitta teapot that Martin Newell modelled. Residing at The Computer Museum, Boston (1984–1990).
As displayed at the Computer History Museum in Mountain View, California (1990–present).

The teapot shape contains a number of elements that made it ideal for the graphics experiments of the time: it is round, contains saddle points, has a genus greater than zero because of the hole in the handle, can project a shadow on itself, and looks reasonable when displayed without a complex surface texture.

Newell made the mathematical data that described the teapot's geometry (a set of three-dimensional coordinates) publicly available, and soon other researchers began to use the same data for their computer graphics experiments. These researchers needed something with roughly the same characteristics that Newell had, and using the teapot data meant they did not have to laboriously enter geometric data for some other object. Although technical progress has meant that the act of rendering the teapot is no longer the challenge it was in 1975, the teapot continued to be used as a reference object for increasingly advanced graphics techniques.

Over the following decades, editions of computer graphics journals (such as the ACM SIGGRAPH's quarterly) regularly featured versions of the teapot: faceted or smooth-shaded, wireframe, bumpy, translucent, refractive, even leopard-skin and furry teapots were created.

The original teapot model was never intended to be seen from below, and had no surface to represent its base. Later versions of the data set fixed this.

The real teapot is noticeably taller (by a ratio of 4:3[citation needed]) compared to the computer model. Jim Blinn stated that he scaled the model on the vertical axis during a demo in the lab to demonstrate that they could manipulate it. They then liked the way this new version looked and saved the file.[3]

The original, physical teapot was purchased from ZCMI (a department store in Salt Lake City) in 1974. It was donated to the Boston Computer Museum in 1984 where it was on display until 1990. It now resides in the ephemera collection at the Computer History Museum in Mountain View, California where it is catalogued as "Teapot used for Computer Graphics rendering" and bears the catalogue number X00398.1984.[4]

Versions of the teapot model, or sample scenes containing it, are distributed with or freely available for nearly every current rendering and modelling program and even many graphic APIs, including AutoCAD, Houdini, Lightwave 3D, MODO, POV-Ray, 3ds Max, and the OpenGL and Direct3D helper libraries. Some RenderMan-compliant renderers support the teapot as a built-in geometry by calling RiGeometry("teapot", RI_NULL). Along with the expected cubes and spheres, the GLUT library even provides the function glutSolidTeapot() as a graphics primitive, as does its Direct3D counterpart D3DX (D3DXCreateTeapot()). However version 11 of DirectX does not provide this functionality anymore. Mac OS X Tiger and Leopard also include the teapot as part of Quartz Composer; Leopard's teapot supports bump mapping. BeOS included a small demo of a rotating 3D teapot, intended to show off the platform's multimedia facilities.

Teapot scenes are commonly used for renderer self-tests and benchmarks.[5][6]

Appearances

One famous ray-traced image (by Jim Arvo and Dave Kirk, from their 1987 SIGGRAPH paper "Fast Ray Tracing by Ray Classification") shows six stone columns, five of which are surmounted by the platonic solids (tetrahedron, cube, octahedron, dodecahedron, icosahedron). The sixth column supports a teapot.[7] The image is titled "The Six Platonic Solids"—which has led some people[who?] to call the teapot a Teapotahedron.[citation needed] This image appeared on the covers of several books and journals.

The Utah teapot sometimes appears in the "Pipes" screensaver shipped with Microsoft Windows,[8] but only in versions prior to Windows XP, and has been included[9] in the "polyhedra" XScreenSaver hack since 2008.

Jim Blinn (in one of his "Project MATHEMATICS!" videos) proves an amusing (but trivial) version of the Pythagorean theorem: Construct a (2D) teapot on each side of a right triangle and the area of the teapot on the hypotenuse is equal to the sum of the areas of the teapots on the other two sides.[10]

In popular culture

With the advent of first computer generated short films, and then of full-length feature films, it has become something of an in-joke to hide a Utah teapot somewhere in one of the film's scenes.[11] For example, in the movie Toy Story the Utah teapot appears in a short tea-party scene. The teapot also appears in The Simpsons episode "Treehouse of Horror VI" in which Homer discovers the "third dimension".[12] It also appears in Pixar's Monsters, Inc. on the table in Boo's bedroom. In the game Roblox, the Utah Teapot is a collectible hat, with different versions and texturings of it. It does not make any mention of a Utah Teapot.

3D printing

The Utah Teapot has come full circle from being a computer model based on an actual teapot to being an actual teapot based on the computer model. It is widely available in many renderings in different materials from small plastic knick-knacks to a fully functional ceramic teapot. It is sometimes intentionally rendered as a blocky, low poly object to celebrate its origin as a computer model.[citation needed]

In 2009, the Belgian design studio, Unfold, 3D printed the Utah Teapot in ceramic with the objective of returning the iconographic teapot to its roots as a piece of functional dish-ware while showing its status as an icon of the digital world.[13]

In 2015, the California-based company and self-described "Make-Tank", Emerging Objects, followed suit, but this time printed the teapot, along with teacups and teaspoons, out of actual tea.[14]

Gallery

The Utah teapot 
The teapot demonstrating environment mapping 

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found. (see ACM Digital Library reference [1])
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found. (The date for the teapot itself was ca. 1974)
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. "Pipes" screensaver spec
  9. Xscreensaver changelog
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.

External links