Download presentation
Presentation is loading. Please wait.
Published byBathsheba Merritt Modified over 9 years ago
1
A Painting Interface for Interactive Surface Deformations Jason Lawrence Thomas Funkhouser Princeton University
2
Motivation Many objects are hard to model:
3
Challenges Complex Surfaces Scale User Control
4
Challenges Complex Surfaces Scale User Control
5
Challenges Museth et al. Complex Surfaces Scale User Control
6
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
7
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
8
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
9
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
10
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
11
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
12
Key Observation Directly “painting” and then interactively simulating is a more controllable, powerful way to locally deform surfaces.
13
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.
14
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.
15
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.
16
Overview of Talk Introduction Method –Applying Paint –Defining Paint –Simulating Paint Results
17
Overview of Talk Introduction Method –Applying Paint –Defining Paint –Simulating Paint Results
18
Applying Paint Directly inject paint into scene. Use 2D brush bitmaps to modulate intensity [Hanrahan90]. Various Brushes
19
Applying Paint
21
Overview of Talk Background Method –Applying Paint –Defining Paint –Simulating Paint Results
22
Defining Paint What is paint? –Paint describes surface velocity
23
Surface Velocity Surface velocity can capture useful modeling operations: –Propagating: organic, blobby deformations –Advective: spiky, discontinuous –Curvature-dependent: diffusion
24
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) = v prop (x) + v adv (x) + v curv (x)
25
Propagating Velocity “Propagating” velocity causes the surface to move in the direction of its current surface normal, producing blobby, organic deformations: v prop (x) = αn
26
Propagating Velocity
27
Advective Velocity “Advective” velocity causes the surface to move at a constant speed in a constant direction: v adv (x) = βp
28
Advective Velocity
29
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. v curv (x) = γκn
30
Curvature-Dependent Velocity
31
Specify Paint Total velocity of a point on the model’s surface: v(x) = αn + βp + γκn
32
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.
33
Overview of Talk Background Method –Applying Paint –Defining Paint –Simulating Paint Results
34
Simulating Paint Goal: move surface according to velocity user has “painted.”
35
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
36
Triangle Mesh Represent surface as triangle mesh where the vertices are free to move in space. Store paint at each vertex.
37
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.
38
Temporal Refinement Explicitly maintain an even distribution of vertices over the surface by refining mesh.
39
Temporal Refinement Explicitly maintain an even distribution of vertices over the surface by refining mesh.
40
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.
41
Brush-Dependent Refinement
42
Overview of Talk Background Method –Applying Paint –Defining Paint –Simulating Paint Results
43
Results
44
Results Painting interface meets challenges: –Complex Surfaces –Scale –User Control Modeling Time: 20 min.
45
Results Painting interface meets challenges: –Complex Surfaces –Scale –User Control Modeling Time: 20 min.
46
Results Painting interface meets challenges: –Complex Surfaces –Scale –User Control Modeling Time: 3 min.
47
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
48
Limitations Covers limited class of objects. Self- intersections. Topological changes. David Breen, et. al.
49
Limitations Covers limited class of objects. Self- intersections. Topological changes.
50
Limitations Covers limited class of objects. Self- intersections. Topological changes.
51
Limitations Covers limited class of objects. Self- intersections. Topological changes.
52
Future Work Adaptive level sets. Transfering geometric texture from one part of a model to another. Expressing geometric content as paint for compression applications. Time-dependent pigment vectors (e.g. spline curves on a sphere).
53
Acknowledgements Ross Whitaker’s VISPACK Daniel Aliaga
55
Applying Paint: Level Sets
56
Level Sets: Details Level Set Theory tells us how to change the samples to induce some desired change in the embedded surface.
57
Level Sets: Details Fundamental result from LS theory. F(…) is the speed of the surface at position x in the direction of its normal vector!
58
Mesh Refinement Maintain desired edge length. f = actual/desired –f < 0.5 collapse –f > 1.5 split Swap to maximize minimum interior angle. Markosian, et. al.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.