18.04.2013 Views

The.Algorithm.Design.Manual.Springer-Verlag.1998

The.Algorithm.Design.Manual.Springer-Verlag.1998

The.Algorithm.Design.Manual.Springer-Verlag.1998

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Xtango and Polka <strong>Algorithm</strong> Animation Systems<br />

Xtango and Polka <strong>Algorithm</strong> Animation Systems<br />

XTANGO is a general purpose algorithm animation system, developed by John Stasko of Georgia Tech,<br />

that supports programmers developing color, real-time, 2 & 1/2 dimensional, smooth animations of their<br />

own algorithms and programs. <strong>The</strong> focus of the system is on ease-of-use. XTANGO utilizes the pathtransition<br />

animation paradigm which helps move animation design to an abstract, high level.<br />

Programmers need not be graphics experts to develop their own animations.<br />

XTANGO is implemented on top of UNIX and the X11 Window System. It can be run on either color or<br />

black-and-white monitors. XTANGO is available for use via anonymous ftp from ftp.cc.gatech.edu in<br />

directory pub/people/stasko.<br />

Included with the XTANGO distribution is a large collection of animations. Several of which are quite<br />

fun to watch. My favorites include:<br />

● AVL trees (avl)<br />

● Binomial heaps (binoheap)<br />

● Boyer-Moore string matching (boyer)<br />

● Bin Packing (bpack)<br />

● Bubble sort (bsort)<br />

● Convex Hull (conhull)<br />

● Fast Fourier Transform (fft)<br />

● Fibonacci heaps (fiboheap)<br />

● Heapsort (heap)<br />

● Knight's tour (knight)<br />

● K-selection (ksel)<br />

● Eight Queens (queens)<br />

● Quicksort (quicksort)<br />

● Radix sort (radix)<br />

● Treaps (treap)<br />

<strong>The</strong> basic process of animation consists of implementing the algorithm in C (another language can be<br />

used, but it must just produce a trace file which is read by a C program driver) and then deciding on the<br />

important events to be portrayed during the execution of the algorithm. <strong>The</strong>se events then activate<br />

animation routines implemented in a separate file using the XTANGO animation package to create and<br />

manipulate objects (circles, squares, lines, and so on). Transitions on objects include movement, color<br />

change, resizing, and filling, as well as others. For example, the animation for binary search consists of a<br />

series of rectangles, each representaing one of the elements being searched. A bouncing circle hits the<br />

current dividing element, which changes color. <strong>The</strong> ball then bounces to the next dividing element and<br />

continues to do this until the desired element has been found. To learn more about XTANGO, see the<br />

September 1990 issue of IEEE Computer which has an article about the TANGO system, a ancestor of<br />

file:///E|/WEBSITE/IMPLEMEN/XTANGO/IMPLEMEN.HTM (1 of 3) [19/1/2003 1:36:41]

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!