A programming approach for complex animations. Part I. Methodology C. Bajaj a , C. Baldazzi b , S. Cutchin a , A. Paoluzzi b, * , V. Pascucci a , M. Vicentino b a Department of Computer Sciences and TICAM, University of Texas, Austin, TX 78712, USA b Dipartimento di Informatica e Automazione, Universita ` di Roma Tre, Via Vasca Navale 79, Rome 00146, Italy Received 28 August 1998; received in revised form 15 June 1999; accepted 12 July 1999 Abstract This paper gives a general methodology for symbolic programming of complex 3D scenes and animations. It also introduces a minimal set of animation primitives for the functional geometric language PLaSM. The symbolic approach to animation design and implementation given in this paper goes beyond the traditional two-steps approach to animation, where a modeler is coupled, more or less loosely, with a separate animation system. In fact both geometry and motion design are performed in a unified programming framework. The representation of the animation storyboard with discrete action networks is also introduced in this paper. Such a network description seems well suited for easy animation analysis, maintenance and updating. It is also used as the computational basis for scheduling and timing actions in complex scenes. 1999 Elsevier Science Ltd. All rights reserved. Keywords: Graphics; Animation; Design language; Collaborative design; Geometric programming; PLaSM 1. Introduction This work introduces a high-level methodology oriented towards building, simulating and analyzing complex animated 3D scenes. Our first goal is the creation of compact and clear symbolic representations of complex animated environments. Our second goal is to allow for easy maintenance and update of such environments, so that different animation hypotheses can be analyzed and compared. The construction of complex animations using minimal man-hours and low-cost hardware also motivated the present approach. The contributions of the present paper can be summarized as follows: (i) definition of a methodology for symbolic programming of complex 3D scenes; (ii) introduction of a minimal set of animation primitives for a geometric language; (iii) development of two experimental animation frameworks, both local and web-based. This approach goes beyond the traditional two-steps approach to animation, where a modeler is coupled, more or less loosely, with a separate animation system. A programming approach to animation that provides simple but powerful animation capabilities as an extension of a geometric design language is discussed here. Hence both geometry design and animation can be performed in a unified framework where animations are programmed just like any other geometric information. In this way a designer or scientist may quickly define and simulate complex dynamic environments, where movements can be described by using well-established methods of mathematical physics and solid mechanics. We show that using a functional language is serviceable both in quickly implementing complex animations and in testing new animation methods. For this purpose, look at the solution proposed for describing the storyboard of very complex animations and computing the relative time constraints between different animation segments. Notice that a full “choreographic control” is achieved by imple- menting a “fluidity constraint” of the whole animation, which holds for any possible choice of expected durations of animation segments. For very complex animation projects, where several users cooperate to design an animated environment, we are devel- oping a collaborative web-based interface where multiple client applications can interact with the same scene. Due to the compactness of the shared information, multiple client applications, possibly distributed in a wide area network, can interact with the same animated scene either synchro- nizing their views or working with independent focus on different aspects of interest or competence. This provides Computer-Aided Design 31 (1999) 695–710 COMPUTER-AIDED DESIGN 0010-4485/99/$ - see front matter 1999 Elsevier Science Ltd. All rights reserved. PII: S0010-4485(99)00062-7 www.elsevier.com/locate/cad * Corresponding author. Tel.: +39-06-5517-3214. E-mail addresses: bajaj@cs.utexas.edu (C. Bajaj), baldazzi@dia. uniroma3.it (C. Baldazzi), cutchin@cs.utexas.edu (S. Cutchin), paoluzzi @dia.uniroma3.it (A. Paoluzzi), pascucci@cs.utexas.edu (V. Pascucci), vicenti@dia.uniroma3.it (M. Vicentino)