11.07.2015 Views

Embedded Deformation for Shape Manipulation - CiteSeerX

Embedded Deformation for Shape Manipulation - CiteSeerX

Embedded Deformation for Shape Manipulation - CiteSeerX

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Embedded</strong> <strong>De<strong>for</strong>mation</strong> <strong>for</strong> <strong>Shape</strong> <strong>Manipulation</strong>Robert W. Sumner Johannes Schmid Mark PaulyApplied Geometry Group, ETH ZurichAbstractWe present an algorithm that generates natural and intuitive de<strong>for</strong>mationsvia direct manipulation <strong>for</strong> a wide range of shape representationsand editing scenarios. Our method builds a space de<strong>for</strong>mationrepresented by a collection of affine trans<strong>for</strong>mations organizedin a graph structure. One trans<strong>for</strong>mation is associated with eachgraph node and applies a de<strong>for</strong>mation to the nearby space. Positionalconstraints are specified on the points of an embedded object.As the user manipulates the constraints, a nonlinear minimizationproblem is solved to find optimal values <strong>for</strong> the affine trans<strong>for</strong>mations.Feature preservation is encoded directly in the objectivefunction by measuring the deviation of each trans<strong>for</strong>mation froma true rotation. This algorithm addresses the problem of “embeddedde<strong>for</strong>mation” since it de<strong>for</strong>ms space through direct manipulationof objects embedded within it, while preserving the embeddedobjects’ features. We demonstrate our method by editing meshes,polygon soups, mesh animations, and animated particle systems.CR Categories: I.3.5 [Computer Graphics]: Computational Geometryand Object Modeling—Modeling packagesKeywords: Geometric modeling, <strong>De<strong>for</strong>mation</strong>, <strong>Shape</strong> editing1 IntroductionDirect manipulation has proven to be an invaluable tool <strong>for</strong> meshediting since it provides an intuitive way <strong>for</strong> the user to interact witha mesh during the modeling process. Sophisticated de<strong>for</strong>mationalgorithms propagate the user’s changes throughout the mesh sothat features are de<strong>for</strong>med in a natural way. However, modelingis only one of the many instances in which a user must interactwith a computer-generated object. Likewise, meshes are but one ofmany representations in use today. While recent algorithms providepowerful manipulation paradigms <strong>for</strong> mesh modeling, few apply toother manipulation tasks or geometry representations.Our work endeavors to extend the intuitive nature of mesh modelingbeyond the realm of meshes. Ultimately, direct manipulation withnatural feature de<strong>for</strong>mation should apply to anything that can beembedded in space. We refer to this overall problem as “embeddedde<strong>for</strong>mation” since the algorithm must de<strong>for</strong>m space through directmanipulation of objects embedded within it, while preserving theembedded objects’ features. With this goal in mind, we propose analgorithm motivated by the following principles:Generality. In order to accommodate a wide range of shape representations,we incorporate a de<strong>for</strong>mation model based on spacede<strong>for</strong>mation that provides a global remapping of the ambient space.Any geometric primitive embedded in this space can be de<strong>for</strong>med.TrianglemeshPolygonsoupMeshanimationParticlesimulationFigure 1: <strong>Embedded</strong> de<strong>for</strong>mation of several shape representations.The space de<strong>for</strong>mation in our algorithm is defined by a collectionof affine trans<strong>for</strong>mations, each of which induces a de<strong>for</strong>mation onthe nearby space. Primitives are de<strong>for</strong>med by blending the effect oftrans<strong>for</strong>mations with overlapping influence.Efficiency. Since the geometric complexity of objects can beenormous, efficiency considerations dictate a reduced de<strong>for</strong>mablemodel that separates the complexity of the de<strong>for</strong>mation algorithmfrom the complexity of the geometry. We propose a reduced modelcalled a “de<strong>for</strong>mation graph” that is simple, general, and independentof any particular geometry representation. A de<strong>for</strong>mationgraph consists of nodes connected by undirected edges. One affinetrans<strong>for</strong>mation is associated with each node so that the nodes providespatial organization to the resulting de<strong>for</strong>mation. Graph edgesconnect nodes of overlapping influence and provide a means <strong>for</strong> in<strong>for</strong>mationexchange so that a globally consistent de<strong>for</strong>mation canbe found. Due to its simple structure, there are many ways to builda de<strong>for</strong>mation graph including point sampling, simplification, particletracing, or even hand design.Detail preservation. Detail preservation is a well-establishedgoal of any editing application: small-scale details should be preservedwhen a broad change in shape is made. Practically, thisrequirement means that local features should rotate during de<strong>for</strong>mation,rather than stretch or shear. Applying this criterion to thede<strong>for</strong>mation graph framework is straight<strong>for</strong>ward. Since the affinetrans<strong>for</strong>mations associated with the graph nodes represent localizedde<strong>for</strong>mations, details are best preserved when these trans<strong>for</strong>mationsrepresent rotations.Direct manipulation. We <strong>for</strong>mulate de<strong>for</strong>mation as an optimizationproblem in which positional constraints are specified on pointsthat define an embedded object. In general, any point in space canbe constrained to move to any other point. As the user manipulatesthe constraints, the algorithm finds optimal values <strong>for</strong> the affinetrans<strong>for</strong>mations. Detail preservation is encoded directly in the objectivefunction by measuring the deviation of each trans<strong>for</strong>mationfrom a true rotation. A regularization term ensures that neighboringtrans<strong>for</strong>mations are consistent with respect to one another.Our framework has a number of advantages. Unlike previous methods,our de<strong>for</strong>mation algorithm is independent of both the shape’srepresentation and its geometric complexity while still providing intuitivedetail preserving edits via direct manipulation. Since featurerotation is encoded directly in the optimization procedure, naturaledits are achieved solely through positional constraints. More cum-


ersome frame trans<strong>for</strong>mations are not required. The simplicity andflexibility of the de<strong>for</strong>mation graph make it easy to construct, sincea rough distribution of nodes in the region that the user wishes tomodify is sufficient. Although the optimization is nonlinear, complexedits can be achieved with only a few hundred nodes. Thus,the number of unknowns is small compared to the geometric complexityof the embedded object. With our efficient numerical implementation,even very detailed shapes can be edited interactively.Our primary contribution is a novel de<strong>for</strong>mation representation andoptimization procedure that unites the proven paradigms of directmanipulation and detail preservation with the flexibility of spacede<strong>for</strong>mations. We highlight the conceptual challenge of embeddedde<strong>for</strong>mation and provide a solution that expands intuitive editingto situations where it was previously lacking. Our method accommodatestraditional meshes with multiple connected components,polygon soups, point-based models with no connectivity in<strong>for</strong>mation,and mesh animations. Our system also allows the user to interactivelysculpt the result of a simulated particle system, easilycreating effects that would be cumbersome and costly to achieve bytweaking simulation parameters (Figure 1).2 BackgroundEarly work in shape modeling focuses on space de<strong>for</strong>mations [Barr1984] that provide a global remapping of space. Free-<strong>for</strong>m de<strong>for</strong>mation(FFD) [Sederberg and Parry 1988] parameterizes a spacede<strong>for</strong>mation with a 3D lattice and provides an efficient way to applycoarse de<strong>for</strong>mations to complex shapes. However, achieving a finescalede<strong>for</strong>mation may require a detailed, hand-designed controllattice [Coquillart 1990; MacCracken and Joy 1996] and an inordinateamount of user manipulation. Although more intuitive controlcan be provided through direct manipulation [Hsu et al. 1992], theuser is still restricted by the expressibility of the FFD algorithm.With their “Wires” concept, Singh and Fiume [1998] present a flexibleand effective space de<strong>for</strong>mation algorithm motivated by armaturesused in traditional sculpting. A collection of space curvestracks de<strong>for</strong>mable features of an object, providing a coarse approximationto the shape and a means to de<strong>for</strong>m it. Singh and Kokkevis[2000] generalize this concept to a polygon-based de<strong>for</strong>mer. Inboth cases, the user interacts solely with the proxy curves or polygonsrather than directly with the object being de<strong>for</strong>med. Rotations,scales, and translations are inferred from the user interaction andapplied to the object. These methods give the user powerful toolsto design de<strong>for</strong>mations and add detail to a shape. However, they arenot well suited to modify shapes that already are highly detailedsince the user must design armature curves or control polygons thatcon<strong>for</strong>m to details at the proper scale in order <strong>for</strong> the de<strong>for</strong>mationheuristics to generate acceptable results.Due to the widespread availability of very detailed scanned meshes,recent research focuses on high-quality mesh editing through intuitiveuser interfaces. Detail preservation is a central goal of suchalgorithms. Multiresolution methods achieve detail-preserving editsat varying scales by generating a hierarchy of simplified meshestogether with corresponding detail coefficients [Kobbelt et al. 1998;Botsch and Kobbelt 2004]. While models with large geometric detailsmay lead to local self-intersections or other artifacts [Botschet al. 2006b], the modeling metaphor presented by Kobbelt and colleagues[1998] in which a region-of-interest and handle region aredefined directly on the mesh is especially notable as it has beenapplied in nearly every subsequent mesh editing paper.Algorithms based on differential representations extract local shapeproperties, such as curvature, scale, and orientation. By representinga mesh in terms of these values, editing can be phrased as anenergy minimization problem that strives to preserve them [Sorkine2005]. Methods that per<strong>for</strong>m only linear system solves requireheuristics or other special treatment of feature rotation, since naturalshape de<strong>for</strong>mation is inherently nonlinear [Botsch and Sorkine2007]. Volumetric methods (e.g., [Zhou et al. 2005; Shi et al. 2006])build a dissection of the interior and nearby exterior space <strong>for</strong> bettervolume preservation, while subspace methods [Huang et al. 2006]build a subspace structure <strong>for</strong> increased efficiency and stability.Nonlinear methods (e.g., [Sheffer and Kraevoy 2004; Huang et al.2006; Botsch et al. 2006a]) yield the highest quality edits, althoughat higher computational costs.These algorithms provide powerful tools <strong>for</strong> detail-preserving meshediting. However, these and other mesh editing techniques do notmeet the goals of embedded de<strong>for</strong>mation since the de<strong>for</strong>mation algorithmis intimately tied to the shape representation. For example,in the method presented by Huang and colleagues [2006], detailpreservation is expressed as a mesh-based Laplacian energy that iscomputed in terms of vertices and their one-ring neighbors. Thework of Shi and colleagues [2006] and Zhou and colleagues [2005]both use a Laplacian energy term based on a mesh representation.The prism-based technique of Botsch and colleagues [2006a] usesa de<strong>for</strong>mation energy defined through a coupling of prisms alongmesh edges and requires a mesh representation with consistentconnectivity. These techniques do not apply to non-meshes, suchas point-based representations, particle systems, or polygon soupswhere no connectivity structure can be assumed.With our method, we adapt the intuitive click-and-drag modelingmetaphor used in mesh editing to the context of space de<strong>for</strong>mations.Like Wires [Singh and Fiume 1998] and its polygon-basedextension [Singh and Kokkevis 2000], our method is not tied to oneparticular representation and can be applied to any primitive definedby points in 3D. However, unlike Wires or other space de<strong>for</strong>mationalgorithms that do not explicitly preserve details [Hsu et al.1992; Botsch and Kobbelt 2005], we successfully <strong>for</strong>mulate detailpreservation within the space de<strong>for</strong>mation framework. The complexityof our de<strong>for</strong>mation graph is independent of the complexityof the shape being edited so that our technique can handle detailedshapes interactively. The graph need not be a volumetric dissectionand is simpler to construct than the volumetric or subspacestructures used by previous methods. The optimization problem isnonlinear and exhibits comparable quality to nonlinear mesh-basedalgorithms with less computational cost. Thus, our algorithm combinesthe flexibility of space de<strong>for</strong>mations to de<strong>for</strong>m any primitiveindependent of its geometric complexity with a simple and intuitiveclick-and-drag interface and high-quality detail preservation.3 <strong>De<strong>for</strong>mation</strong> GraphThe primary challenge of embedded de<strong>for</strong>mation is to find a de<strong>for</strong>mationmodel that is general enough to apply to any object embeddedin space yet still provides intuitive direct manipulation, naturalfeature preservation, and efficiency. We meet these goals with anovel reduced de<strong>for</strong>mable model called a “de<strong>for</strong>mation graph” thatcan express complex de<strong>for</strong>mations of a variety of shape representations.In this model, a space de<strong>for</strong>mation is defined by a collectionof affine trans<strong>for</strong>mations. One trans<strong>for</strong>mation is associated witheach node of a graph embedded in R 3 , so that the graph providesspatial organization to the de<strong>for</strong>mation. Each affine trans<strong>for</strong>mationinduces a localized de<strong>for</strong>mation on the nearby space. Undirectededges connect nodes of overlapping influence to indicate local dependencies.The node positions are given by g j ∈ R 3 , j ∈ 1...m,and the set N( j) consists of all nodes that share an edge with node j.The affine trans<strong>for</strong>mation <strong>for</strong> node j is specified by a 3 × 3 matrixR j and a 3 × 1 translation vector t j . The influence of the trans<strong>for</strong>mationis centered at the node’s position so that it maps any point pin R 3 to the position ˜p according to˜p = R j (p − g j ) + g j + t j . (1)A de<strong>for</strong>med version of the graph itself is computed by applyingeach affine trans<strong>for</strong>mation to its corresponding node. Since g j − g j


predicted by node j’s affine trans<strong>for</strong>mation should match the actualposition given by applying node k’s trans<strong>for</strong>mation to itself (Figure2). The regularization error E reg sums the squared distancesbetween each node’s trans<strong>for</strong>mation applied to its neighbors andthe actual trans<strong>for</strong>med neighbor positions:E reg =m ∥∑ ∑ α jk R j (g k − g j ) + g j + t j − (g k + t k ) ∥ 2 2 . (7)j=1 k∈N( j)The weight α jk should be proportional to the degree to which theinfluence of nodes j and k overlap. However, the exact amount ofoverlap is ill defined <strong>for</strong> many shape representations, such as pointbasedmodels and animated particle systems. In order to meet ourgoal of generality, we use α jk = 1.0 <strong>for</strong> all examples. We notice noartifacts compared to experiments using other weighting schemes.This regularization equation bears some resemblance to the de<strong>for</strong>mationsmoothness energy term used by previous work on templatede<strong>for</strong>mation [Allen et al. 2003; Sumner and Popović 2004; Paulyet al. 2005]. However, the trans<strong>for</strong>med vertex positions are compared,rather than the trans<strong>for</strong>mations themselves, and the trans<strong>for</strong>mationsare relative to the node positions, rather than to the globalcoordinate system.Constraints. The user controls the optimization through directmanipulation of the embedded shape and need not be aware of theunderlying de<strong>for</strong>mation graph. To facilitate editing, our algorithmsupports two types of constraints: handle constraints, where a collectionof model vertices are selected and become handles that aremanipulated by the user, and fixed constraints, where a collectionof model vertices are selected and guaranteed to be fixed in place.Handle constraints comprise the interface with which the user interactswith an embedded object. These positional constraints arespecified by selecting and moving model vertices. They influencethe optimization since the de<strong>for</strong>med vertex positions are a functionof the graph’s affine trans<strong>for</strong>mations. We en<strong>for</strong>ce these constraintsusing a penalty <strong>for</strong>mulation according to the term E con which isincluded in the objective function:p∥∥∥∥ 2E con = ∑ ∥ṽ index(l) − q l . (8)l=12Vertex ṽ index(l) is de<strong>for</strong>med by the de<strong>for</strong>mation graph according toEq. 2. The vector q l is the user-specified position of constraint l,and index(l) is the index of the constrained vertex.Fixed constraints are specified through the same selection mechanismas handle constraints. However, they are implemented bytreating all node trans<strong>for</strong>mations that influence the selected verticesas constants, rather than free variables, and removing them from theoptimization procedure. Their primary function is to allow the userto define the portion of the mesh which is to be edited. Fixed constraintsincur no computational overhead. Conversely, they speedup the computation by reducing the number of unknowns. Thus,the user can make a fine-scale edit by using a dense de<strong>for</strong>mationgraph and marking all parts of the embedded object not in the editregion as fixed.Numerics. Our shape editing framework solves the following optimizationproblem:min w rot E rot + w reg E reg + w con E con .R 1 ,t 1 ...R m ,t msubject to R q = I,t q = 0,∀q ∈ fixed idsWe use the weights w rot = 1, w reg = 10, and w con = 100 <strong>for</strong> all examples.Eq. 9 is nonlinear in terms of the 12m unknowns that definethe affine trans<strong>for</strong>mations. Fixed constraints are handled trivially bytreating the constrained variables as constants, leaving 12m − 12q(9)free variables if there are q fixed trans<strong>for</strong>mations. We implementthe iterative Gauss-Newton algorithm to solve the resulting unconstrainednonlinear least-squares problem [Madsen et al. 2004].The Gauss-Newton algorithm linearizes the nonlinear problem withTaylor expansion about x:f(x + δ) = f(x) + Jδ (10)The vector f(x) stacks the equations that define the objective functionso that f(x) ⊤ f(x) = F(x) = w rot E rot + w reg E reg + w con E con , thevector x stacks the entries in the affine trans<strong>for</strong>mations, and J is theJacobian matrix of f(x). Each Gauss-Newton iteration solves a linearizedproblem to improve x k , the current estimate of the unknowntrans<strong>for</strong>mations:δ k = argmin ‖f(x k ) + Jδ‖ 2 2δx k+1 = x k + δ k .(11)The process repeats until convergence, which we detect by monitoringthe change in the objective function F k = F(x k ), the gradientof the objective function, and the magnitude of the update vector δ k[Gill et al. 1989]:|F k − F k−1 | < ε(1 + F k )‖∇F k ‖ ∞ < 3 √ ε(1 + Fk ) (12)‖δ k ‖ ∞ < 2 √ ε(1 + ‖δk ‖ ∞ ).In our experiments, the optimization converges after about six iterationswith ε = 1.0 × 10 −6 .In each iteration, we solve the resulting normal equations byCholesky factorization. Although the linear system J ⊤ J is verysparse, it depends on x and thus changes at each iteration. There<strong>for</strong>e,the full factorization cannot be reused. However, the non-zerostructure remains unchanged so that a fill-reducing permutation ofthe matrix and symbolic factorization based only on its non-zerostructure can be precomputed and reused [Toledo 2003]. Thesesteps, together with careful implementation of the routines to buildJ and J ⊤ J, result in a very efficient solver. As shown in Table 1,each iteration requires about 20ms <strong>for</strong> the presented examples.5 ResultsWe have implemented the de<strong>for</strong>mation graph optimization both asan interactive editing application as well as an offline system <strong>for</strong>applying scripted constraints to animated data. Live edits with theinteractive application are demonstrated in the conference video,and key results are highlighted in this section.Detail preservation. Figure 3 demonstrates that our algorithmpreserves features of the embedded shape. A bumpy plane is modifiedby fixing vertices on the left in place and translating thoseon the right upward. Although this edit is purely translational, theoptimization finds node trans<strong>for</strong>mations that are as close as possibleto true rotations while meeting the vertex constraints and maintainingconsistency. As a result, the bumps on the plane de<strong>for</strong>min a natural fashion without shearing artifacts. These results arecomparable to the nonlinear prism-based approach of Botsch andcolleagues [2006a]. However, our algorithm uses a de<strong>for</strong>mationgraph of only 299 nodes, whereas Botsch’s method per<strong>for</strong>ms theoptimization on the full 40,401 vertex model and requires a consistentmeshing of the surface. Figure 3 also demonstrates that ourmethod preserves details better than the radial-basis function (RBF)approach of Botsch and Kobbelt [2005], where feature rotation isnot considered.Figure 4 demonstrates detail preservation on a more complex example.With a graph of only 222 nodes, our approach achieves a de<strong>for</strong>mationcomparable in quality to the subspace method of Huang and


Original surface40,401 vertices<strong>De<strong>for</strong>mation</strong> graph299 nodesDe<strong>for</strong>medde<strong>for</strong>mation graphDe<strong>for</strong>med surfacePriMo approach of[Botsch et al. 2006]RBF approach of[Botsch & Kobbelt 2005]Figure 3: When used to de<strong>for</strong>m a bumpy plane, our method accurately preserves features without shearing or stretching artifacts. The qualityof our results is comparable to the “PriMo” approach of Botsch and colleagues [2006a] and superior to the radial-basis function method ofBotsch and Kobbelt [2005].Original graphs(a) (b) (c) (d)De<strong>for</strong>med graphsOriginalDe<strong>for</strong>med222 nodesDe<strong>for</strong>med425 nodesDe<strong>for</strong>med1,048 nodesFigure 4: We per<strong>for</strong>m an edit similar to the one shown in Figure 9of the work of Huang and colleagues [2006]. With a graph of only222 nodes, our results are of comparable quality to Huang’s subspacegradient domain method. Per<strong>for</strong>ming the identical edit withmore complex graphs does not yield a significant change in quality.colleagues [2006] in which the Laplacian energy is en<strong>for</strong>ced on thefull mesh. Higher resolution graphs do not significantly improvequality. Per<strong>for</strong>ming the same editing task with graphs of 425 and1,048 nodes yields nearly identical results. Of course, if the graphbecomes too sparse to match the complexity of the de<strong>for</strong>mation, artifactswill occur, as can be expected with any reduced de<strong>for</strong>mablemodel. Likewise, in the highly regular setting shown in Figure 5,minor artifacts appear as a slight striped pattern. If additional nodesare used <strong>for</strong> interpolation or a less regular graph (Figure 3), no artifactsare noticeable.Intuitive editing. Figures 6 and 7 demonstrate the intuitive editingframework enabled by our system. High-quality edits areachieved by placing only a handful of single-vertex handle constraintson the shape. Figure 6 shows detail-preserving edits on amesh consisting of 85,792 vertices. The raptor is de<strong>for</strong>med by displacingpositional constraints only, without the need to explicitlyspecify frame rotations. Fine-scale details such as the teeth andwrinkles are preserved. Furthermore, when the head or body is manipulatedand the arms are left unconstrained, the arms rotate in anatural way to follow the body movement. Thus, features are preservedat a wide range of scales. In this example, a full body pose issculpted using a graph of 226 nodes. The tail is lifted, arms crossed,left leg moved <strong>for</strong>ward, and head rotated to look backward. Then,localized changes to the head are made with a more detailed graphof 840 nodes. However, fixed constraints specified by selecting theFigure 5: A highly regular de<strong>for</strong>mation graph with 200 nodes,shown in (a), is used to create the de<strong>for</strong>mation in (b). In this structuredsetting, minor artifacts are visible on the 13,024 vertex plane,shown in (c), as a slight striped pattern when k=4 graph nodes areused <strong>for</strong> trans<strong>for</strong>ming the mesh vertices. These artifacts disappearin (d) when k=8 nodes are used and are not present with less structuredgraphs (Figure 3).raptor’s body (green) leave only 138 active nodes <strong>for</strong> the head editso that the system remains interactive.Figure 7 shows interactive edits on a scanned toy giraffe. The modelconsists of a set of un-merged range scans that contain many holesand outliers, with a total of 79,226 vertices in 180 separate connectedcomponents. The de<strong>for</strong>mation graph consisting of 221 nodesis built automatically via uni<strong>for</strong>m sampling, allowing the user todirectly edit the shape without time-consuming pre-processing toobtain a consistent mesh representation.Mesh animations. In addition to static geometry, our approachalso supports effective editing of dynamic shapes. The mesh animationof Figure 8 is modified to lengthen the horse’s legs and neck,and turn its head. The de<strong>for</strong>mation graph, constructed with meshsimplification, is advected passively with the animated mesh. Sincethe graph nodes are chosen to coincide with mesh vertices, no additionalcomputation is required <strong>for</strong> the node positions to track the animation.The user can script edits by setting keyframes on a singlepose. Translational offsets are computed from this keyframe dataand applied frame-by-frame to the animation sequence with our offlineapplication. The graph structure and weighting remains fixedthroughout the animation. The output mesh animation incorporatesthe user’s edits while preserving geometric details, such as thehorse’s facial features, as well as high-frequency motion, such asthe head bobbing. No multiresolution hierarchy or signal processingis needed, unlike the method of Kircher and Garland [2006].Although we do not address temporal coherence directly, we noticedno coherence artifacts in our experiments.Particle simulations. The particle simulation shown in Figure 9is another example of a dynamic shape that can be edited with thede<strong>for</strong>mation graph framework. Our system allows small-scale correctionsthat would be tedious to achieve by tweaking simulationparameters, as well as more drastic modifications that go beyondthe capabilities of a pure simulation. In this example, particle positionsare precomputed with a fluid simulation. A linear de<strong>for</strong>mationgraph is built by sampling the path that a single particle travels over


OriginalEdit 1 OriginalEdit 2 Edit 3Figure 6: The user sculpts full body pose changes as well as detailed modifications to the raptor’s head. Yellow boxes indicate single-vertexhandle constraints, while the green region determines the fixed constraints.Original Edit 1Original Edit 1 Edit 2Figure 7: Interactive edits on un-merged range scans.Edit 2Edit 3Figure 9: Direct manipulation of simulated particles.6 ConclusionFigure 8: Three frames from an edited mesh animation.time. Nodes are created at fixed time intervals, and graph edgesconnect each sample to the previous and subsequent ones. The influenceof the graph on each particle is not fixed but varies with timeas the particle moves through space. As demonstrated in the video,the user can interactively sculpt the shape of the particle stream.The edited version retains the dynamic appearance of the simulation,while con<strong>for</strong>ming to the desired edits.Efficiency. As Table 1 indicates, our implementation achieves interactiveper<strong>for</strong>mance <strong>for</strong> all examples shown. The time required<strong>for</strong> each Gauss-Newton iteration, indicated by the “Solve” column,is usually around 20 to 30ms. For the giraffe model, we show timingstatistics <strong>for</strong> as many as 5,000 handle constraints, listed in the“Csts” column. The solver still maintains interactive per<strong>for</strong>mancewith only 38ms required <strong>for</strong> each Gauss-Newton iteration. For thedino model, the timing increases from 19ms <strong>for</strong> a graph of 222nodes to 148ms <strong>for</strong> a graph of 1,048 nodes. The graph de<strong>for</strong>mationis transferred to the embedded shape using a software implementationof Eq. 2, with timing shown in the “Def” column. A GPUimplementation may further improve per<strong>for</strong>mance. Our applicationde<strong>for</strong>ms the mesh, displays the result, and polls the user-interfaceat fixed intervals of 100ms, or sooner if the solver converges.We have presented a shape manipulation algorithm <strong>for</strong> embeddedde<strong>for</strong>mation that meets the goals of detail-preserving mesh editingin the framework of space de<strong>for</strong>mations. Our method is notabledue to its simplicity, efficiency, and versatility. For traditional meshediting, our algorithm per<strong>for</strong>ms comparably to existing nonlinearmethods. However, it applies as well to meshes with many connectedcomponents, polygon soups, point-based representations,and mesh animations. The de<strong>for</strong>mation graph is easy to constructand corresponds closely to the embedded shape. It facilitates meshanimations since the graph can be passively moved with the mesh.The reduced model ensures that the complexity of the de<strong>for</strong>mationalgorithm is not tied to the geometric complexity of the embeddedobject, while the optimization procedure strives to preserve shapefeatures in a natural fashion.Current limitations of our method direct us to areas of future work.The structure of the de<strong>for</strong>mation graph is static during an editingoperation and determines the achievable de<strong>for</strong>mation complexity.Fine-scale edits cannot be represented by a coarse-scale graph.However, in our experience, this restriction is not severe, sincegraph creation is light-weight. A coarse graph can easily be discardedand replaced with a more detailed one. Nevertheless, a moreelegant solution would be to dynamically update the graph structurebased on the user’s edits. The individual terms of the objectivefunction tell us when and where errors occur and indicate whenthe graph is poorly suited <strong>for</strong> the desired de<strong>for</strong>mation. These errorterms provide a starting point <strong>for</strong> a dynamic update strategy.


Model Vertices Nodes Csts Solve DefRaptor 85,792 226 27 20 ms 22 msGiraffe 79,226 221 13 17 ms 20 msHorse 8,431 303 10 23 ms 2 msFluid ˜1,070 107 8 4 ms 0.5 msGiraffe 79,226 221 670 20 ms 20 msGiraffe 79,226 221 1,900 25 ms 20 msGiraffe 79,226 221 5,000 38 ms 20 msDino 10,002 222 540 19 ms 3 msDino 10,002 425 540 41 ms 3 msDino 10,002 1,048 540 148 ms 3 msTable 1: Statistics and per<strong>for</strong>mance data <strong>for</strong> the interactive edits.Timing is measured in milliseconds on a 2.4GHz Intel Core 2 Duomachine with 2GB of RAM. Our solver is single-threaded and usesonly one core. The number of vertices <strong>for</strong> the fluid model representsthe average per frame.The spatial nature of our method may result in part of the graphinfluencing an undesired area of the shape, such as a hand nodeinfluencing the leg if a character’s arms are by its side. With meshrepresentations, this problem is solved by considering geodesic distancesalong the surface. However, in our general setting, geodesicsare ill defined. Since these problems are rare, we believe the mostappropriate solution is to rely on the user to fine-tune the spatialassociations with a simple user interface to “cut” undesired connections.For example, the user would draw a stroke between theleg and the hand when the undesired influence becomes noticeable.In our prototype implementation, we have incorporated only ahandful of different shape representations. Future work will exploreadditional ones, such as NURBS, subdivision, and implicit surfaces,2D images, and 3D volumetric data such as MRI scans, thevisible human data set, or simulated pressure fields. For NURBSand subdivision surfaces, a straight<strong>for</strong>ward extension to the positionalconstraints would allow the user to directly manipulate pointson the surface itself, rather than those that define the control hull.The extension to implicit surfaces and sampled grid data is lessclear. However, one could imagine building a de<strong>for</strong>mation graphby sampling a user-selected level set and resampling the data afterapplying the solved-<strong>for</strong> de<strong>for</strong>mation. Pursuing these goals willextend intuitive editing to additional situations where it is lacking.AcknowledgmentsWe are grateful to Niloy Mitra <strong>for</strong> his assistance with the point samplingroutine, Hao Li <strong>for</strong> editing the video, Richard Keiser <strong>for</strong> helpwith the fluid simulation, and Simone Riva <strong>for</strong> work on the Gauss-Newton implementation.ReferencesALLEN, B., CURLESS, B., AND POPOVIĆ, Z. 2003. The space ofhuman body shapes: Reconstruction and parameterization fromrange scans. ACM Trans. Graph. 22, 3.BARR, A. H. 1984. Global and local de<strong>for</strong>mations of solid primitives.In Proc. of SIGGRAPH.BOTSCH, M., AND KOBBELT, L. 2004. An intuitive framework<strong>for</strong> real-time free<strong>for</strong>m modeling. ACM Trans. Graph. 23, 3.BOTSCH, M., AND KOBBELT, L. 2005. Real-time shape editingusing radial basis functions. Computer Graphics Forum 24, 3.BOTSCH, M., AND SORKINE, O. 2007. On linear variational surfacede<strong>for</strong>mation methods. To appear in IEEE Transaction onVisualization on Computer Graphics.BOTSCH, M., PAULY, M., GROSS, M., AND KOBBELT, L. 2006.Primo: Coupled prisms <strong>for</strong> intuitive surface modeling. In FourthEurographics Symposium on Geometry Processing.BOTSCH, M., SUMNER, R. W., PAULY, M., AND GROSS, M.2006. <strong>De<strong>for</strong>mation</strong> transfer <strong>for</strong> detail-preserving surface editing.In Vision, Modeling & Visualization 2006.COQUILLART, S. 1990. Extended free-<strong>for</strong>m de<strong>for</strong>mation: A sculpturingtool <strong>for</strong> 3D geometric modeling. In Proc. of SIGGRAPH.GILL, P. E., MURRAY, W., AND WRIGHT, M. H. 1989. PracticalOptimization. Academic Press, London.GRASSIA, F. S. 1998. Practical parameterization of rotations usingthe exponential map. J. Graph. Tools 3, 3.HSU, W. M., HUGHES, J. F., AND KAUFMAN, H. 1992. Directmanipulation of free-<strong>for</strong>m de<strong>for</strong>mations. In Proc. of SIG-GRAPH.HUANG, J., SHI, X., LIU, X., ZHOU, K., WEI, L.-Y., TENG, S.-H., BAO, H., GUO, B., AND SHUM, H.-Y. 2006. Subspacegradient domain mesh de<strong>for</strong>mation. ACM Trans. Graph. 25, 3.KIRCHER, S., AND GARLAND, M. 2006. Editing arbitrarily de<strong>for</strong>mingsurface animations. ACM Trans. Graph. 25, 3.KOBBELT, L., CAMPAGNA, S., VORSATZ, J., AND SEIDEL, H.-P.1998. Interactive multi-resolution modeling on arbitrary meshes.In Proc. of SIGGRAPH.MACCRACKEN, R., AND JOY, K. I. 1996. Free-<strong>for</strong>m de<strong>for</strong>mationswith lattices of arbitrary topology. In Proc. of SIGGRAPH.MADSEN, K., NIELSEN, H., AND TINGLEFF, O. 2004. Methods<strong>for</strong> non-linear least squares problems. Tech. rep., In<strong>for</strong>maticsand Mathematical Modelling, Technical University of Denmark.MOHR, A., AND GLEICHER, M. 2003. Building efficient, accuratecharacter skins from examples. ACM Trans. Graph. 22, 3.PAULY, M., MITRA, N. J., GIESEN, J., GROSS, M., ANDGUIBAS, L. J. 2005. Example-based 3d scan completion. InThird Eurographics Symposium on Geometry Processing.SEDERBERG, T. W., AND PARRY, S. R. 1988. Free-<strong>for</strong>m de<strong>for</strong>mationof solid geometric models. In Proc. of SIGGRAPH.SHEFFER, A., AND KRAEVOY, V. 2004. Pyramid coordinates <strong>for</strong>morphing and de<strong>for</strong>mation. In Proc. of the 2nd Symposium on3D Processing, Visualization and Transmission.SHI, L., YU, Y., BELL, N., AND FENG, W.-W. 2006. A fastmultigrid algorithm <strong>for</strong> mesh de<strong>for</strong>mation. ACM Trans. Graph.25, 3.SINGH, K., AND FIUME, E. L. 1998. Wires: A geometric de<strong>for</strong>mationtechnique. In Proc. of SIGGRAPH.SINGH, K., AND KOKKEVIS, E. 2000. Skinning characters usingsurface oriented free-<strong>for</strong>m de<strong>for</strong>mations. In Graphics Interface.SORKINE, O. 2005. Laplacian mesh processing. In State of the ArtReports, Eurographics.SUMNER, R. W., AND POPOVIĆ, J. 2004. <strong>De<strong>for</strong>mation</strong> transfer<strong>for</strong> triangle meshes. ACM Trans. Graph. 23, 3.TOLEDO, S., 2003. TAUCS: A library of sparse linear solvers,version 2.2. http://www.tau.ac.il/∼stoledo/taucs.WEBER, J. 2000. Run-time skin de<strong>for</strong>mation. In Proceedings ofthe 2000 Game Developers Conference.ZHOU, K., HUANG, J., SNYDER, J., LIU, X., BAO, H., GUO, B.,AND SHUM, H.-Y. 2005. Large mesh de<strong>for</strong>mation using thevolumetric graph laplacian. ACM Trans. Graph. 24, 3.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!