Professor Yotam Gingold highlights a visually exciting project related to computer graphics and animation.
Smooth space deformation has become a vital tool for the animation and design of 2D and 3D shapes. Linear methods, under the umbrella term of “linear blend skinning”, are the de facto standard for 3D animations. Unfortunately such approaches do not trivially extend to deforming vector graphics, such as the cubic Bézier splines prevalent in 2D or subdivision surfaces in 3D. In 2D, cubic Bézier splines are the standard 2D vector graphics representation, supported natively by virtually every operating system, including the web, and used for high quality illustrations and to define the typefaces we use everyday. Millions of devices and thousands of designers work with these curves every day. In 3D, Catmull-Clark subdivision surfaces are widely used to define the shape of characters and objects in films, games, and computer-aided design.
This project fills the gap in the literature that prevents an entire family of deformation and editing approaches (based on LBS) from being used with an extremely popular computer graphics representation. We propose a variational approach to reposition the control points of cubic Bézier splines and Catmull-Clark subdivision surfaces, or indeed any linear subdivision curves or surfaces, to produce curves or surfaces which match a linear blend skinning deformation as closely as possible. Exploiting the linearity of linear blend skinning, we show how this optimization collapses neatly into the repeated multiplication of a matrix per handle. We support C0, C1, G1, and fixed-angle continuity constraints between adjacent Bézier curves in a spline. Complexity scales linearly with respect to the number of input curves and run-time performance is fast enough for real-time editing and animation of high-resolution shapes.
In October 2017, this work was adopted by Adobe Illustrator as the Puppet Warp tool.