4 research outputs found

    From functional animation to sprite-based display

    Get PDF
    Abstract Functional animation encourages a highly modular programming style, by supplying a set of arbitrarily composable functions for building up animations. In contrast, libraries for sprite-based display impose rigid structure, in order to allow acceleration by hardware and low level software. This paper presents a method to bridge the gap between functional specication and stateful, sprite-based presentation of animation. The method's correctness is proved informally by derivation from a simple non-e ective speci cation, exploiting algebraic properties of the animation data types that are made explicit in the functional approach. We h a ve implemented this method in the Fran system, which is freely available

    ChalkBoard: A Functional Image Description Language and Its Practical Applications

    Get PDF
    ChalkBoard is a domain specific language (DSL) for describing images. The ChalkBoard language is uncompromisingly functional and encourages the use of modern functional idioms. Unlike many similar systems, ChalkBoard uses off-the-shelf graphics cards to speed up the rendering of these functional descriptions. The speed gained from this efficient rendering has allowed the addition of animation to the language. The Active extension to ChalkBoard is another DSL, built on top of ChalkBoard, that captures the concept of animation inside a Haskell applicative functor. This allows for a clean, compositional approach to animation in ChalkBoard. Given both the efficiency and functional style of this animation, there are many possible applications. One of these is a system called Active Transformations, which uses the animation capabilities of ChalkBoard to animate code (and other tree-based) transformations. The Active Transformations system uses ChalkBoard animation in order to show how certain transformations and optimizations occur, instead of just providing before and after snapshots, making it an extremely useful educational tool. In this thesis, the design of each of these systems is described and explained, from the core ChalkBoard language, to the Active extension to ChalkBoard, and finally the Active Transformation system built on top of them

    Computer-Assisted Lighting Design and Control

    Get PDF
    This dissertation shows that computer-based lighting control systems can support the lighting design process considerably better than traditional consoles. It describes the Lula Project, a new software package for lighting design and control, that implements this level of support. Lula's focus is on the conceptual ideas behind a lighting design rather than the concrete lighting fixtures used to put it on stage. Among the innovative aspects of the system are its model for designing static lighting looks and its subsystem for programmable continuous animated lighting. Lula's application design is centered around the idea of componential lighting design that allows the user to express a lighting design as a hierarchy of components. Lula is a result of the rigorous application of high-level software engineering techniques and implementation technology from the general realm of functional programming. The high-level structure of the application rests upon stratified design, algebraic modelling, and domain-specific languages. Among the implementation techniques instrumental to Lula are automatic memory management, higher-order programming, functional data structures, data-directed programming, parametric inheritance, and concurrent programming.Computer-basierte Systeme für Beleuchtungssteuerung sind in der Lage, den Lichtdesigner weitaus besser zu unterstützen als es derzeit marktübliche Steuerkonsolen tun. Das Thema dieser Dissertation ist ein solches System, das Projekt Lula. Lula ist eine neue Software für Lichtregie und Beleuchtungssteuerung, welche die Modellierung der konzeptuellen Elemente eines Lichtdesigns ermöglicht, unabhängig von der konkreten Realisierung auf der Bühne. Unter den innovativen Aspekten des Systems ist das Modell für den Entwurf statischer Beleuchtungsszenen sowie das Subsystem für programmierbare, stetig animierte Beleuchtung. Das übergeordnete Prinzip bei Lula ist komponentenbasierte Lichtregie, die es dem Benutzer erlaubt, ein Lichtdesign als eine Hierarchie von Komponenten auszudrücken. Lula ist das Resultat konsequenter Anwendung von Entwurfs- und Implementierungs-Techniken aus dem Bereich der funktionalen Programmierung. Die High-Level-Struktur des Systems baut auf stratifiziertes Design, algebraische Modellierung und anwendungsspezifische Programmiersprachen. Unter den Implementationstechniken, die entscheidend bei der Entwicklung von Lula waren, befinden sich automatische Speicherverwaltung, Higher-Order-Programmierung, funktionale Datenstrukturen, datengesteuerte Programmierung, parametrische Vererbung und nebenläufige Programmierung

    From Functional Animation to Sprite-Based Display

    No full text
    . Functional animation encourages a highly modular programming style, by supplying a set of arbitrarily composable functions for building up animations. In contrast, libraries for sprite-based display impose rigid structure, in order to allow acceleration by hardware and low level software. This paper presents a method to bridge the gap between functional specification and stateful, sprite-based presentation of animation. The method's correctness is proved informally by derivation from a simple non-effective specification, exploiting algebraic properties of the animation data types that are made explicit in the functional approach. We have implemented this method in the Fran system, which is freely available. 1 Introduction The functional approach to animation offers considerable flexibility and modularity [1, 7]. Animations are first-class values---elements of a data type consisting of a set of constants and combining operators. The data type allows great flexibility in co..
    corecore