sketch n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
SKETCH: PowerPoint Presentation
Download Presentation
SKETCH:

Loading in 2 Seconds...

play fullscreen
1 / 28

SKETCH: - PowerPoint PPT Presentation


  • 183 Views
  • Uploaded on

SKETCH:. An Interface for Sketching 3D Scenes. Robert C. Zelenik Kenneth P. Herndon John F. Hughes. SIGGRAPH ‘96. Presented by Mike Margolis. Human Sketchs. Pros: Paper and pen/pencil Low overhead Lack of special knowledge needed to draw (unlike CAD) Easy to make changes

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'SKETCH:' - grant


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
sketch

SKETCH:

An Interface for Sketching 3D Scenes

Robert C. Zelenik

Kenneth P. Herndon

John F. Hughes

SIGGRAPH ‘96

Presented by Mike Margolis

human sketchs

Human Sketchs

  • Pros:
  • 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
purpose

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
interface

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
implementation

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
strokes

Strokes

  • Use first mouse button
  • Generally strokes are aligned with three principal axes
interactors

Interactors

  • Use second mouse button
  • No specific visual representation
  • Used to manipulate objects in scene
  • “Click and Drag”
  • “Click”
camera

Camera

  • Use third mouse button
  • Direct manipulation of the camera
creating geometry

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
placing geometry

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
placing geometry1

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
placing geometry2

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
placing geometry3

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
placing geometry4

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
placing geometry5

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
editing geometry

Editing Geometry

  • Modeled after pencil & paper techniques
  • Resizing
  • Shadows
  • Transformations
    • Translation
    • Rotation
  • Objects can be removed from the scene as well
editing geometry1

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
editing geometry2

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
editing geometry3

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
editing geometry4

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)
editing geometry5

Editing Geometry

  • Rotation about a single axis can be performed
  • Draw user defined axis and move perpendicular to the line
grouping objects

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
grouping objects1

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
grouping objects2

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
rendering

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
rendering1

Rendering

  • Line drawing effect
  • Charcoal effect
  • Watercolor effect
rendering2

Rendering

  • Objects assigned random color (can be manipulated)
  • Jittery lines rendered intentionally in some effects
future work

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