1 / 28

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. Pros: Paper and pen/pencil Low overhead Lack of special knowledge needed to draw (unlike CAD) Easy to make changes

grant
Télécharger la présentation

SKETCH:

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. 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

  4. 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

  5. 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

  6. Strokes • Use first mouse button • Generally strokes are aligned with three principal axes

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

  8. Camera • Use third mouse button • Direct manipulation of the camera

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. Editing Geometry • Modeled after pencil & paper techniques • Resizing • Shadows • Transformations • Translation • Rotation • Objects can be removed from the scene as well

  17. 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

  18. 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

  19. 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

  20. 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)

  21. Editing Geometry • Rotation about a single axis can be performed • Draw user defined axis and move perpendicular to the line

  22. 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

  23. 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

  24. 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

  25. 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

  26. Rendering • Line drawing effect • Charcoal effect • Watercolor effect

  27. Rendering • Objects assigned random color (can be manipulated) • Jittery lines rendered intentionally in some effects

  28. 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

More Related