Static animations
If more complex data structures and methods are required, a huge number of
graphic primitives must be initialized first, in order to combine them into the
desired data structures in X3D. Algorithm animation specific concepts such as
displaying source code, code highlighting, syntax-coloring, quiz, announcement
of narratives and documentation etc. must be encoded in X3D manually. The
embedding of an existent X3D interpreter in an existing algorithm animation
system would be complicated.
¢or all these reasons Computer Graphics an XML standard for the three-
dimensional animation of the previously mentioned class of algorithms was
developed and gave this standard the name Owhich fulfils the
essential requirements.
Similar to AACE's user interface, tape deck type controls are the
primary user
interface for the system which is yet flexible way to control the
animations.
Similar to AACE's user interface, tape deck type controls are the
primary user
interface for the system which is yet flexible way to control the
animations.
In the ray tracing animation created here, a text view is used to display source
code and highlight lines as they are executed. An actual view maintains any
output that the algorithm is writing to the screen or graphics display. This view
was built to display any graphics calls (putting pixels, drawing lines, etc.)
made within the algorithm.
Unlike some paint programs, this undo feature replaces only the pixels that
were altered by the specified graphics calls and does not require that the
entire view be redrawn. This feature was needed to allow reverse execution at
reasonable speeds.
!
O!
p li ti l f rt
f r tr t
trt t iliti f
l i t r t t
i li ti f t tr
lli
l rl fr it
rti ( iti ). rl i
ir - lt
rl, t i t l
l
lrit i l
il ti. pll
lrit fr l
i ti
rl r ir til r i
ti. H ti rl i t
itl t
i li tti
iti.
The actual ray-tracing program being visualized was written C an taken from an article
by Roman Kuchkuda[16]. It has only been modified to write pixels to the screen (instead
of to a file).
Despite all disadvantages of static animation of algorithms and data structures this kind
of graphical presentation is the only possibility to visualize computation intensive
algorithms. Non-computation-intensive algorithms should be from our point of view only
visualized using real-time simulations, as these are pedagogically more effective than
static animations. The use of static algorithm animations should be taken into
consideration only for the visualization of computation-intensive algorithms.
owever, both alternatives have their own advantages and disadvantages. One of the
advantages of using animation languages is that no programming skills are required.
¢or example designer without any programming skills can create professional and
visually attractive animations, satisfying many design guidelines, whereas the use of
programming languages requires both design and programming experience.
Programmers pay less attention to design details than designers usually do. On the
other hand high-level programming languages are more powerful than algorithm
animation languages, as these normally support neither loops nor conditional
assignments.
!
The question that arises is whether to use a high-level programming
Language or an algorithm animation language to visualize a given algorithm
or data structure. To answer this question, and will now examine another
example of a computation intensive and graphically demanding bioinformatics
algorithm
Apparently using a high-level programming language
can visually simulate
every non computational intensive algorithm. owever,
due to the enormous
execution time required to simulate a computational-
intensive or an NP-
complete algorithm, using an algorithm animation
language or even a high-level programming language
can only statically animate such kind of
algorithms either. In this presentation and pay special
attention to the three-dimensional static animation of
NP-complete algorithms and computational intensive
3D-algorithms in the fields of computer graphics and
bioinformatics.
As almost all currently existing algorithm animation
languages are restricted
to the two-dimensional visualization of conventional
algorithms and data
structures there is a strong need to develop a new
animation language that
can be used for the visualization of 3D-algorithms.
!
S ARANYA.DUGGI