AnimaAlgo: an algorithm animator

Computational Geometry course work

Eduardo Poyart
Angela de Lancastre

PUC-Rio / IMPA - 2000
Prof. Luiz Henrique de Figueiredo


Algorithm Animation

Definitions:

Algorithm animation systems provide facilities so that users can visualize and interact with animated views of algorithms and so that programmers develop these animations.

Applications:

We can understand algorithm animation as:

Usual approach:

The usual approach for specifying animation of algorithms in high-level languages is as follows: an implementation of an algorithm is annotated with markers that identify its fundamental operations that will be displayed. These annotations, called interesting events, may have parameters that typically identify data structures from the program. Each view controls some screen real estate and is notified when an event occurs in the algorithm. A view is responsible for updating its graphical display based on the event. Views can also propagate user input back to the algorithm.

Implementers add a specific algorithm animation library package to the programming language. These packages contain routines for displaying elements and for synchronization between algorithm and animation.

Some algorithm animation software:

This work analyzes some of the existing algorithm animation systems and presents a new system, developed in Java and available online, called AnimaAlgo.

The name AnimaAlgo is a play with words in Portuguese. It means Animate Algorithms if "Algo" is interpreted as an abbreviation of "Algoritmos", but it also means, literally, "Animate Something".