Observations on silhouette sizes

in the Journal of Graphics Tools

Morgan McGuire, Brown University (now at Williams College)

JGT page
Paper
Preprint (PDF)
Errata
Abstract
Data
Images
Hindsights
BibTex

Abstract

Silhouettes have many applications in computer graphics such as non-photorealistic edge rendering, fur rendering, shadow volume creation, and anti-aliasing. The number of edges, s, in the silhouette of a model observed from a point is therefore useful in analyzing such algorithms.

This paper examines, from a theoretical viewpoint, a menagerie of objects with interesting silhouettes (including those with minimal and maximal silhouettes). It shows that the relationship between and s and the number of triangles in a model, f, is bounded above by s = O(f) and below by s = Ω(1), and that the expected value of s over all observation points at infinity is proportional to the sum of the dihedral angles.

In practice, the models used with silhouette-based rendering algorithms are triangle meshes that are manually constructed or result from scans of human-made objects. They consist of only surface geometry with few cracks; there is no internal detail like the engine under a car's hood. Geometric and aesthetic constraints on these models appear to create an inherent relationship between f and s. Measurements of the actual silhouettes of real-world 3D models with polygon counts varied across six orders of magnitude show them to follow the relationship s ~ f 0.8. Furthermore, the expected value of s at infinity is a good approximation of the expected silhouette size for a viewer at a finite location.

Images

Errata

Eric Haines identified the following typographic errors in this paper after publication:

  1. In the Figure 8 caption, f and s are swapped. The second sentence should read, "The dashed blue line is the s=f1/2 trend for convex models and the thick red line is the s=0.7f0.8 trend observed over all data."
  2. In the Figure 9 caption, f and s are swapped. The second and third sentences should read, "The dashed blue lines are (from bottom to top): s=f1/2, s =f3/4, and s = f. The data (except for some outliers due to malformed meshes) lies between the outermost lines, clustered around the thick red trendline s = 0.7f0.8."

Hindsights

The following previous work is relevant: Kettner and Welz Contour Edge Analysis for Polyhedron Projections. In: W. Strasser, R. Klein, R. Rau (Eds.), Geometric Modeling: Theory and Practice, Springer, pp. 379-394, 1997. (Thanks to Aaron Hertzman for pointing out this book chapter to me).

Kettner and Welz give a sphere proof and experimental results for polyhedral models in categories like "terrain" and "anatomy." My paper follows a similar theory/practice structure and extends their results. I begins with a simpler polygonal case derivation and proofs of the upper and lower bounds on silhouette (contour) size. For experimental analysis I benefitted from the incredible speedup of PCs over the last decade. I was able to perform a much more computationally intensive task than Kettner and Welz by working with a larger, albeit heterogeneous, data set and exhaustively measuring results for infinite (orthogonal) and finite viewpoints from many angles and distances.

BibTex


@article{ mcguire04silhouette,
  author = "Morgan McGuire",
  title = "Observations on Silhouette Sizes",
  journal = "jgt",
  volume = {9},
  number = {1},
  pages = {1--12},
  year = {2004},
  URL = {http://graphics.cs.williams.edu/papers/SilhouetteJGT04/}
}