Functional Implementations of Continuos Modeled Animation

Animation is a temporally continuous phenomenon, but is typically programmed in terms of a discrete sequence of changes. The use of discreteness serves to accommodate the machine that is presenting an animation, rather than the person modeling an animation with the help of a computer. Using a continuous model of time for animation allows for natural specification, avoiding some artificial details, but is difficult to implement with generality, robustness and efficiency. This paper presents and motivates continuous modeled animation, and sketches out a naive functional implementation for it. An examination of some of the practical problems with this implementation leads to several alternate representations, all of which have difficulties in themselves, some quite subtle. We hope that the insights and techniques discussed in this paper lead to still better representations, so that animation may be specified in natural terms without significant loss of performance.

[1]  Conal Elliott Modeling Interactive 3D and Multimedia Animation with an Embedded Language , 1997, DSL.

[2]  Philip Wadler,et al.  The Glasgow Haskell Compiler: a technical overview , 1993 .

[3]  Conal Elliott From Functional Animation to Sprite-Based Display , 1999, PADL.

[4]  John Launchbury,et al.  Disposable memo functions (extended abstract) , 1997, ICFP '97.

[5]  John Hughes,et al.  Lazy Memo-functions , 1985, FPCA.

[6]  Conal Elliott,et al.  Functional Implementations of Continuous Modeled Animation (Expanded Version) , 1998 .

[7]  Kavi Arya A Functional Approach to Animation , 1986, Comput. Graph. Forum.

[8]  Simon J. Thompson A functional reactive animation of a lift using Fran , 2000, J. Funct. Program..

[9]  Paul Hudak,et al.  Functional reactive animation , 1997, ICFP '97.

[10]  Adobe Press,et al.  Postscript language - tutorial and cookbook , 1986 .

[11]  Conal Elliott From Functional Animation to Sprite-Based Display (Expanded Version) , 1998 .

[12]  J. W. Backus,et al.  Can programming be liberated from the von Neumann style , 1977 .

[13]  Ralf Hinze,et al.  Haskell 98 — A Non−strict‚ Purely Functional Language , 1999 .

[14]  Conal Elliott COMPOSING REACTIVE ANIMATIONS , 1998 .

[15]  John W. Backus,et al.  Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs , 1978, CACM.

[16]  A. D. Robison The Illinois functional programming interpreter , 1987, PLDI 1987.

[17]  Arch D. Robison The Illinois functional programming interpreter , 1987, PLDI.