Animación


La animación en Descartes es un algoritmo especial (es decir, tiene la estructura de los algoritmos: inicio - hacer - mientras ) que refresca la escena cada vez que realiza un ciclo (al terminar hacer).

El Panel de configuración de la Animación tiene este aspecto.

El panel de configuración de la animación tiene estos campos:

Animación





Activa o desactiva la animación.


Cuando el selector no está marcado los demás campos del panel están desactivados.
Cuando el selector está activado todos los campos del panel se activan y el autor puede escribir en ellos o elegir opciones.
Cuando la animación está activada, en la escena aparece un botón animar abajo a la derecha, con el que el usuario puede arrancar la animación, ordenar una pausa y continuar la animación. La etiqueta del botón alterna entre animar y pausa

pausa




El tiempo (en milisegundos) que el programa espera en cada paso de la animación.

El valor por defecto es 60.

Los valores pequeños hacen que la animación sea más rápida y viceversa. En procesadores lentos los valorees pequeños no necesariamente producen animaciones rápidas.

controles













Determina si el panel de control de las animaciones aparecen en la escena cuando la animación está funcionando.

Si este selector está activado, durante la animación aparece un panel de control de la animación con botones para: pausa, stop, retroceder al inicio, retroceder un paso, avanzar un paso y avanzar al final. El panel de control tiene este aspecto:

actrlpnl.jpg (1437 bytes)

No es recomendable activar el panel de control si la condición mientras no se cumple nunca. En tal caso pulsar el botón de avanzar al final no queda bien definido. Por otro lado, para que el retroceso de un paso tenga sentido es necesario que el algoritmo sea reversible, es decir, que el programa pueda llegar al paso anterior volviendo al inicio y avanzando tantos pasos como los que se habían dado, menos uno. Si esta condición no se cumple tampoco es recomendable activar el panel de control de la animación y en esos casos el usuario deberá limitarse a controlarla con el botón de animar-pausa.

auto

Determina si la animación comienza automáticamente cuando la escena aparece en la pantalla y cada vez que se pulsa el botón de Inicio.

Si el selector no está activado entonces la animación comienza cuando el usuario pulsa el "botón" de inicio de "animación" que aparece en la escena abajo a la derecha en las escenas que tienen la animación activada.

repetir

Determina si la animación se repite indefinidamente o bien se detiene cuando la condición "mientras" deja de ser verdadera.

inicio

Cálculos que se realizan al comenzar la animación.

Puede incluir varias asignaciones separadas por ";" .

hacer

Cálculos que se realizan en cada paso de la animación.

Puede incluir varias asignaciones separadas por un salto de línea.

mientras Condición para que la animación continúe.

Cuando esta condición deja de ser válida la animación se detiene o, si el selector "repetir" está activado, vuelve a comenzar.

Los campos inicio, hacer y mientras funcionan igual que en cualquier algoritmo.

El siguiente ejemplo muestra una animación que representa una cuerda vibrante blanca con sus primeros armónicos en colores rojo, amarillo, verde, azul y los más altos en violeta. Para distinguir los de color violeta hay que aumentar mucho la amplitud.

Cuando la escena tiene animación y al menos una fila en la región sur, entonces aparecen abajo, a la derecha, los botones que sirven para reiniciar la animación y para hacer pausa o continuar, respectivamente. El botón para reiniciar la animación puede usarse para estudiar cómo cambia una animación ante variaciones de parámetros. Por ejemplo si el inicio de una animación depende de un control numérico, se puede detener la animación, modificar el control, luego reiniciarla y ver cómo la ha afectado este cambio. Lo anterior se ilustra en el ejemplo del tiro parabólico donde el usuario puede detener la bala antes de que caiga al suelo, si se da cuenta de que no va a dar en el blanco; reiniciar la animación, cambiar el ángulo de tiro o la velocida de la bala, y volver a disparar.


Autor: José Luis Abreu León
con la colaboración de Norma Apodaca, Lilia Morales, Deyanira Monroy y Mariana Villada