Graphics Reference
In-Depth Information
elimination of detail, which in some cases may move the object depicted from the
specific toward the general.
But even when we represent a shape by its contours or other lines, we may
have far more detail than we want. A rough lump of granite has a great many
contour edges, but we may want to draw just the outline, ignoring all the tiny inte-
rior contours provided by individual protrusions from the surface. Thus, there's a
relation between scale and abstraction. One rule of thumb is that objects of equal
importance in a scene should be represented with a number of strokes that is pro-
portional to their projected size (or perhaps the square r oot of the projected size,
since a circle of area A has an outline whose length is 2 π
A ). Regardless, it's evi-
dent that there's a need to not only determine lines that represent a shape, but also
to determine a line-based representation with a given budget for lines—to remove
or simplify lines to give a less dense representation.
Two approaches immediately come to mind. The first is to simplify the object
itself (e.g., if it's a subdivision surface, move up one level of subdivision to get a
less-accurate but simpler representation) and then extract lines. The second is to
extract the lines and then simplify them.
Inline Exercise 34.2: Think of shapes for which each method would give
results that don't match your intuition. Which method was harder to “break”?
Figure 34.20: The thick pink lines
at right are good simplifications
of the thin black input lines;
those at left are bad. (Courtesy
of Pascal Barla. From “Render-
ing Techniques 2005” by Bala,
Kavita. Copyright 2005. Repro-
duced with permission of Taylor
& Francis Group LLC - BOOKS
in the format Textbook via Copy-
right Clearance Center.)
The second approach was carried out by Barla et al. [BTS05]. Their algorithm
takes, as input, a set of lines (in the sense of line drawing, i.e., curves) in some
vector representation, and produces a new set of lines using two criteria that are
intended to create perceptually similar sets of lines.
1. New lines can be created only where input lines appear.
2. New lines must respect the shape and orientation of input lines.
The idea is then to form “clusters” of input lines that are perceptually similar at
a specified scale and replace these with fewer lines, thus simplifying the drawing.
The second criterion is formulated to allow merging two nearly parallel curves
into a single curve that's approximately their average, but not into a single curve
with a hairpin bend at one end, for example. Figure 34.20 shows this. The hairpin
bend in the pink line in the drawing on the left is a bad simplification of the
input black lines, while the two pink lines in the drawing on the right are a better
simplification.
The algorithm proceeds by first finding clusters of lines that are similar at the
chosen scale, and then replacing each cluster with a single line. The replacement
strategy may be as simple as selecting a single representative from the cluster, or
as complex as creating some kind of “average” line from the lines in the cluster.
Figure 34.21 shows the results using the second approach.
Figure 34.21: A total of 357
input lines are simplified to
87 output lines. (Courtesy of
Pascal Barla. From “Render-
ing Techniques 2005” by Bala,
Kavita. Copyright 2005. Repro-
duced with permission of Taylor
& Francis Group LLC - BOOKS
in the format Textbook via Copy-
right Clearance Center.)
At a higher level, it makes sense to take a whole scene and abstract out those
parts that are not important to the author or viewer. Determining what might be
important is impossible without either an understanding of the full scene or knowl-
edge of the intent (i.e., apriori markup of some kind). The latter approach can
be used as part of an authoring tool to guide the scale of simplification in algo-
rithms like that of Barla et al. DeCarlo and Santella [DS02] have taken the for-
mer approach, using a human viewer to implicitly provide scene understanding.
Their system takes an image as input and transforms it to a line drawing with
 
Search WWH ::




Custom Search