suggestive contours for conveying shape doug decarlo, adam finkelstein, szymon rusinkiewicz, and...

20
Suggestive Contours for Conveying Shape Doug DeCarlo, Adam Finkelstein, Szymon Rusinkiewicz, and Anthony Santella

Upload: annice-robbins

Post on 18-Dec-2015

217 views

Category:

Documents


0 download

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.

Results

Results

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.

Did they produce better lines?

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.

Discussion Time

Smoothness

How do we know that these new lines/points will merge smoothly with the old ones?

Two cases

Extension

Intersections between suggestive contours and contours always occur at ending contours.

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.