¢¡¤£¦¥¨§¤© ¦  £ ££   ! "$#&% ¥(')*¥,+-%.%/ 102 ¦ !345+¤ %.

Michael D. Smith 6 Thomas W. Sederberg

Brigham Young University 798;:&<>=@?;AB<

Existing computer supported cartoon (CSCI) meth- ods often create inbetweens that are of unsatisfactory quality to professional or require too many time consuming adjust- ments to be economical. This paper describes skeletal interpolation a user-guided solution to the path problem in CSCI. When used within a complete CSCI system, skeletal interpolation can cut total production time by 75 percent or more while maintaining the artistic quality of the animation. Figure 1: The three drawings in the middle are inbetweens for the key frames indicated by black boxes on the ends. CR Categories: G.1.1 [Mathematics of Computing]: Numerical Analysis—Interpolation H.5.2 [Information Systems]: Information Interfaces and Presentation—User-centered Design I.3.5 [Comput- Most cartoon animation today is created using key frame ani- ing Methodologies]: —Computational Geome- mation. Creating the inbetweens for this type of animation is a try and Object Modeling laborious and often expensive process [Durand 1991]. The goal Keywords: cartoon animation, inbetweening, interpolation, shape of computer supported cartoon inbetweening (CSCI) systems is to blending lower production costs while preserving artistic freedom. The central task of CSCI is shape blending, or gradually trans-

forming one shape into another. In cartoon animation, these shapes

C DFE E <>=HGJILKMAB

Q cartoon animation while speeding up production time by a factor of e-mail: [email protected] four. †[email protected] This paper is organized as follows. R 2 discusses advantages and disadvantages of previous solutions to the path problem in CSCI.

R 3 presents skeletal interpolation as a solution to the path problem

and R 4 gives details about its integration into a full CSCI system. R R 5 presents statistical and visual results, and 6 comments on these

results.

S T E T T

=HU¤VWNPGLKM:YXZG\[]KW`;U ?W<>` =@GL8a[bUac

Solutions to the path problem in shape blending can be divided into automatic and user-guided methods. 1995] uses a global linear transformation to define paths for the inbetweens on a pair of rasterized line drawings. Unpublished solutions include Creature House’s LivingCels that automatically matches and inbetweens the curves in different key frames. This algorithm along with the others mentioned above often give pleasing results and have some useful properties. However, one side effect to these completely automatic approaches is that the

results usually appear mechanical and lack expression.

¢¡  ©!#"%$&¦'¨( ¢

(a) An arm flexing using linear motion. User-guided solutions to the path problem recognize that purely au- tomatic methods are not satisfactory in many situations. [Burtnyk and Wein 1976] presents one of the first computer supported car- toon inbetweening algorithms. This approach defines 2D parameter spaces for the line segments in two drawings for which the corre- spondence problem has already been solved. The user controls a polynomial path that describes how the drawings will be distorted from one frame to the next by editing the position of inbetween frames. This method gives encouraging results but requires exten- sive user input to specify correspondences between drawings and fix distorted inbetweens. Both [Reeves 1981] and [Kort 2002] direct the motion of curves from one key frame to another through the use of paths attached (b) An arm flexing along curved paths. to points in a pair of matching curves. The curves and the paths attached to them form a patch network to which an inbetweening algorithm may be applied. While this may provide significant con- Figure 2: Two different solutions to the path problem. trol over the resulting inbetweens, the editing of each of these paths to achieve desirable results generally takes too much time to make

it efficient for drawings containing more than a few curves. ¥§¦©¨ ¨ ¨ ¢ ¢¡¤£ In [Litwinowicz 1991], characters are composed of simple ge- ometric primitives such as rectangles, lines, and ellipses. These Fully automatic solutions to the path problem have uses in several primitives are arranged in a transformation hierarchy whose base areas of computer graphics. However, one critical issue that such paths are represented by splines. An animator edits the animation methods overlook in their application to CSCI is that the art of an- of a character by altering the parameters of an inbetween frame. imation does not consist of merely moving things with mathemat- The simple shapes of the character are texture mapped via Coons ical precision, but rather should “give them life” or the illusion of patches to allow a variety of similarly structured characters to use having life [Thomas and Johnston 1981]. This life is based on the the same animation data. Since there is no shape blending or mor- artistic interpretation of the animator. Since fully automatic meth- phing between different drawings, the animation consists of moving ods do not consider artistic interpretation, they are unacceptable as and distorting images in a flat plane. This results in animation that solutions to the path problem in CSCI. lacks depth and expression [Thomas and Johnston 1981; Hopper The simplest automatic solution to the path problem is to move and Gagne 1988; Bluth and Goldman 2002]. the points in a shape along straight lines to their destination posi- To provide life-like movement and artistic input for inbetweens, tion. This works satisfactorily in some simple cases, but in general [Bregler et al. 2002] captures and retargets motion from preexisting gives poor results as shown in Figure 2(a). animation. Although this process serves the objective, it does not Advances over linear interpolation include [Sederberg et al. generate new motions for which there is no existing template. 1993] where corresponding polygons are blended by interpolating There are several commercially available CSCI systems that con- their edge lengths and angles. [Johan et al. 2000] presents a method tain solutions to the path problem. Cartoon characters in that extends [Sederberg et al. 1993] to shapes containing multiple [Lost Marble 2004] consist of 2D models containing a rigid skele- polygons and polylines. [Johan and Nishita 2001] continues work ton. The animator describes the motion for a character by position- on shape blending by first calculating the inbetweens for simplified ing and scaling this skeleton in different key frames which are auto- versions of two polygons and then applying the deformation to the matically inbetweened. This method allows the animator to specify original polygons. inbetweens exactly, but makes it difficult to define expressive mo- [Shapira and Rappoport 1995] represents polygon interiors and tions that are not part of a rigid transformation. boundaries by creating compatible star-skeletons from key points ’s Flash [Macromedia 2004] is a popular vector in two corresponding polygon shapes. As-rigid-as-possible shape based software program that allows shapes to be inbetweened based blending [Alexa et al. 2000] compatibly triangulates the interiors on single paths of motion, simple linear transformations, and some of two polygons and then blends the shapes using paths created by automatic shape blending. The shape blending employed by Flash a system of least-squares linear equations that aims to distort the gives poor results when used on anything but very simple shapes interior triangles as little as possible. and is thus not appropriate for cartoon inbetweening. The inbe- [Chuang et al. 1994] attacks the problem of self-intersection tweens generated through linear transformations give results that during shape blending through the use of wavelets and [Gotsman look disconnected and stiff. and Surazhsky 2001] presents the first algorithm for guaranteed Cambridge Animation developed and implemented a CSCI al- intersection-free polygon . gorithm in their software package called Animo. Their method was [Slinker 1992] chooses rational quadratic Bezier´ curves to define similar to Moho and was removed from later versions of Animo be- the paths along which points of the polygon should travel and [Xie cause it did not function to the satisfaction of the animators using Animo [Barrett 2002]. of motion for each joint of the skeleton as shown in Figure 4(b) and

outlined in R 3.2. Real-time feedback allows the animator to adjust

D E E

¢¡ U;[bU¤<&?a[ <&Ua=¤£ G\[b?

(a) A head turn with no user input for the paths of motion. The head simply moves in a straight line from one key frame to the next. There is also no change in the layer ordering until the last frame.

(b) A head turn after an animator has added paths of motion and adjusted to the center frame of the animation. The slight (b) The paths for the disjoint skeleton in Figure 4(a). dip during the turn creates a more life-like motion. The anima- tor also reordered the layers in the center frame. Figure 4: An example of skeletal interpolation for two key drawings of a turtle. Figure 3: Automatic versus user defined motion. The black boxes denote key frames, and the dashed gray box indicates an inbetween Skeletal interpolation differs from all existing CSCI path solu-

edited by an animator. tions by combining skeletal coordinates (see R 3.1) with a disjoint skeleton where each joint in the skeleton has an independent user- Figure 4 overviews how skeletal interpolation works. In skele- defined path. While each of these technologies has existed sepa- tal interpolation, cartoon characters are represented by layers of rately, it is their combination that allows for an increase in produc- colored regions bounded by cubic B-spline curves as described in tion speed while maintaining the artistic quality of the animation.

R 4. We assume that the correspondence problem has already been

¢¡¤£ ¦¨§  ©  ¨ solved for these curves using a method similar to the ones found ¥ in [Sederberg and Greenwood 1995] and [Cohen et al. 1997]. In skeletal interpolation, the animator first attaches the control points We now explain the technical details of skeletal interpolation. Fig- of the curves in a key frame to a simple disjoint skeleton shown in ure 5(b) shows the control points of the curves that make up an arm

Figure 4(a) and described in R 3.1. The animator then draws paths in two key frames. Requiring an animator to specify paths for each location of the skeleton in subsequent key frames can be found au- tomatically. This is done by doing a least-squares-fit for each in- dividual bone with respect to the skeletal coordinates of the curve

control points attached to it. For each bone, we want to minimize   Aq s . The s are the the skeletal coordinates of the control i ¤ i i points connected to the bone in the frame with the established skele- ton, the qi are the corresponding points in the frame that we are (a) (b) (c) trying to find a skeleton for, and A is the transformation associated with the bone that will produce the skeletal coordinates for the qi. Since the si and qi are known, we need to set up our least-squares Figure 5: Two key frames of an arm. equation to solve for A. The equation

Aqi £ si (1) of the control points would be time consuming. In our method, the

animator adds a simple 2D skeleton like the one shown in Figure may be represented as

     5(c) to control the kinematics of the character. The skeletal struc-  ture consists of line segments for bones and points for joints much ax1 ax2 ax3 qix six like a stick-figure. The skeleton is disjoint in that bones in the skele- ay1 ay2 ay3 qiy £ siy (2) ton need not connect to other bones in the skeleton as shown in 0 0 1 1 1 Figure 10.

Each control point in the drawing is assigned to a bone in the or equivalently 

skeleton. Figure 6 shows a single curve, a simple skeleton for two   q q 1 ax £ s

key frames, and an inbetween. Here, points P0 and P1 are assigned ix iy ix (3)  q q 1 a £ s to bone J0J1, and points P2 and P3 are assigned to bone J1J2. Each ix iy y iy control point is given skeletal coordinates relative to its assigned

bone. The skeletal coordinates for a control point consists of the where

   

    a

signed fractional distance along the assigned bone and the signed ax1 y1 £ perpendicular distance away from it. So, P ’s skeletal coordinates a £ a a a

0 x x2 y y2 ¢

a ¡ b are a a

x3 y3 ¢

P J ¢¦¥ J J ¤

0 ¤ 0 1 0

a £ Solutions for ax and ay may now be found using the least-squares ¢

J J ¢¦¥ J J

¤ ¤  1 0 1 0 method illustrated below

and b is the signed perpendicular distance from the line J0J1. T T

  £ £ s s s s s sny s nx s 

x 1x 2x  y 1y 2y

   

J0  q1x q1y 1

  

b  a J0 J q q 1 P 2 2x 2y 0 a(t) Q £ . b(t) J0 a' . P3 . J1 P1 J1 J2 J1 qnx qny 1 P0 b'

P2 T T T T £ P2 P1 Q Qax £ Q sx Q Qay Q sy (4) J2 P3 P P3 P1 2 P0 where there are n control points assigned to the bone. If A is non- singular, we can compute the end points of the bone, b1 and b2,

Figure 6: Skeletal coordinates for the first control point of a curve by

   

    in two different key frames marked by black boxes. 0 1

1 1

 £  b1 £ A 0 b2 A 0 This coordinate system allows curves to move relative to the mo- 1 1 tion of the skeleton. It also allows for squash and stretch in the character. Squash and stretch is an important principle of anima- Once values have been obtained for the end points of all the tion described in [Thomas and Johnston 1981]. bones in the skeleton, the end points that correspond to the same In computing an inbetween, the joints of the skeleton move along joint are averaged together to get that joint’s final position. Aside

their assigned paths described in R 3.2, and the skeletal coordinates from reducing the time needed to pose a skeleton in each key frame, of the curve control points are linearly interpolated relative to the this technique of fitting bones also improves the consistency of the

bone they are attached to. That is, skeleton’s placement across the key frames.

¥¢¡ ¦¨§  ©  ¨  © ¥ !  

¢ ¨ © ¢§£ ¢ ¨ © ¡

a t ¢§£ 1 t a ta b t 1 t b tb t 0 1

¤ ¤

We also linearly interpolate the knot values of the B-spline curve as One of the key principles in adding life to characters is the use of described in [Sederberg and Greenwood 1995]. Since we are mov- arcs or curved paths that describe their motion [Thomas and John- ing the control points of B-spline curves, we maintain the smooth ston 1981]. To honor this principle, each joint of the skeleton has appearance of the curves in all of the inbetweens. This would not an associated arc to follow during the interpolation from one key happen with piecewise Bezier´ curves, which can be tangent contin- frame to the next as shown in Figure 7. We use cubic Bezier´ curves uous in both keys, but may lose this continuity on an inbetween. to represent these arcs. After the user constructs a skeleton for the first key frame and An animator adds arcs to the skeleton by sketching paths of mo- specifies how the control points in the drawing connect to it, the tion for each joint. Each path is fitted with a cubic Bezier´ curve that Figure 7: Possible paths for the joints of the skeleton in Figure 6.

Figure 9: A vector representation of the three key frames in Figure is rotated and stretched to connect to the starting and ending joint 8. positions. If the animator is not satisfied with the resulting motion, the arcs may be altered until the desired motion is achieved. An arc is al- 2. In TweenMaker, the user matches curves during the clean tered by selecting and moving a control point or point on the arc up phase. Curves are added to a new key frame by cycling with a mouse or stylus. through those contained in an existing key frame and drawing

a corresponding curve for each one found therein. Since we

E¥¤

¡£¢ U U ? ¡ Ua= are matching while tracing, the user has complete control over the resulting matches with little increase in the tracing time. Since solving the path problem is one part of a complete CSCI sys- It is very difficult and time consuming for a user to define how tem, we created a new CSCI system called TweenMaker with which each curve in a key frame corresponds to its match. Since we could implement and test skeletal interpolation. To illustrate there is very little art involved in how individual curves cor- how skeletal interpolation fits into the CSCI process, this section respond, this can largely be performed algorithmically with a describes the process of using TweenMaker to generate inbetweens provision that allows the user to fix poor correspondences. We for the key frames in Figure 8. solve the correspondence problem for each pair of matching B-spline curves by using the algorithm described in [Seder- berg and Greenwood 1995]. We refer the reader to this paper for details on this method. The time to perform this phase is included in the previous step.

3. Once the curves have been entered into the computer, colored regions are created by specifying a color and an ordered set of curves that will be used to define the boundary for that region. The colored regions are ordered in layers to determine occlusion in the drawing. Typically, the colored regions and layers are only specified for one key frame and then applied to all other key frames. If layers in subsequent key frames need to be reordered–such as in the case of self occlusion during a head rotation–they are easily changed by using a tool that arranges groups of regions and curves in a layer hierarchy. Time: 35 minutes.

4. The user then defines a skeleton and attaches the control Figure 8: Three rough key drawings acquired with a scanner. points of the curves in the first key drawing to the skeleton. The computer automatically creates a skeleton for each re- The time that it took to perform each phase of the inbetweening maining key drawing using the technique described in R 3.1. process is mentioned after each step and included in Table 1. The skeleton used in the first frame or our example is shown 1. Cartoons are usually composed of curves and flat colored re- in Figure 10. Time: 10 minutes. gions. We chose to represent the curves and colored region 5. After tweaking the skeleton where necessary, the user edits boundaries in B-spline form since B-splines relate well to an the paths of motion for the joints of the skeleton until the de- artist’s pen stroke. To obtain these curves, we first digitize key sired motion is achieved. The paths for the first key frame to frames drawn with paper and pencil using a flat bed scanner the second are shown in Figure 10. Time: 29 minutes. or a digital camera. A user converts these raster images to cu- bic B-spline curves by tracing them with a mouse or stylus. 6. The user now adjusts the timing of the animation until the A least-squares-fit is done on the traces to create cubic Bezier´ animation has the desired look and feel. We use a method curves which are then combined into B-spline curves by using familiar to animators that allows them to specify the timing the algorithm described in [Sederberg and Greenwood 1995]. for a set of inbetweens quickly and accurately. The animator This tracing phase is analogous to an existing process in tra- adds marks to a continuum that represent which inbetweens ditional 2D animation called clean up where rough drawings will be generated between each pair of key frames. The user are redrawn onto clean pieces of paper [Thomas and Johnston may specify the exact position for each of these marks, or 1981]. The cleaned up key frames from Figure 8 are shown in may use a rational cubic Bezier´ curve as a tool to adjust their Figure 9. Time: 66 minutes. spacing. Time: 5 minutes. Figure 10: The skeleton and paths for the first key frame in Figure 9.

7. Once satisfied with timing and motion, the user edits inbe- tweens where the ordering of the layers needs to be changed. An inbetween is edited by making it into a key frame. The layers on this new key frame may then be reordered and the curves edited so that the character is consistent with the artist’s design. Figure 11 shows the results of editing automatically generated inbetween drawings.

Figure 12: Final animated sequence. The key frames are marked by black boxes. The dashed gray boxes indicate inbetweens that were adjusted by the animator to improve the animation. The time used to adjust the frames is shown in Table 1.

from the same set of key drawings. Figure 13 gives a visual com- (a) Before adjustments. (b) After adjustments. parison between inbetweens drawn by hand and those created with TweenMaker. of the examples described in this paper are included Figure 11: Two automatic inbetweens before and after adjustments in a supplemental video.

by an animator.

¡ £ ¦ ©¨( ¨ ¨( ¤  ¢

The animator may continue to edit inbetweens in the sequence until the desired result is achieved. In this example, four in- It is important to recognize that quality animation often contains betweens were edited. The resulting sequence is shown in large variations in the timing and motion of the characters. This Figure 12. Time: 42 minutes. means that some sequences will require a large amount of inbe- tweening while others may not need any. To help account for these

variations when calculating the time savings, a sample 90 second

¡¦U : K [ <&: animation called “The Dud” was created with TweenMaker. Table 1 shows the amount of time it took to create the animation

Results from a CSCI system should be measured both qualitatively example found in R 4, a simple turtle animation shown in Figure 13, and quantitatively. Since our solution targets the cartoon anima- and a sequence from “The Dud”. Since the number of inbetweens tion industry, the qualitative measurements should be made by in- generated between two key frames in CSCI is arbitrary, the entry in dividuals with significant experience in the field of animation. Our the table entitled “Average Time Per Key Frame” provides a better quantitative measurements include comparisons in the time used to measurement than the “Time Per Frame” entry. generate inbetweens with TweenMaker and the time needed to in- Table 2 compares TweenMaker against traditional inbetweening between the same sequence by hand. for the three examples in Table 1. Gary Goldman and Don Bluth, who have been creating feature length animated films for over 20

years, told us that “a good inbetweener can do about 15 to 20 good

¡¤£ £ ¦ © ¨ ¨( ¤  ¢ inbetweens per 8 hour day.” This means that it takes an animator 24 to 32 minutes to draw a single inbetween. Based on this in- We have demonstrated TweenMaker to several professional anima- formation, we use a conservative estimate that it traditionally takes tors. They all agree that TweenMaker is capable of creating high an animator 24 minutes to draw an inbetween, and 12 minutes to quality inbetweens. clean up each key frame. Since animators often repeat drawings Outside of professional opinion, one way to measure quality is for two consecutive frames, we divide the total number of draw- to compare hand drawn to computer generated inbetweens created ings that they would need in half. We also omit the time needed for (a) Hand drawn inbetweens from The Swan Princess, courtesy of (b) Inbetweens created with TweenMaker. Richard Rich.

Figure 13: Comparison between hand drawn inbetweens and those created with TweenMaker. The key frames are marked by black boxes and the dashed gray boxes indicate frames that were adjusted by the animator to improve the animation or reorder the layers. the animators to color the traditionally generated inbetweens. Even with dividing the number of frames in half and omitting the color-

ing, our method proves to be 1 25 to 4 times as fast as traditional  inbetweening. Operation Test Turtle “The Dud”

Sequence

¡ E E

A¤[]K;: NPG G Entering Keys 66 min 73 min 318 min into TweenMaker There have been many algorithms proposed for inbetweening key Creating Colored 35 min 60 min inc. above frames of 2D cartoon animation. Some have had moderate success, Regions and Layers but the majority are either too primitive or do not allow the artist Defining the 10 min 6 min 20 min to easily specify the look and feel of the final inbetweens. Skele- Skeleton tal interpolation overcomes these problems by allowing animators Defining the 29 min 76 min 68 min artistic freedom while using the computer to aid in the generation Paths of Motion of inbetweens. Setting the timing 5 min inc. above 15 min In addition to the time savings found in Table 2, we estimate that Inserting and 42 min 79 min 152 min the largest savings from using skeletal interpolation occur when an Adjusting Keys artist wishes to make changes to the animation. Traditionally, this Total Time 187 min 294 min 573 min means that an animator must add, remove, or redraw sections of the Curves per Frame 117 171 122 animation. This can take hours or even days of work. In our experi- Total Frames 41 35 183 ence, an animator using TweenMaker and skeletal interpolation can Total Key Frames 3 3 15 make the same changes in a matter of minutes. Time Per Frame 4.6 min 8.4 min 3.13 min TweenMaker and skeletal interpolation were developed under Average Time 62.3 min 98 min 38.2 min Linux in C++. wxWindows and OpenGL were used to handle the Per Key Frame

user interface and rendering.

E

¦U£¢@Ua=HU A U : ¡ Table 1: Statistics on Animation Samples.

ALEXA, M., COHEN-OR, D., AND LEVIN, D. 2000. As-rigid-as-possible shape interpolation. In Proceedings of ACM SIGGRAPH 2000, ACM SEDERBERG, T. W., AND GREENWOOD, E. 1995. Shape Blending of 2D Method Test Sequence Turtle “The Dud” Piecewise Curves. Vanderbilt University Press. TweenMaker 187 min 294 min 573 min SEDERBERG, T. W., GAO, P., WANG, G., AND MU, H. 1993. 2-d shape Traditional 444 min 372 min 2,364 min blending an intrinsic solution to the vertex path problem. In Computer Inbetweening Graphics (Proceedings of SIGGRAPH 93), ACM SIGGRAPH / Addison Time Saved 333 min 166 min 1847 min Wesley Longman, vol. 27, 15–18. Improvement 57% faster 21% faster 76% faster SHAPIRA, M., AND RAPPOPORT, A. 1995. Shape blending using the star- skeleton representation. IEEE Computer Graphics and Applications 15, 2 (March), 44–50. Table 2: Time comparison between TweenMaker and traditional inbetweening. SLINKER, G. 1992. Inbetweening Using a Physically Based Model and Nonlinear Path Interpolation. Master’s thesis, Brigham Young Univer- sity, Provo, UT.

Press / ACM SIGGRAPH / Addison Wesley Longman, Computer Graph- THOMAS, F., AND JOHNSTON, O. 1981. Disney Animation: The Illusion ics Proceedings, Annual Conference Series, 157–164. of Life. Abbeville Press, New York. XIE, M. 1995. Feature matching and affine transformation for 2D cell BARRETT, P. 2002. Received through personal correspondence, January. animation. The Visual Computer 11, 8, 419–428. BLUTH, D., AND GOLDMAN, G. 2002. Received through personal corre- spondence, December.

BREGLER, C., LOEB, L., CHUANG, E., AND DESHPANDE, H. 2002. Turning to the masters: Motion capturing cartoons. ACM Transactions on Graphics 21, 3 (July), 399–407.

BURTNYK, N., AND WEIN, M. 1976. Interactive skeleton techniques for enhancing motion dynamics in key frame animation. Communications of the ACM 19, 10 (October), 564–569.

CHUANG, C.-H., TSAI, S. F., AND KUO, C.-C. J. 1994. Cartoon anima- tion and morphing by using the wavelet curve descriptor. In Image Pro- cessing, 1994. Proceedings. ICIP-94., IEEE International Conference, vol. 1, 666–670.

COHEN, S., ELBER, G., AND YEHUDA, R. B. 1997. Matching of freeform curves. In Computer Aided Design, vol. 29, 369–378.

DURAND, C. X. 1991. The ”TOON” project: Requirements for a comput- erized 2D animation system. Computers & Graphics 15, 2, 285–293.

FEKETE, J., BIZOUARN, E´., COURNARIE, E´., GALAS, T., AND TAILLE- FER, F. 1995. TicTacToon: A paperless system for professional 2D animation. In SIGGRAPH 95 Conference Proceedings, Addison Wesley, R. Cook, Ed., 79–90.

GOTSMAN, C., AND SURAZHSKY, V. 2001. Guaranteed intersection-free polygon morphing. Computers & Graphics 25, 1 (February), 67–75.

HOPPER, J., AND GAGNE, M. 1988. Ten steps to a perfect inbetween.

JOHAN, H., AND NISHITA, T. 2001. 2d shape interpolation using a hierar- chical approach. In SIGGRAPH 2001 Conference Abstracts and Appli- cations, ACM SIGGRAPH, 143.

JOHAN, H., KOISO, Y., AND NISHITA, T. 2000. A solution to vertex path problem in shape blending by using a dependency graph. In SIGGRAPH 2000 Conference Abstracts and Applications, ACM SIGGRAPH, 259.

KORT, A. 2002. Computer aided inbetweening. In NPAR 2002: Second International Symposium on Non Photorealistic Rendering, ACM SIG- GRAPH / Eurographics, 125–132.

LITWINOWICZ, P. C. 1991. Inkwell: A 2.5D animation system. In Com- puter Graphics (Proceedings of SIGGRAPH 91), vol. 25, 113–122.

LOST MARBLE, 2004, January. http://www.lostmarble.com.

MACROMEDIA, 2004, January. http://www.flash.com.

RADEMACHER, P. 1999. View-dependent geometry. In Proceedings of SIGGRAPH 99, ACM SIGGRAPH / Addison Wesley Longman, Los An- geles, California, Computer Graphics Proceedings, Annual Conference Series, 439–446.

REEVES, W. T. 1981. Inbetweening for utilizing mov- ing point constraints. In Computer Graphics, vol. 15, 263–269.

SEDERBERG, T. W., AND GREENWOOD, E. 1992. A physically based approach to 2D shape blending. In Computer Graphics (Proceedings of SIGGRAPH 92), vol. 26, 25–34.