Mean Value Coordinates for Closed Triangular MeshesMean Value Coordinates for Closed Triangular MeshesScott SchaeferSimple 2D DeformationSimple 2D DeformationSimple 2D DeformationSimple 2D Deformation1p3p2pSimple 2D DeformationSimple 2D Deformationv1p3p2pSimple 2D DeformationSimple 2D Deformationv1p3p2p321332211AAApApApAv++++=1A2A3ASimple 2D DeformationSimple 2D Deformationv1p3p2p321332211AAApApApAv++++=1A2A3A2ˆp3ˆp1ˆpSimple 2D DeformationSimple 2D Deformationv1p3p2p321332211ˆˆˆˆAAApApApAv++++=1A2A3A2ˆp3ˆp1ˆpvˆSimple 2D DeformationSimple 2D Deformationv1p3p2p1A2A3A2ˆp3ˆp1ˆpvˆ321332211ˆˆˆˆAAApApApAv++++=Simple 2D DeformationSimple 2D Deformationv1p3p2p1A2A3A2ˆp3ˆp1ˆp321332211ˆˆˆˆAAApApApAv++++=Barycentric CoordinatesBarycentric Coordinates• Given find weights such that• are barycentric coordinatesiw∑∑=iiiiiwpwvv∑jjiwwv1p3p2p1A2A3ABarycentric CoordinatesBarycentric Coordinates• Given find weights such that• are barycentric coordinates1p3p2p4p5pviw∑∑=iiiiiwpwvv∑jjiwwBoundary Value InterpolationBoundary Value Interpolation• Given , compute such that• Given values at , construct a function• Interpolates values at vertices• Linear on boundary• Smooth on interior1p2p3p4p5p∑∑=iiiiiwfwvf ][ˆ∑∑=iiiiiwpwvipiwifipBoundary Value InterpolationBoundary Value Interpolation• Given , compute such that• Given values at , construct a function• Interpolates values at vertices• Linear on boundary• Smooth on interior1f2f3f4f5f∑∑=iiiiiwfwvf ][ˆ∑∑=iiiiiwpwvipiwifipBoundary Value InterpolationBoundary Value Interpolation• Given , compute such that• Given values at , construct a function• Interpolates values at vertices• Linear on boundary• Smooth on interior∑∑=iiiiiwfwvf ][ˆ1f2f3f4f5f∑∑=iiiiiwpwvipiwifipPrevious WorkPrevious Workconvex polygons[Wachspress 1975]closed polygons[Floater 2003, Hormann 2004]Previous WorkPrevious Workconvex polygons[Wachspress 1975]closed polygons[Floater 2003, Hormann 2004]Previous WorkPrevious Workconvex polygons[Wachspress 1975]closed polygons[Floater 2003, Hormann 2004]Previous WorkPrevious Workconvex polygons[Wachspress 1975]closed polygons[Floater 2003, Hormann 2004]Previous WorkPrevious Workconvex polygons[Wachspress 1975]closed polygons[Floater 2003, Hormann 2004]3D convex polyhedra[Warren 1996, Warren et al 2004]3D closed triangle meshes[Floater et al (to appear in CAGD)]Application:Surface DeformationApplication:Surface Deformation∑∑=iiiiiwpwvipvApplication:Surface DeformationApplication:Surface Deformation∑∑=iiiiiwpwvipvApplication:Surface DeformationApplication:Surface Deformation∑∑=iiiiiwpwvˆˆipˆ∑∑=iiiiiwpwvipvvˆApplication:Surface DeformationApplication:Surface Deformation∑∑=iiiiiwpwvvip∑∑=iiiiiwpwvˆˆvˆipˆBarycentric Coordinates Through ProjectionBarycentric Coordinates Through Projection∑∑=iiiiiwpwv1p2p3p4p5pvBarycentric Coordinates Through ProjectionBarycentric Coordinates Through Projection1p2p3p4p5pv0)( =−∑iiivpwBarycentric Coordinates Through ProjectionBarycentric Coordinates Through Projection1p2p3p4p5pvvS0)( =−∑iiivpwBarycentric Coordinates Through ProjectionBarycentric Coordinates Through Projection1p2p3p4p5pimvvS0)( =−∑iiivpwBarycentric Coordinates Through ProjectionBarycentric Coordinates Through Projection•1p2p3p4p5pimvvS0=∑iim0)( =−∑iiivpwBarycentric Coordinates Through ProjectionBarycentric Coordinates Through Projection••1p2p3p4p5pimvvS)()(11vpvpmiiiii−+−=++βα0)( =−∑iiivpw0=∑iimBarycentric Coordinates Through ProjectionBarycentric Coordinates Through Projection•••1p2p3p4p5pimvvS0))(( =−+∑iiiivpβα0)( =−∑iiivpw)()(11vpvpmiiiii−+−=++βα0=∑iimBarycentric Coordinates Through ProjectionBarycentric Coordinates Through Projectionimv1n2n0)( =−∑iiivpwBarycentric Coordinates Through ProjectionBarycentric Coordinates Through Projection• Apply Stokes’ Theorem• Reproduces [Floater 2003]for 2D polygonsimv1n2n021=++nnmi0)( =−∑iiivpwComputing the Mean VectorComputing the Mean Vectorv• Compute mean vector for a given spherical triangleComputing the Mean VectorComputing the Mean VectormvmComputing the Mean VectorComputing the Mean Vector• Compute mean vector for a given spherical triangle• Build wedge with face normalsvmknknm• Compute mean vector for a given spherical triangle• Build wedge with face normals• Apply Stokes’ Theorem,Computing the Mean VectorComputing the Mean Vectorvmknkθ03121=+∑=mnkkkθknmInterpolant ComputationInterpolant Computation• Compute mean vectorvmknkθ03121=+∑=mnkkkθInterpolant ComputationInterpolant Computation• Compute mean vector• Calculate weights03121=+∑=mnkkkθ)( vpnmnwkkkk−⋅⋅=vmkpInterpolant ComputationInterpolant Computation• Compute mean vector• Calculate weights• Sum over all trianglesvm03121=+∑=mnkkkθ)( vpnmnwkkkk−⋅⋅=∑ ∑∑∑===j kjkj kjkjkwfwvf3131][ˆkpImplementation ConsiderationsImplementation Considerations• Special cases– on boundary• Numerical stability– Small spherical triangles– Large meshes• Pseudo-code provided in papervmknvApplicationsBoundary Value ProblemsApplicationsBoundary Value ProblemsApplicationsSolid TexturesApplicationsSolid TexturesApplicationsSurface DeformationApplicationsSurface Deformation0.03 seconds1.9 seconds30,000 triangles216 trianglesDeformationComputing WeightsSurfaceControl MeshApplicationsSurface DeformationApplicationsSurface Deformation0.03 seconds1.9 seconds30,000 triangles216 trianglesDeformationComputing WeightsSurfaceControl MeshReal-time!ApplicationsSurface DeformationApplicationsSurface Deformation0.09 seconds3.3 seconds96,966 triangles98 trianglesDeformationComputing WeightsSurfaceControl MeshSummarySummary• Integral formulation for closed surfaces• Closed-form solution for triangle meshes– Numerically stable evaluation• Applications– Boundary Value Interpolation– Surface
View Full Document