Upload
georgina-burke
View
224
Download
5
Embed Size (px)
Citation preview
Teddy: A Sketching Teddy: A Sketching Interface for 3D Interface for 3D Freeform DesignFreeform Design
Takeo IgarashiUniversity of Tokyo
Satoshi Matsuoka, Hidehiko TanakaTokyo Institute of Technology
SIGGRAPH 1999SIGGRAPH 1999
ListList
1. Abstract
2. Introduction
3. Related Work
4. User Interface
5. Modeling Operations
6. Algorithm
7. Implementation
8. User Experience
9. Future Work
1. Overview
2. Creating a New Object
3. Painting and Erasing on the Surface
4. Extrusion
5. Cutting
6. Smoothing
7. Transformation
1. Creating a New Object
2. Painting on the Surface
3. Extrusion
4. Cutting
5. Smoothing
Abstract *Abstract *
Sketching Interface for 3D Freeform Design Sketching interface for quickly and easily designing
freeform models
User draws 2D freeform strokes interactively
System constructs 3D polygonal surface automatically
System supports several modeling operations
• Inflating the region surrounded by the silhouette
Abstract **Abstract **
Teddy Prototype system Java program Mesh construction
is done in real-time
User Study (for first-user) Mastering the operations : 10 minutes Constructing interesting 3D models : minutes
1. Introduction *1. Introduction *
Creating Freeform Surfaces is difficult & tedious
SKETCH This paper extends ideas of SKETCH
Using Freeform strokes as expressive design tool User draw 2D freeform strokes interactively
System constructs a 3D polygon surface models based on the strokes
Editing operations by strokes
Resulting models have a hand-crafted feel
MoviesMovies
SKETCH: An interface for SKETCH: An interface for sketching 3D scenessketching 3D scenes
Modeling 3D Object by Sketch Interface Legends of strokes
CSG subtraction
1. Introduction **1. Introduction **
Paper Sketch Interface Algorithms for constructing 3D shapes from 2D strokes Implementation of our prototype system, Teddy
Geometric representation Standard polygonal mesh
Interface can be used to other representation Volumes or metaballs metaball
1. Introduction ***1. Introduction ***
Design Goal of Teddy Construction of approximate models
Not for careful editing of precise model
Interactive Real-time pen-and-ink rendering
Java on mid-range PC
1. Introduction ****1. Introduction ****
Obvious Application of Teddy Design of 3D models for character animation
Rapid prototyping in the early stages of design
Educational/recreational use for non-professionals and children
Real-time communication assistance on pen-based system
Figure 2:Painted models created using Teddy and painted using a commercial texture-map editor
Applications Applications
PC package MagicalSketch 2
Gamecube game Playstation2 game
2. Related Work *2. Related Work *
Geometric Modeling Typical procedure
- Start with a simple primitives
• Successive transformation
• Combination of multiple primitives
Transformation Techniques
- User create various precise, smooth models interactively
• Deformation [15] Free-form deformations with lattices of arbitrary topology
[23] Wires: a geometric deformation technique
• Shape manipulation [8] Visual interfaces for solids modeling
Construct complex model
Free-form deformations with Free-form deformations with lattices of arbitrary topologylattices of arbitrary topology
R. MacCracken and K.I. Joy. SIGGRAPH 96
Generalize Previous FFD Lattices of Arbitrary Topology Use Catmull-Clark subdivision
Wires: a geometric Wires: a geometric deformation techniquedeformation technique
K. Singh and E. Fiume SIGGRAPH 98
Wire curve is shape’s deformable features
2. Related Work **2. Related Work **
Implicit Surfaces ( Skeleton Models ) User specifies the skeleton of model
System construct smooth, natural-looking surfaces
[3] Interactive techniques for implicit modeling
[18] Polygon inflation for animated models: a method for the extrusion of arbitrary polygon meshes.
Surface inflation method [17] Object modeling by distribution function and a method of
image generation
Interactive techniques for Interactive techniques for implicit modelingimplicit modeling
J. Bloomenthal and B. Wyvill 1990 Symposium on Interactive 3D Graphics
User control its skeleton,system compute correspondingimplicit surface automatically
2. Related Work ***2. Related Work ***
This paper User specify the silhouette of shape instead of skeleton
Inspired by previous sketch-based modeling system Inferring 3D models from freehand sketches and constraints
SKETCH: An interface for sketching 3D scenes
Interpret user’s stroke and construct 3D rectilinear model
Goal of this paper Interface for designing rounded freeform models
2. Related Work ****2. Related Work ****
Inflation of a 2D drawing Shading in Two Dimensions
3D surface editing based on 2D painting 3D Paint Target is 2D array with associated height values Rather than 3D pol
ygon
Using 3D Input/Output Devices The Holosketch VR sketching system.
3D Paint3D Paint L. Williams 1990 Symposium on Interactive 3D Graphics
Extend Drawing, painting metaphor to 3rd dimensions
Surface is Height Value of 2D Arrays
2. Related Work ****2. Related Work ****
Freeform Strokes for 2D Application Specifying gestural command
Ambiguous intentions: A paperlike interface for creative design Interactive sketching for the early stages of user interface design
Specifying 2D curve A mark-based interaction paradigm for free-hand drawing
• Editing curve by sketching
Merits• Find the best matching arcs or splines automatically
• Freeing the user from explicit control of underlying parameter
Interactive Sketching for the Early Interactive Sketching for the Early Stages of User Interface Design Stages of User Interface Design
J.A. Landay and B.A. Myers. 1995 CHI
SILK Interface designers sketch the interface system produces application based on sketch automatically
2. Related Work *****2. Related Work *****
Volumetric representation Volume sculpting Sculpting: an interactive volumetric modeling technique Useful for designing topologically complicated shapes
Mesh-construction algorithm Fundamental representation for geometric modeling and CG Based on a variety of work on polygonal mesh manipulation
Mesh optimization Shape design : Free-form shape design using triangulated
surfaces Surface fairing : A signal processing approach to fair surface
design
Sculpting: an interactive Sculpting: an interactive volumetric modeling techniquevolumetric modeling technique
T. Galyean and J.F. Hughes 1991 SIGGRAPH
Sculpting 3D Voxel DataControlling by 3D Devices
3. User Interface3. User Interface
Physical User Interface Traditional 2D input devices
• Mouse or tablet
Interface Do not use
• WIMP-style direct manipulation techniques
• WIMP = window, icon, menu, pointer
• Standard interface widget
• Button, menu …
Use only freeform strokes on the screen
4. Modeling Operation4. Modeling Operation
Modeling Operation from the User’s point of view Operations are executed after user complete a stroke
Not Supported Creation of Multiple Objects and combining single object Model must have a spherical topology
• E.g torus (x) Strokes do not intersect
Basic Operations Creation, Painting, Extrusion, cutting, erasing
4.1 Overview4.1 Overview
Basic Operation and Result
Summarizing the modeling operation available
Figure 5: example of Creation Operation (top: Stroke, middle: result, bottom: rotation)
Figure 6: example of Extrusion (top: extruding stroke, bottom: result of extrusion)
Figure 7: More Extrusion Operation (digging cave, drawing)
Figure 8: Cutting Operation
Figure 9: Extrusion After Cutting
Figure 10: Smoothing Operation
Figure 11: Examples of Transformation (top: bending, bottom: distorting)
5. Algorithm5. Algorithm
How the system constructs a 3D polygonal mesh from the user’s freeform strokes
Creation and extrusion Freeform surface construction based on skeleton
Input Strokes is Resampled To remove noise in the handwriting input strokes To construct a regular polygonal mesh Smooth polyline with uniform edge length
5.1 Creating a New Object*5.1 Creating a New Object*
Overall Procedure
1. Closed planar polygon
2. Spine or axes of the polygon
3. Elevate vertices of the spine
4. Polygonal mesh wrapping the spine
5.1 Creating a New Object**5.1 Creating a New Object**
Figure 13: Finding the Spine
1. Closed planar polygon (13a) All edges has predefined unit length
External edge: initial polygon
Internal edge: edges added in the triangulation
- Triangulation (13b) Constraint Delaunay Triangulation
Terminal triangle: 2 external edges
Sleeve triangle: 1 external edges
Junction triangle: 0 external edge
5.1 Creating a New Object5.1 Creating a New Object******
5.1 Creating a New Object5.1 Creating a New Object********
2. Spine or axes of the polygon Spine by Chordal Axis (13c)
• Connecting the midpoint of the internal edges
Pruning (13d)
Pruned spine (13e)• Chordal axis of remaining sleeve and junction triangles
Subdivision of sleeve and junction triangle (13f)
5.1 Creating a New Object5.1 Creating a New Object**********
Pruning Merge triangles Removing interior edge
Triangulation with a fan
• Stop 1: Some vertex lies outside the semicircle
• Stop 2: Newly merged triangle is a junction triangle
5.1 Creating a New Object5.1 Creating a New Object************
3. Elevate vertices of the spine
Average distance between vertex and external vertex directly connected to the vertex (b)
4. Polygonal mesh wrapping the spine Elevate fan edge is converted to a quarter oval (c) Sewing together the neighboring elevated edge (d)
5.2 Painting on the Surface5.2 Painting on the Surface
Create surface line Projecting each line segment of the input stroke
onto the object’s surface polygon
Method 1. Calculate bounded plane
2. Find intersections between plane and polygon
Only nearest intersecting polygon is used
5.3 Extrusion*5.3 Extrusion*
Creating new polygonal meshes Stroke: Closed base surface line (base ring)
Extruding stroke
Method Base ring sweep along the projected extruding stroke
Figure 17: Extrusion Algorithm
5.3 Extrusion**5.3 Extrusion**
1. Producing 3D extruding stroke Find the plane for projection
Project 2D extruding stroke onto the plane
2. Pointer Advancing Create copy of the base ring along the extruding stroke
3. Delete original polygon surrounded by the base ring
4. Create new polygon by sewing adjacent rings
5.3 Extrusion***5.3 Extrusion***
Point Advancing Advancing from two end pointer (left, right)
Three possibility
• Left pointer / Right pointer / both
Goodness value
• Increases angle between line connecting two pointers and direction of strokes
Figure 18: Sweeping the Base Ring
5.3 Extrusion****5.3 Extrusion****
User draw unexpected extruding stroke or base surface is not sufficiently planar
Figure 19: Unintuitive Extrusions
5.4 Cutting5.4 Cutting
Based on the painting algorithm
1. Projected onto the front and back facing polygon
2. Connects the corresponding end points of the projected edges to construct a planer polygon
3. Triangulating planer polygon
4. Removing all polygons to the left of the cutting strokes
Figure 20: Cutting
5.5 Smoothing5.5 Smoothing
Determine of Z-value of Vertex Bazier curve between
two end-point of the ring on 2D plane
Figure 21: Smoothing Algorithm
6. Implementation*6. Implementation*
Prototype : 13000 line Java program
Test Devices Display-integrated tablet (Mutoh MVT-14) Electric whiteboard (Xerox Liveboard) Standard mouse
Speed Mesh construction process is real-time if model becomes complicated, it causes a short pause
6. Implementation**6. Implementation**
Figure 2 3D models created with Teddy
Painted using a commercial texture-map editor
• Chameleon
Results reflect the hand-drawn nature of the shape Quite different from 3D models created in other modeling
system
7. User Experience7. User Experience
Feedback of Teddy Quite intuitive
Explore various 3D design
Observation of how first-time users learn teddy Create their own models fluently within 10 minutes
• 5 minutes : tutorial
• 5minutes : guided practices
It takes a few minutes to Create stuffed animal
8. Future Work8. Future Work
Algorithms and Implementation are Robust, Efficient Intuitive result, when user draw unexpected strokes
Research Direction Develop additional modeling operation
• Support a wider variety of shapes with arbitrary topology
• Allow more precise control of the shape
Possible Operation
• Create crease
• Twisting the models
• Specifying the constraints between the separate parts for animation system
Further ResearchFurther Research
Chameleon : 3D Paint for Teddy Paint on 3D Model
System Makes 2D Texture Automatically
Application
Movies
Further ResearchFurther Research
SmoothTeddy 3D Modeling
and Painting System
Application
Movies