Skinning Cubic Bézier Splines and Catmull-Clark Subdivision Surfaces Songrun Liu George Mason University Alec Jacobson Columbia University Yotam Gingold George Mason University SPONSORED BY SA2014.SIGGRAPH.ORG
Raster Deformation SPONSORED BY SA2014.SIGGRAPH.ORG
Raster Deformation SPONSORED BY SA2014.SIGGRAPH.ORG
Vector Graphics Deformation SPONSORED BY SA2014.SIGGRAPH.ORG
Vector Graphics Deformation SPONSORED BY SA2014.SIGGRAPH.ORG
Vector Graphics Deformation SPONSORED BY SA2014.SIGGRAPH.ORG
Our Approach SPONSORED BY SA2014.SIGGRAPH.ORG
Our Approach SPONSORED BY SA2014.SIGGRAPH.ORG
Our Approach SPONSORED BY SA2014.SIGGRAPH.ORG
Our Approach Deforming All Control Points SPONSORED BY SA2014.SIGGRAPH.ORG
Our Approach Deforming All Control Points Deforming Joint Control Points SPONSORED BY SA2014.SIGGRAPH.ORG
Related Work SPONSORED BY SA2014.SIGGRAPH.ORG
2D Vector Graphics • Splines in 2D — Cubic Bézier splines. n X B C ( t ) = b i,n ( t ) C i , t ∈ [0 , 1] i =0 SPONSORED BY SA2014.SIGGRAPH.ORG
2D Vector Graphics • Splines in 2D — Cubic Bézier splines. n X B C ( t ) = b i,n ( t ) C i , t ∈ [0 , 1] i =0 SPONSORED BY SA2014.SIGGRAPH.ORG
2D Vector Graphics • Splines in 2D — Cubic Bézier splines. n X B C ( t ) = b i,n ( t ) C i , t ∈ [0 , 1] i =0 Siggraph SPONSORED BY SA2014.SIGGRAPH.ORG
2D Vector Graphics • Splines in 2D — Cubic Bézier splines. n X B C ( t ) = b i,n ( t ) C i , t ∈ [0 , 1] i =0 Siggraph SPONSORED BY SA2014.SIGGRAPH.ORG
3D Vector Graphics • Subdivision Surfaces in 3D — Catmull-Clark Subdivision Surfaces. SPONSORED BY SA2014.SIGGRAPH.ORG
3D Vector Graphics • Subdivision Surfaces in 3D — Catmull-Clark Subdivision Surfaces. SPONSORED BY SA2014.SIGGRAPH.ORG
3D Vector Graphics • Subdivision Surfaces in 3D — Catmull-Clark Subdivision Surfaces. normal control point • Inherently C2 everywhere except extraordinary vertices (C1) SPONSORED BY SA2014.SIGGRAPH.ORG
3D Vector Graphics • Subdivision Surfaces in 3D — Catmull-Clark Subdivision Surfaces. sharp crease • Inherently C2 everywhere except extraordinary vertices (C1) • Sharp creases can also be specified SPONSORED BY SA2014.SIGGRAPH.ORG
Linear Blend Skinning(LBS) ✓ v ◆ v 0 = X w j ( v ) T j 1 j 2 H SPONSORED BY SA2014.SIGGRAPH.ORG
Linear Blend Skinning(LBS) H ✓ v ◆ v 0 = X w j ( v ) T j 1 j 2 H SPONSORED BY SA2014.SIGGRAPH.ORG
Linear Blend Skinning(LBS) w j H ✓ v ◆ v 0 = X w j ( v ) T j 1 j 2 H SPONSORED BY SA2014.SIGGRAPH.ORG
Linear Blend Skinning(LBS) T j w j H ✓ v ◆ v 0 = X w j ( v ) T j 1 j 2 H SPONSORED BY SA2014.SIGGRAPH.ORG
Linear Blend Skinning(LBS) T j w j H ✓ v ◆ v 0 = X w j ( v ) T j 1 j 2 H SPONSORED BY SA2014.SIGGRAPH.ORG
Linear Blend Skinning(LBS) ✓ v ◆ v 0 = X w j ( v ) T j 1 j 2 H SPONSORED BY SA2014.SIGGRAPH.ORG
Difficulty Skinning Cubic Bézier Curve Apply skinning to v = B C ( t ) ✓ ◆ v v 0 = X w j ( v ) T j 1 j 2 H SPONSORED BY SA2014.SIGGRAPH.ORG
Difficulty in Deforming A Cubic Bézier Curve Apply skinning to v = B C ( t ) v ✓ ◆ v v 0 = X w j ( v ) T j 1 j 2 H SPONSORED BY SA2014.SIGGRAPH.ORG
Difficulty in Deforming A Cubic Bézier Curve Apply skinning to v = B C ( t ) v ✓ ◆ v v 0 = X w j ( v ) T j 1 j 2 H SPONSORED BY SA2014.SIGGRAPH.ORG
Difficulty in Deforming A Cubic Bézier Curve Apply skinning to v = B C ( t ) v ✓ ◆ v v 0 = X w j ( v ) T j 1 j 2 H SPONSORED BY SA2014.SIGGRAPH.ORG
Difficulty in Deforming A Cubic Bézier Curve Apply skinning to v = B C ( t ) ✓ ◆ v v 0 = X w j ( v ) T j 1 j 2 H SPONSORED BY SA2014.SIGGRAPH.ORG
Difficulty in Deforming A Cubic Bézier Curve Apply skinning to v = B C ( t ) ✓ ◆ v v 0 = X w j ( v ) T j 1 j 2 H SPONSORED BY SA2014.SIGGRAPH.ORG
Difficulty in Deforming A Cubic Bézier Curve Apply skinning to v = B C ( t ) No longer a cubic Bézier curve! ✓ ◆ v v 0 = X w j ( v ) T j 1 j 2 H SPONSORED BY SA2014.SIGGRAPH.ORG
Difficulty in Deforming A Cubic Bézier Curve Apply skinning to v = B C ( t ) Target(t) No longer a cubic Bézier curve! ✓ ◆ v v 0 = X w j ( v ) T j 1 j 2 H SPONSORED BY SA2014.SIGGRAPH.ORG
How it works • Minimizing the L2 norm Target ( t ) SPONSORED BY SA2014.SIGGRAPH.ORG
How it works • Minimizing the L2 norm B C 0 ( t ) − Target ( t ) SPONSORED BY SA2014.SIGGRAPH.ORG
How it works • Minimizing the L2 norm Z k B C 0 ( t ) � Target ( t ) k 2 d t E ( C 0 ) = L SPONSORED BY SA2014.SIGGRAPH.ORG
How it works • Minimizing the L2 norm Z k B C 0 ( t ) � Target ( t ) k 2 d t E ( C 0 ) = L SPONSORED BY SA2014.SIGGRAPH.ORG
How it works • Minimizing the L2 norm Z k B C 0 ( t ) � Target ( t ) k 2 d t E ( C 0 ) = L SPONSORED BY SA2014.SIGGRAPH.ORG
How it works • Minimizing the L2 norm Z k B C 0 ( t ) � Target ( t ) k 2 d t E ( C 0 ) = L SPONSORED BY SA2014.SIGGRAPH.ORG
How it works • Minimizing the L2 norm Z k B C 0 ( t ) � Target ( t ) k 2 d t E ( C 0 ) = L C 0 = X T j ˆ W j ˆ A � 1 j 2 H SPONSORED BY SA2014.SIGGRAPH.ORG
How it works • Minimizing the L2 norm Z k B C 0 ( t ) � Target ( t ) k 2 d t E ( C 0 ) = L C 0 = X T j ˆ W j ˆ A � 1 Pre-computed j 2 H SPONSORED BY SA2014.SIGGRAPH.ORG
How it works • Minimizing the L2 norm Z k B C 0 ( t ) � Target ( t ) k 2 d t E ( C 0 ) = L C 0 = X T j ˆ W j ˆ A � 1 Pre-computed j 2 H ✓ ◆ v LBS: v 0 = X w j ( v ) T j 1 j 2 H SPONSORED BY SA2014.SIGGRAPH.ORG
How it works • Minimizing the L2 norm Z k B C 0 ( t ) � Target ( t ) k 2 d t E ( C 0 ) = L C 0 = X T j ˆ W j ˆ A � 1 Pre-computed j 2 H ✓ ◆ v LBS: v 0 = X T j w j ( v ) 1 j 2 H SPONSORED BY SA2014.SIGGRAPH.ORG
Our approach extends to 3D Z k B C 0 ( t ) � Target ( t ) k 2 d t E ( C 0 ) = L SPONSORED BY SA2014.SIGGRAPH.ORG
Our approach extends to 3D Z k G C 0 ( u, v ) � Target ( u, v ) k 2 d u d v E ( C 0 ) = D SPONSORED BY SA2014.SIGGRAPH.ORG
3D Live Demo SPONSORED BY SA2014.SIGGRAPH.ORG
3D Results Original Original Original Original SPONSORED BY SA2014.SIGGRAPH.ORG
Why 2D is more complicated? SPONSORED BY SA2014.SIGGRAPH.ORG
Why 2D is more complicated? In practice: SPONSORED BY SA2014.SIGGRAPH.ORG
Why 2D is more complicated? In practice: SPONSORED BY SA2014.SIGGRAPH.ORG
Why 2D is more complicated? In practice: SPONSORED BY SA2014.SIGGRAPH.ORG
Bézier Spline Junctions Original Deformed C 0 C 1 default G 1 flexible (optional) Angle SPONSORED BY SA2014.SIGGRAPH.ORG
Bézier Spline Junctions Original Deformed C 0 C 1 default G 1 flexible (optional) Angle SPONSORED BY SA2014.SIGGRAPH.ORG
Bézier Spline Junctions Original Deformed C 0 C 1 default G 1 flexible (optional) Angle SPONSORED BY SA2014.SIGGRAPH.ORG
Bézier Spline Junctions Original Deformed C 0 C 1 default G 1 flexible (optional) Angle SPONSORED BY SA2014.SIGGRAPH.ORG
2D Live Demo SPONSORED BY SA2014.SIGGRAPH.ORG
Applied on different weights Shepard’s Weights [Shepard 1968] Bounded Biharmonic Weights [Jacobson et al. 2011] Harmonic Coordinates [Joshi et al. 2007] SPONSORED BY SA2014.SIGGRAPH.ORG
Performance # faces pre-compute seconds per # curves pre-compute seconds per time(secs) update time(secs) update 4150 9 0.0002 1324 3.2 0.03 in C++ in Python SPONSORED BY SA2014.SIGGRAPH.ORG
Limitation and Future Work SPONSORED BY SA2014.SIGGRAPH.ORG
Limitation and Future Work • Other primitives in vector graphics • circular arcs, NURBS, clothoid splines. • linear or radial gradients, diffusion curves, texture. SPONSORED BY SA2014.SIGGRAPH.ORG
Limitation and Future Work • Other primitives in vector graphics • circular arcs, NURBS, clothoid splines. • linear or radial gradients, diffusion curves, texture. • Adaptivity no control points Original Deformed Control Points Additional SPONSORED BY SA2014.SIGGRAPH.ORG
Limitation and Future Work no control points Original Deformed Control Points Additional SPONSORED BY SA2014.SIGGRAPH.ORG
Limitation and Future Work [Schneider 1990] SPONSORED BY SA2014.SIGGRAPH.ORG
Limitation and Future Work [Schneider 1990] [Our approach] SPONSORED BY SA2014.SIGGRAPH.ORG
Limitation and Future Work • Other primitives in vector graphics • circular arcs, NURBS, clothoid splines. • linear or radial gradients, diffusion curves, texture. • Adaptivity no control points Original Deformed Control Points Additional [Schneider 1990] [Our approach] SPONSORED BY SA2014.SIGGRAPH.ORG
Recommend
More recommend