Subspace Gradient Domain Mesh DeformationScott SchaeferContributionsFramework for constrained deformationFramework for constrained deformationSkeletal constraintsSkeletal constraintsVolume preservationVolume preservationProjectionProjection--based manipulationbased manipulationDetail preservation functionDetail preservation functionFast nonFast non--linear, sublinear, sub--space solverspace solverSkeletal ConstraintsConstructing BonesUser drags a line in screen spaceUser drags a line in screen spaceFor each pixelFor each pixelFind first two intersections with surfaceFind first two intersections with surfaceFit a least squares line to all midpointsFit a least squares line to all midpointsRegion of InfluenceConstruct supporting planes (normal Construct supporting planes (normal perpendicular to perpendicular to abab) at end) at end--pointspointsFlood from intersection triangles outward Flood from intersection triangles outward until all connecteduntil all connectedMathematical ConstraintFor each sample point along For each sample point along ababCompute MV coordinates with respect to Compute MV coordinates with respect to vertices in region of influencevertices in region of influenceClose mesh by fanning to Close mesh by fanning to centroidcentroidon endson endsVolume PreservationCalculating AreaCalculating AreaCalculating AreaCalculating AreaCalculating AreaCalculating AreaCalculating AreaCalculating AreaCalculating Area11121221100yxyxyxCalculating AreaCalculating AreaCalculating AreaCalculating AreaCalculating AreaCalculating AreaCalculating AreaCalculating AreaCalculating AreaCalculating AreaCalculating Area11121221100yxyxyxCalculating Area10011211100yxyxCalculating Area∑++=iiiiiyxyxarea1121Calculating Volume∑=iiiiiiiiiizyxzyxzyxvolume3,3,3,2,2,2,1,1,1,61Projection-Based ManipulationDetail PreservationNonNon--linear linear LaplacianLaplaciancoordinatescoordinatesip0pir,θil,θ)())cot()(cot(0,,21ppnkiiilir−+∝−∑θθDetail PreservationNonNon--linear linear LaplacianLaplaciancoordinatescoordinatesip0pir,θil,θ)())cot()(cot(0,,21ppnkiiilir−+=−∑θθαDetail PreservationNonNon--linear linear LaplacianLaplaciancoordinatescoordinatesip0pir,θil,θ∑∑+++=iiliriiilirnkpp))cot()(cot())cot()(cot(,,21,,210θθαθθDetail PreservationNonNon--linear linear LaplacianLaplaciancoordinatescoordinatesip0pir,θil,θvppiiliriiilir+++=∑∑))cot()(cot())cot()(cot(,,,,0θθθθDetail PreservationNonNon--linear linear LaplacianLaplaciancoordinatescoordinatesvppiiliriiilir+++=∑∑))cot()(cot())cot()(cot(,,,,0θθθθ0pipDetail PreservationNonNon--linear linear LaplacianLaplaciancoordinatescoordinatesvppiiliriiilir+++=∑∑))cot()(cot())cot()(cot(,,,,0θθθθ0pipDetail PreservationNonNon--linear linear LaplacianLaplaciancoordinatescoordinatesvppiiliriiilir+++=∑∑))cot()(cot())cot()(cot(,,,,0θθθθ0pipvDetail PreservationNonNon--linear linear LaplacianLaplaciancoordinatescoordinatesvppppiiii=−×−+∑)()(010α0pipvFind through pseudoinverseiαDetail PreservationNonNon--linear linear LaplacianLaplaciancoordinatescoordinates0pipvvppppppppppiiiiiiiiii)ˆˆ()ˆˆ()ˆˆ()ˆˆ(0010010ˆˆ−×−∑−×−∑+++=∑ααβNon-linear MinimizationSubspace SolverConstruct a lowConstruct a low--res approximation of meshres approximation of meshExpress constraints in terms of MV Express constraints in terms of MV coordinatescoordinatesSubspace SolverSubspace SolverConstraints are on the highConstraints are on the high--resresmesh… NOT mesh… NOT the lowthe low--res meshres meshA variant of a multiA variant of a multi--grid solvergrid solverSpeeds up convergence and helps stabilitySpeeds up convergence and helps stabilitySubspace SolverConstraints are on the highConstraints are on the high--resresmesh… NOT mesh… NOT the lowthe low--res meshres meshA variant of a multiA variant of a multi--grid solvergrid solverSpeeds up convergence and helps stabilitySpeeds up convergence and helps stabilitySubspace SolverResolution of lowResolution of low--res mesh affects quality of res mesh affects quality of deformationdeformationResultsConclusionsMost useful deformation constraints involve Most useful deformation constraints involve nonnon--linear functionslinear functionsMV coordinates accelerate solvingMV coordinates accelerate solvingDon’t be afraid of nonDon’t be afraid of
View Full Document