- By
**grant** - Follow User

- 187 Views
- Uploaded on

Download Presentation
## 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.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:

### Human Sketchs

### Purpose

### Interface

### Implementation

### Strokes

### Interactors

### Camera

### Creating Geometry

### Placing Geometry

### Placing Geometry

### Placing Geometry

### Placing Geometry

### Placing Geometry

### Placing Geometry

### Editing Geometry

### Editing Geometry

### Editing Geometry

### Editing Geometry

### Editing Geometry

### Editing Geometry

### Grouping Objects

### Grouping Objects

### Grouping Objects

### Rendering

### Rendering

### Rendering

### Future Work

An Interface for Sketching 3D Scenes

Robert C. Zelenik

Kenneth P. Herndon

John F. Hughes

SIGGRAPH ‘96

Presented by Mike Margolis

- 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

- 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

- 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

- 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

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

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

- Use third mouse button
- Direct manipulation of the camera

- 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

- 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

- 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

- 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

- 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

- 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

- 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

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

- 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

- 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

- 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

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

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

- 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

- 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

- 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

- 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

- Line drawing effect
- Charcoal effect
- Watercolor effect

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

- 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

Download Presentation

Connecting to Server..