4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D...

28
4/25/02 SKETCH : Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis

Transcript of 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D...

Page 1: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

SKETCH:

Robert C. ZelenikKenneth P. Herndon

John F. Hughes

An Interface for Sketching 3D Scenes

SIGGRAPH ‘96

Presented by Mike Margolis

Page 2: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Human SketchsPros:•Paper and pen/pencil•Low overhead•Lack of special knowledge needed to draw (unlike CAD)•Easy to make changes•Precision is not needed to convey concept

Cons:•Many changes lead to clutter•New viewpoint requires new sketch•Groups of objects cannot be transformed together

Page 3: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Purpose•Bridge gap between hand sketches and CAD systems

•Easy to use

•Ability to build quick 3D models

•Use of human gestures for intuitive control

•NPR rendering for “sketch” effect

•Use for storyboarding, etc

Page 4: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Interface•Interaction through 3 button mouse

•Occasional use of modifier key (shift)

•Single orthographic window

•User generates “gestures” as opposed to using a menu

•Gestures fall into the categories of Strokes and Interactions

Page 5: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Implementation

•Processes sequences of strokes and interactors to perform modeling functions with a finite state machine

•Mapping between gestures and modeling functions

•Tradeoffs must be considered in evolution in gestures:

- Natural gestures- Effective gestures- Effective gestures within system already using similar gestures for other functions

Page 6: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Strokes•Use first mouse button

•Generally strokes are aligned with three principal axes

Page 7: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Interactors

•Use second mouse button

•No specific visual representation

•Used to manipulate objects in scene

•“Click and Drag”•“Click”

Page 8: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Camera

•Use third mouse button

•Direct manipulation of the camera

Page 9: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Creating Geometry

•Primitives created with their own gestures: Cubes, Cones, Cylinders, Sphere, Objects of Revolution,

Prisms, Extrusions, Ducts, Superquadrics

•Primitives use an axis-aligned stroke to guide geometry

•Can create more complex objects from primitives

•Some objects can not be made at all though:Freeform surfaces, 3D ducts

Page 10: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Placing Geometry

•Once object is created, it must be placed in scene

•Four rules of placement:•1) Salient features project onto their corresponding gestures•2) New objects are instantiated with existing object in contact when possible•3) Certain invariants of junctions in line drawings that indicate placement or dimension of geometry•4) CSG subtraction is inferred automatically from direction of gesture strokes

•Generally, the rules generate good placement choices

Page 11: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Placing Geometry

•Rule 1: Determines placement in scene except for translation along view direction

•Rule 2: Resolves placement by requiring salient vertex be in contact when possible

Page 12: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Placing Geometry

•Project ray from orthographic plane (viewscreen) into 3D scene

•Find the surface the ray intersects with and instantiate object with contact of salient vertex here at this point in the 3D scene

Page 13: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Placing Geometry

•Rule 3 exploits invariants of vertex junctions (e.g. T-Junction)

•Ray cast along “T” gesture line and compared with intersected plane’s -- as defined by the bar of the “T” -- normal

Page 14: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Placing Geometry

•If the calculation is within the tolerance, the gesture defining new primitive is extended to create contact with the surface

•If not within tolerance, object is translated along viewing vector to see if they meet. If they don’t, the primitive gesture remains the same

Page 15: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Placing Geometry

•Rule 4 allows for Constructive Solid Geometry (CSG) subtraction

•Gesture strokes drawn into existing surface to create primitive

•Using an interactor, CSG subtraction will subtract the primitive from the indicated volume

Page 16: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Editing Geometry

•Modeled after pencil & paper techniques

•Resizing•Shadows•Transformations

- Translation- Rotation

•Objects can be removed from the scene as well

Page 17: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Editing Geometry

•Resizing is done by “oversketching”

•Drawing two coincident lines in opposite directions parallel to existing edge

•Length of lines indicate the magnitude of the resizing

Page 18: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Editing Geometry

•Shadows help viewer to determine depth of a scene

•Identify object and draw impressionistic lines for shadow

•Use a static point light source for entire scene

•Displacement of shadow helps determine new position for the shadowed object

Page 19: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Editing Geometry

•Translation of objects can be performed

Some constraints – kept simple to keep the system robust, fast, and easy to understand

Default translation -Along plane that the object was created (e.g. Bottom plane of cube)

-Two directions of translation with this method

Page 20: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Editing Geometry

•Translation can be further cosntrained

•Single-axis translation along user defined axis (1D translation)

•Translation about one of three axis-aligned planes•(2D translation)

•Translation about one of three axis-aligned planes, with a contact constraint (used to help with depth placement)

Page 21: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Editing Geometry

•Rotation about a single axis can be performed

•Draw user defined axis and move perpendicular to the line

Page 22: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Grouping Objects

•Objects can be grouped together

•Grouping can be bidirectional or unidrectional

•Each geometric object stores information about objects that to which it is grouped

•Transformations can be applied to groups at one time

•Group geometry can be copied

•Grouping is automatically performed according to algorithm

Page 23: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Grouping Objects

•Choice of bi-directional and uni-directional grouping is determined using inherent way that people view horizontal and vertical relationships of objects (i.e. Effects of gravity)

•Table model:•Leg is grouped to floor•Top is grouped to leg and therefore the floor•Floor is not grouped to leg or top

Page 24: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Grouping Objects

•Objects can be Lassoed to explicitly form groups

•Accomplished by projecting geometric center of lasso and the crease vertices into film plane

•Determines objects “inside” lasso and then transformations and copying can be applied

Page 25: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Rendering

•Want effect to convince user that scene is not precision

•Scene should be an estimate of distances – not accurate ones

•Achieved through “Sketchy” (NPR) rendering

Page 26: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Rendering

•Line drawing effect

•Charcoal effect

•Watercolor effect

Page 27: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Rendering

•Objects assigned random color (can be manipulated)

•Jittery lines rendered intentionally in some effects

Page 28: 4/25/02 SKETCH: Robert C. Zelenik Kenneth P. Herndon John F. Hughes An Interface for Sketching 3D Scenes SIGGRAPH ‘96 Presented by Mike Margolis.

4/25/02

Future Work

•Some flaws in the application that need fixing

•SKETCH user control is saturated – how do we overcome this barrier without making it less intuitive?

•Use of different input devices? (tablet, etc)

•How can we relate “Sketches” to more accruate representations