suggestive contours for conveying shape doug decarlo, adam finkelstein, szymon rusinkiewicz, and...
TRANSCRIPT
Suggestive Contours for Conveying Shape
Doug DeCarlo, Adam Finkelstein, Szymon Rusinkiewicz, and Anthony Santella
Problem
What measures can we use besides contours and creases to convey shape?
Contours are good, but they don’t convey enough of the object.
SuggestiveContours
Include features that are almost contours by:
1. Extending current contours.
2. Anticipating almost contours.
How?
First we need a couple of definitions
1) Contour – where dot(n,v) = 0 (aka silhouette).
2) Curvature Reciprocal of the radius of the circle that best
approximates the curve at P. Radial Curvature
Idea
Include the lines marking features where the surface bends sharply away from the viewer.
That is, we want points where the radial curvatures is zero, and the surface is bending away from the viewer.
This will give us the contours of nearby viewpoints.
Definition I
Zeroes of Radial Curvature Radial curvature = 0 The derivative of the radial curvature in
the direction of w is > 0.
Definition II
Minima of Dot(n,v) The suggestive contour generator is the
set of minima of dot(n,v) in the direction of w.
Stability
As viewing vector nears n, the suggestive silhouette has many responses to even small changes in viewpoint.
If (Dot(n,v) / || v ||) < cos(theta) we declare the suggestive silhouette unstable.
Experimentally determined useful values for theta range from 20-30 degrees.
Object Space Algorithm
Comes from definition I. Calculate curvature of all vertices of the
model. Linearly interpolate for Kr = 0, and save these points.
Cull any points where the curvature derivative <= 0.
Remove unstable points dot(n,v) / ||v|| < cos(theta)
theta is chosen interactively by user.
Image Space Algorithm
Comes from definition II. Render with diffuse light source at the camera
- this gives approximation of dot(n,v). Check each pixel pi. Check other pixels in
radius r. Call the darkest pixel in this neighborhood pmax. If pmax – pi > d and the percentage of pixels in the neighborhood darker than pi is less than s, pixel pi is added to the suggestive contour.
Object Space VS Image Space Object space algorithm generates
continuous strokes paths. Object space algorithm is faster than
the image space algorithm for mediumly complex models and large images.
Object space algorithm relies on preprocessing of curvature.
Problems• Nasty adjustable constants for stability. (Theta in object space algorithm, r & s in the image space algorithm)
• What happens when we animate the picture? Unstable suggestive contours cause flickering.
• Objects without concavities have no suggestive contours.
Future Work
Determining the causes/properties of unstable suggestive contours.
See Interactive Rendering of Suggestive Contours at NPAR 2004!
Applying strokes and styles.
Speeding up the algorithm through randomized testing.
Smoothness
How do we know that these new lines/points will merge smoothly with the old ones?
Two cases
Definition III
Contours of Nearby Viewpoints Suggestive contours are formed by those
points that are contours in nearby viewpoints, but do not have corresponding contours in any closer views.
If the viewpoint is within 90 degrees of p’s normal along the radial plane, p is either not visible or p is a contour, or none of p’s neighbors are contours.