580 likes | 593 Views
A Painting Interface for Interactive Surface Deformations. Jason Lawrence Thomas Funkhouser Princeton University. Motivation. Many objects are hard to model:. Challenges. Complex Surfaces Scale User Control. Challenges. Complex Surfaces Scale User Control. Challenges.
E N D
A Painting Interface for Interactive Surface Deformations Jason Lawrence Thomas Funkhouser Princeton University
Motivation • Many objects are hard to model:
Challenges • Complex Surfaces • Scale • User Control
Challenges • Complex Surfaces • Scale • User Control
Challenges • Complex Surfaces • Scale • User Control Museth et al.
Existing Interfaces • Control lattice • Free-form deformations • NURBS surface control points • Physical Simulation • Deformable Models • Level Set Editing Operators • Sculpting interfaces • Voxel-based sculpting • Surface sculpting
Existing Interfaces • Control lattice • Free-form deformations • NURBS surface control points • Physical Simulation • Deformable Models • Level Set Editing Operators • Sculpting interfaces • Voxel-based sculpting • Surface sculpting
Existing Interfaces • Control lattice • Free-form deformations • NURBS surface control points • Physical Simulation • Deformable Models • Level Set Editing Operators • Sculpting interfaces • Voxel-based sculpting • Surface sculpting
Existing Interfaces • Control lattice • Free-form deformations • NURBS surface control points • Physical Simulation • Deformable Models • Level Set Editing Operators • Sculpting interfaces • Voxel-based sculpting • Surface sculpting
Existing Interfaces • Control lattice • Free-form deformations • NURBS surface control points • Physical Simulation • Deformable Models • Level Set Editing Operators • Sculpting interfaces • Voxel-based sculpting • Surface sculpting
Existing Interfaces • Control lattice • Free-form deformations • NURBS surface control points • Physical Simulation • Deformable Models • Level Set Editing Operators • Sculpting interfaces • Voxel-based sculpting • Surface sculpting Maya Artisan Sculpt Surface Tool
Key Observation Directly “painting” and then interactively simulating is a more controllable, powerful way to locally deform surfaces.
Our Approach • The user paints directly onto the surface of an object. • Paint is interpreted as the instantaneous surface velocity. • User simulates velocity until the desired effect is achieved.
Our Approach • The user paints directly onto the surface of an object. • Paint is interpreted as the instantaneous surface velocity. • User simulates velocity until the desired effect is achieved.
Our Approach • The user paints directly onto the surface of an object. • Paint is interpreted as the instantaneous surface velocity. • User simulates velocity until the desired effect is achieved.
Overview of Talk • Introduction • Method • Applying Paint • Defining Paint • Simulating Paint • Results
Overview of Talk • Introduction • Method • Applying Paint • Defining Paint • Simulating Paint • Results
Applying Paint • Directly inject paint into scene. • Use 2D brush bitmaps to modulate intensity [Hanrahan90]. Various Brushes
Overview of Talk • Background • Method • Applying Paint • Defining Paint • Simulating Paint • Results
Defining Paint • What is paint? • Paint describes surface velocity
Surface Velocity • Surface velocity can capture useful modeling operations: • Propagating: organic, blobby deformations • Advective: spiky, discontinuous • Curvature-dependent: diffusion
Surface Velocity • We define surface velocity at some point along the model’s surface x, with surface normal n, as the linear combination of three terms: v(x) = vprop(x) + vadv(x) + vcurv(x)
Propagating Velocity • “Propagating” velocity causes the surface to move in the direction of its current surface normal, producing blobby, organic deformations: vprop(x) = αn
Advective Velocity • “Advective” velocity causes the surface to move at a constant speed in a constant direction: vadv(x) = βp
Curvature-Dependent Velocity • “Curvature-dependent” velocity causes the surface to move at a speed proportional to its mean curvature, κ, in the direction of its surface normal. vcurv(x) = γκn
Specify Paint • Total velocity of a point on the model’s surface: v(x) = αn + βp + γκn
Specify Paint • The paint IS the values of α, β, andγ. • The direction of advective motion, p, determined by current viewing direction, surface normal, or arbitrary direction.
Overview of Talk • Background • Method • Applying Paint • Defining Paint • Simulating Paint • Results
Simulating Paint • Goal: move surface according to velocity user has “painted.”
Dynamic Surface • We need a surface representation that supports: • Interactive update rates. • Associate paint with surface. • Editing at multiple scales. • Created prototype system with two representations: • Level Sets • Dynamic Triangle Mesh
Triangle Mesh • Represent surface as triangle mesh where the vertices are free to move in space. • Store paint at each vertex.
Adaptive Refinement • Our implementation provides two types of mesh refinement: • Temporal: refine mesh during deformation to accurately sample the dynamic surface. • Brush-Dependent: refine mesh depending on location and orientation of brush to accurately sample the brush.
Temporal Refinement • Explicitly maintain an even distribution of vertices over the surface by refining mesh.
Temporal Refinement • Explicitly maintain an even distribution of vertices over the surface by refining mesh.
Adaptive Refinement • Our implementation provides two types of mesh refinement: • Temporal: refine mesh during deformation to accurately sample the dynamic surface. • Painting: refine mesh depending on location and orientation of brush to accurately sample the brush.
Overview of Talk • Background • Method • Applying Paint • Defining Paint • Simulating Paint • Results
Results • Painting interface meets challenges: • Complex Surfaces • Scale • User Control Modeling Time: 20 min.
Results • Painting interface meets challenges: • Complex Surfaces • Scale • User Control Modeling Time: 20 min.
Results • Painting interface meets challenges: • Complex Surfaces • Scale • User Control Modeling Time: 3 min.
Conclusion • We have found that this painting metaphor gives the user direct, local control over surface deformations for several applications: • Creating new models • Removing noise from existing models • Adding geometric texture to an existing surface at multiple scales
Limitations • Covers limited class of objects. • Self-intersections. • Topological changes. David Breen, et. al.
Limitations • Covers limited class of objects. • Self-intersections. • Topological changes.
Limitations • Covers limited class of objects. • Self-intersections. • Topological changes.