Diferencia entre revisiones de «Tutorial:Animándose»

De GeoGebra Manual
Saltar a: navegación, buscar
m (Revertidos los cambios de Lilai (disc.) a la última edición de LailaTov)
 
(No se muestran 89 ediciones intermedias de 6 usuarios)
Línea 1: Línea 1:
{{tutorial|
+
{{tutoriales|
 
title=Animándose con GeoGebra
 
title=Animándose con GeoGebra
}}
+
}}__NoToc__{{Interfaz_Gráfica|Menú}}
 
== Creando una animación paso a paso ==
 
== Creando una animación paso a paso ==
  
 
== Objetivos ==
 
== Objetivos ==
El propósito de este tutorial es proporcionar las técnicas básicas para crear una animación, paso a paso, de una construcción.<br>Se ha elegido un ejemplo simple que muestra las etapas del trazado de una perpendicular a una recta que pasa por un punto.<br>Se muestra la técnica de deslizamiento de la escuadra hacia la derecha, apoyándose en regla que coincide con la recta.<br>El desplazamiento se detiene cuando coincide el perfil de la escuadra con el punto donde está ''esperando'' el '''''lápiz'''''.<br>Entonces se realiza el trazo.<br>¡Ahora, pasemos a animarnos con la obra!
+
El propósito de este tutorial es mostrar técnicas básicas para crear una construcción a animarse paso a paso<br>Se ha elegido un ejemplo simple que muestra las etapas del trazado de una perpendicular a una recta que pasa por un punto<sup><small>[https://www.geogebra.org/m/qXAkXHcu modelo en francés]]</small></sup><br>Se muestra el deslizamiento de la escuadra hacia la derecha, apoyada en la ''regla'' que coincide con la recta.<br>El desplazamiento se detiene cuando el perfil de la escuadra coincide con el punto donde está esperando el lápiz.<br>Entonces se realiza el trazo.<br>¡Ahora, pasemos a animarnos con la obra!
  
 
Las siguientes son las etapas que cubre este tutorial:<br>
 
Las siguientes son las etapas que cubre este tutorial:<br>
{{Step|num=1}} El empleo del condicional para establecer qué elementos de la construcción se exponen en cada ''paso''<br>
+
{{Step|num=1}} El empleo del condicional para establecer qué elementos de la construcción se exponen en cada paso<br>
{{Step|num=2}} El uso de los ''botones'' para desencadenar un ''guión'' (o ''script'') de una secuencia de comandos que llevan de una etapa a otra, en acciones desencadenadas...<br>- a partir de ciertos cambios registrados en las medidas<br>- acorde a un valor que se determina para iniciar la animación.<br>
+
{{Step|num=2}} El uso de los botones para desencadenar un guion (o script) de una secuencia de comandos que llevan de una etapa a otra, en acciones desencadenadas...<br>- a partir de ciertos cambios registrados en las medidas<br>- acorde a un valor que se determina para iniciar la animación.
  
 
===La Estructura de la Animación===
 
===La Estructura de la Animación===
Este es un escenario explicativo para describirles a los estudiantes el mecanismo, paso a paso, que permite trazar una perpendicular a una recta ''d'' que pasa por un punto exterior '''''A'''''.
+
Este es un escenario explicativo para describirles a los estudiantes el mecanismo, paso a paso, que permite trazar una perpendicular a una recta d que pasa por un punto exterior A.
Quienes están procurando aprender la técnica en juego, puede decidir lo que quiere ir observando.  
+
Quienes están procurando aprender la técnica en juego, puede decidir lo que se debe ir observando.  
La ''explicación animada'' se desenvuelve en seis etapas que se corresponden a los ''pasos'' que van del 0 al 5.
+
La explicación animada se desenvuelve en seis etapas que se corresponden a los pasos que van del 0 al 5<sup><small>[https://www.geogebra.org/m/qXAkXHcu modelo en francés]]</small></sup>.
{{OJo|1=Más adelante se indicará el por qué de empezar por el <big>'''''0'''''</big>}}
+
{{OJo|1=Más adelante se indicará el por qué de empezar por el <big>0</big>}}
===El ''paso'' de cada ''etapa''===
 
Se describe qué se expone en cada ''paso''
 
*Paso 0: (inicio) La recta '''''d''''' y  punto '''''A'''''
 
*Paso 1: La escuadra a la derecha del punto '''''A''''' sobre la regla que, alineada a la recta '''''d''''', le da ''soporte'' a lo largo de la recta y el ''lápiz'' apuntando al punto '''''A'''''.
 
*Paso 2:  La escuadra deslizándose a lo largo de la recta hasta que se apoya sobre el punto '''''A'''''.
 
*Paso 3: Un trazo guiado por la escuadra que parte de su vértice superior, el extremo opuesto al que ''hace esquina'' con la recta
 
*Paso 4: La prolongación del trazo que se desenvuelve siguiendo el ''cateto'' derecho de la escuadra desde su vértice inferior en el que coincide con la recta '''''d''''', ascendiendo hacia el punto '''''A'''''
 
*Paso 5: Culminación en el ''pie'' de la perpendicular que se corresponde con vértice inferior de la escuadra en que ''hace esquina'' con la recta '''''d''''' hasta identificar adecuada y visualmente el correspondiente ángulo recto resultante.
 
  
== Commencer par dessiner le but ==  
+
===El paso de cada etapa===
Le plus facile: placer un point A, une droite (d) - ici créée par les points M et N, cachés. Si vous ne souhaitez pas que la droite puisse être déplacée, vous pouvez par le menu Propriétés->Basique la rendre fixe. Astuce: mettre tout de suite de la couleur aux objets importants, on les repère alors plus facilement dans la fenêtre algèbre.
+
Se describe qué se expone en cada paso
 +
*<u>Paso</u> {{Step|num=0}} (inicio) La recta d y  punto A
 +
*<u>Paso</u> {{Step|num=1}} La escuadra a la derecha del punto A sobre la regla que, alineada a la recta d, le da soporte a lo largo de la recta y el lápiz apuntando al punto A.
 +
*<u>Paso</u> {{Step|num=2}} La escuadra deslizándose a lo largo de la recta hasta que se apoya sobre el punto A.
 +
*<u>Paso</u> {{Step|num=3}} Un trazo guiado por la escuadra que parte de su vértice superior, el extremo opuesto al que hace esquina con la recta
 +
*<u>Paso</u> {{Step|num=4}} La prolongación del trazo que se desenvuelve siguiendo el cateto derecho de la escuadra desde su vértice inferior en el que coincide con la recta d, ascendiendo hacia el punto A
 +
*<u>Paso</u> {{Step|num=5}} Culminación en el pie de la perpendicular que se corresponde con vértice inferior de la escuadra en que hace esquina con la recta d hasta identificar adecuada y visualmente el correspondiente ángulo recto resultante.
  
Créez donc une droite (MN), un point libre A, la perpendiculaire à (MN) qui passe par A, son pied. Éditez la légende de la droite : (d) puis cachez les points M et N. Appelez H le pied de la perpendiculaire. Afficher l'angle droit.
+
===Comenzando por el final===
 +
La forma más fácil es empezar por ubicar un punto A, una recta d  -  creada por los puntos M y N que se pueden ocultar.
 +
{{OJo|1=Si se desea evitar que la recta sea desplazada, se la puede establecer como Objeto Fijo en el [[Manual:Referencias_y_Cuadros_de_Diálogo#Cuadro_de_Propiedades_de_Objetos|Cuadro de Propiedades]] del [[:Categoría:Propiedades de Objeto#Propiedades de Objeto|Objeto]] que se puede desplegar a partir del [[Comentarios:Menú_Contextual|Menú Contextual]].}}
 +
{{Idea|1=Asignarle a los elementos más salientes de la construcción un color lo llamativo facilita su identificación en la {{vista|graf}} y en la {{vista|alg}}.}}
 +
<h4>Los Elementos en Juego</h4>
 +
Basta con <u>crear</u>...
 +
*una recta (MN),  
 +
*un punto libre A,  
 +
*la perpendicular a la recta (MN) que pasa por A y
 +
*su correspondiente pie.<br>
 +
Se procede a <u>editar</u>...
 +
*re-nombrando a la recta (MN) como d
 +
*ocultando los puntos M y N
 +
*identificando el punto - que se llamará H -  que es pie de la perpendicular
 +
*dándole entidad al correspondiente ángulo recto para ponerlo claramente en evidencia.
  
== Décider la commande des animations ==  
+
===Orden de los Episodios de la Animación===  
On a ici deux animations:
+
Los dos episodios centrales de la animación<sup><small>[https://www.geogebra.org/m/qXAkXHcu modelo en francés]]</small></sup> serían:
* L'équerre qui coulisse: cette animation sera commandée par son angle droit. On doit donc définir un segment sur la droite (d): entre la position de départ de l'équerre et sa position finale, le pied de la perpendiculaire. L'animation consiste à déplacer le point de commande, qui entraîne l'équerre.
+
*<u>El deslizamiento de la escuadra...</u> conformando un ángulo recto entre el cateto mayor y el recorrido. Esto requiere un segmento sobre la recta d entre la posición inicial de la escuadra y su posición final, el pie de la perpendicular.<br>La animación consiste en desplazar el punto de control, en que se esquina la escuadra.
* Le coup de crayon le long de l'autre côté de l'équerre: un point du segment formé par le côté à tracer de l'équerre. L'animation sera rendue par la trace active du point.
+
*<u>El trazo del lápiz a lo largo del otro cateto de la escuadra...</u> un punto del segmento formado el cateto de la escuadra que guía la perpendicular requerida.<br>La animación será disparada por tal punto que se desplazará dejando la estela de su trazo activo.<br>
 +
Por tanto, es necesario definir, en el orden adecuado:
 +
*<u>un segmento sobre la recta d sobre el que va a desplazarse la escuadra:</u> el segmento [BH] siendo B un punto de la recta, que se oculta, para dibujarlo.
 +
*<u>un punto C en este segmento:</u> el ángulo recto de la escuadra se tiende creando un "Punto" con un clic sobre el segmento [BH].<br>A continuación, se debe ocultar el segmento y exponer la recta, nuevamente.
 +
*<u>las dimensiones de la escuadra:</u> se le asigna una longitud de 2 unidades a uno de los catetos (el que se desplaza sobre la recta d) y 3 al mayor que guiará el trazado de la perpendicular.
 +
*<u>el segmento a trazar:</u> es preciso ubicar un punto D en una posición adecuada para guiar el movimiento de la escuadra.<br>Conviene ubicar el punto D sobre la perpendicular, a 3 unidades de distancia de su pie.
 +
*<u>el punto va a dejar su traza:</u> E será un punto sobre el segmento [DH].<br>
 +
{{OJo|1=Nuevamente, es mejor ocultar la perpendicular para ubicar el punto E sobre el segmento y no sobre la recta.}}
 +
Los puntos animados serán, por lo tanto:
 +
*C, punto del segmento [BH] sobre la recta d, que guiará a la escuadra: en la pestaña {{KeyCode|1=Álgebra}} del [[Manual:Referencias_y_Cuadros_de_Diálogo#Cuadro_de_Propiedades_de_Objetos|Cuadro de Propiedades ]] de sus [[:Categoría:Propiedades de Objeto#Propiedades de Objeto|Propiedades]], se establecerá su animación con la modalidad Aumentando (Una vez).
 +
*E, punto del segmento [DH] sobre la perpendicular, que guiará el trazo. También se le asignará una animación con la modalidad Aumentando (Una vez).
 +
Una vez creados C  y E, se deben ocultar los segmentos [BH] y [DH].
  
Il faut donc définir, dans l'ordre:  
+
===Creando los Objetos Animados===
* un segment dans la droite (d), sur lequel l'équerre va coulisser: le segment [BH] : placer le point B sur la droite, cacher la droite, tracer le segment.
+
Todos estos objetos dependen completamente del punto que los guía:
* un point C dans ce segment: l'angle droit de l'équerre. Utiliser l'outil "nouveau point" en cliquant dans le segment [BH]. Cacher alors le segment et afficher la droite à nouveau.
+
*Para animar a la escuadra, basta con apelar a la [[Herramienta de Polígono]] que determine el que se extiende entre los puntos a 2 unidades de distancia de C sobre la recta y 3 en dirección de la perpendicular a la recta que pasa por C.
* les dimensions de l'équerre: disons, 2 le long de la droite (d), 3 dans la dimension perpendiculaire.
+
*El lápiz puede quedar ilustrado con un cuidado dibujo alusivo o esquematizado con un simple vector con estilo de trazo grueso que baste para conformarnos.<br>Por ejemplo, estableciendo el punto F = E + (2, -0,5) y el segmento [EF] se puede contar con una primera versión del lápiz a mejorar, eventualmente, a posteriori.<br>
* le segment à tracer: il est préférable de l'attacher au but, qui est à la bonne position, plutôt qu'à l'équerre, qui peut bouger. On va donc placer un point sur la perpendiculaire, à la distance 3 du pied: D.  
+
{{OJo|1=Una vez creados los objetos, se deben ocultar las etapas de la construcción.}}
* le point que va tracer: E, un point du segment [DH] (ici aussi, il vaut mieux cacher la perpendiculaire pour être sur que le point E appartienne au segment et non à la droite).
+
===Rodando la Animación===
 +
La animación será orquestada por un conjunto de "pasos", seis en este caso<sup><small>[https://www.geogebra.org/m/qXAkXHcu modelo en francès]]</small></sup>.<br>Bastará con determinar...
 +
*un deslizador denominado, por ejemplo, etapa. Será un entero de un rango entre 0 y 5 que se incrementa de 1 en 1
 +
*un entero, etapas = 6
 +
... para acompasar el desenvolvimiento de los episodios.<br>
 +
Será necesario crear dos botones:
 +
*"Siguiente" cuyo guion (script) será:<br>paso=[[Comando Resto|Resto]](etapa+1, etapas)
 +
*"Reinicio" cuyo guion (script) será, básicamente el que fije el paso a cero:<br>paso=0
 +
Por lo tanto...
 +
*un clic en el botón {{KeyCode|1=Siguiente}} irá fijando el paso que ejecutará la secuencia de episodios: 0 1 2 3 4 5 0 1 2 3 4 5 0 1 ... <br>
 +
{{OJo|1=Si el tope es 6, después del 5 se pasa a 0, como puede observarse.}}
 +
*un clic en el botón {{KeyCode|1=Reinicio}} nos remitirá al paso 0, el de partida.  
 +
Lo que debe decidirse es, en definitiva, es qué objetos aparecerán según el valor del paso y con qué medidas y condiciones<sup><small>[https://www.geogebra.org/m/qXAkXHcu modelo en francés]]</small></sup>.
  
Les points animés sont donc:
+
*La recta d y el punto A estarán presentes permanentemente.
* C, point du segment [BH] inclus dans la droite (d), qui commande l'équerre: aller dans ses propriétés, onglet algèbre, et régler l'animation sur "une fois (croissant)".
+
*La escuadra, aparecerá para los pasos: 1 (posición a lo largo de la recta), 2 (deslizada), 3 (al pie).<br>Lo que se pone como condición para que quede expuesta será paso >= 1 ^ paso <= 3
* E, point du segment [DH] inclus dans la perpendiculaire, qui fera le tracé. Même réglage: animation en mode "une fois (croissant)".
+
*El lápiz aparece desde el paso 1 (ubicado en el punto de partida) al 3 (trazo).<br>Por lo tanto, se establece la misma condición
Une fois C et E créés, les segments [BH] et [DH] doivent être cachés.
+
*La perpendicular aparece en el paso número 4 (como prolongación del trazo) por lo que la condición será:<br>paso == 4
 +
*El pie de la perpendicular y el ángulo recto establecido, aparecerán en el paso número 5 por lo que la condición será paso == 5.
  
== Créer les objets animés ==
+
===Animar===
Ils doivent entièrement dépendre du point de commande.
+
En el rodaje se pone en juego la técnica.<br>Al iniciarse el segundo paso, la escuadra debe deslizarse.<br>
* Pour l'équerre, c'est facile, on s'en tire avec la perpendiculaire à (d) passant par C, des intersections avec des cercles de centre C et de rayon 2 et 3, puis l'outil polygone.
+
Esto requiere que el botón "Siguiente" detecte que se pasa al paso 2 y se active la animación.<br><br>
* Pour le crayon, il faut un peu plus de graphisme: on peut pour faire simple se contenter d'un segment défini à l'aide d'un vecteur. Définir F=E+(2,-0.5) et le segment [EF]: ça fera une première version du crayon, qu'on pourra toujours améliorer plus tard.
+
El problema es que el guion o script de GeoGebra consiste, prácticamente, de una sucesión de comandos pero no hay una estructura de control real como la de un bucle o la de una condición de prueba para la acción.<br><br>
 +
Por lo tanto, es preciso sumar a lo establecido un modo de codificar la prueba que establezca que...<br><u>"si paso == 2", se "active la animación"</u>.
  
Une fois les objets créés, cacher les étapes de la construction.
+
==Simular una Estructura de Control (Test)==
 +
Una forma de hacerlo es cambiar el lenguaje de programación del guion o script.<br>
 +
El propuesto para tal fin en primer lugar es el de JavaScript.<br>
 +
Por varias razones es, sin embargo, preferible evitarlo:  es pesado y mucho más lento que un lenguaje real como el C + +.<br>
 +
Como es el lenguaje integrado al entorno de GeoGebra, la mayoría de las veces, se utiliza javascript para las pruebas y los bucles apelando al comando ggbApplet.evalCommand (cadena de caracteres) que a su vez le pasa la cadena de caracteres a GeoGebra para su ejecución (test).<br>
 +
De hecho, GeoGebra tiene dos comandos que evocan estas estructuras:
 +
*[[Comentarios:Comando Si|Si]](condición, objeto_1, objeto_2) es un comando que devuelve el objeto_1 si la condición es verdadera y el objeto_2 en caso contrario.<br><hr>Pese a su estructura de aparente control, no implica una verdadera conmutación de comandos sino de objetos resultantes.<br><hr>
 +
*[[Tutorial:Visibilidad_Condicional_y_Secuencias#Introducción_a_Secuencias|Secuencia]](expresión variable, inicio, fin)<br>Es casi lo mismo que desencadena el comando [[Tutorial:Visibilidad_Condicional_y_Secuencias#Introducción_a_Secuencias|Secuencia]] que opera con la siguiente sintaxis:<br>
 +
[[Tutorial:Visibilidad_Condicional_y_Secuencias#Introducción_a_Secuencias|Secuencia]](expresión variable, inicio, fin) que origina una lista de objetos.<br>
 +
{{Example|1=<br>[[Tutorial:Visibilidad_Condicional_y_Secuencias#Introducción_a_Secuencias|Secuencia]]((i, 2i), i, 1, 3) crea una lista de puntos de coordenadas (1,2), (2,4) y (3,6).<br>De modo similar al comando [[Comentarios:Comando Si|Si]], su primer argumento no puede ser un comando.}}
 +
;<hr>
 +
El truco es emplear el comando [[Comentarios:Comando Si|Si]] para condicionar la cadena de caracteres que pasará a ser el argumento del comando [[Comando Ejecuta|Ejecuta]] como...<br>[[Comando Ejecuta|Ejecuta]](cadena de caracteres que opera como argumento)<br>GeoGebra, de este modo, podrá ejecutar el comando devenido del resultado de la prueba condicional (test).
 +
;<hr>
 +
Bastará, entonces, con añadir en el guion de botón {{KeyCode|Siguiente}}:<br>[[Comando Ejecuta|Ejecuta]]({Si(paso == 2, "StartAnimation(D, true)", "ZoomIn (1)")})
 +
{{OJo|1=Los nombres de los comandos que integren la lista de comandos de [[Comando Ejecuta|Ejecuta]] <u>deben</u> estar anotados en inglés.}}
 +
{{Note|1=El comando [[Comando IniciaAnimación|IniciaAnimación]] es el que se referencia en el ejemplo en inglés como StartAnimation}}
 +
<h3>Comentarios Animados</h3>
 +
'''Comentario''' 1: Lamentablemente, solo se admiten comandos en inglés en la lista que opere como argumento de [[Comando Ejecuta|Ejecuta]].<br>Este obstáculo se puede sortear sea...
 +
*apelando a la página wiki en <u>Español</u> para buscar cada [[:Categoría:Comando#Comando_a_Comando|comando]] necesario y cambiar a continuación el [[Comentarios:Comando_Relleno#Idioma|idioma]] para copiar el que le corresponde en inglés
 +
*anotando un ejemplo de empleo del comando en <u>Español</u> y cambiar el idioma en el menú de [[Comentarios:Comando_Relleno|Opciones]] para copiar el que le corresponde en inglés antes de reponer la opción del <u>Español</u><br><br>
 +
'''Comentario''' 2: El rol del [[:Categoría:Comandos_de_Guiones_-_Scripting#Comando ZoomAcerca|ZoomAcerca]] anotado necesariamente como "ZoomIn(1)" es el de evitar una salida nula en caso de no tener resultado positivo la prueba condicional del [[Comentarios:Comando Si|Si]].<br>Justamente [[:Categoría:Comandos_de_Guiones_-_Scripting#Comando ZoomAcerca|ZoomAcerca]](1) (anotado necesariamente como "ZoomIn(1)") es conveniente para operar con agilidad y casi sin efectos, como alternativa superadora de la salida nula que complicaría el desenvolvimiento de [[Comando Ejecuta|Ejecuta]].<br>
 +
{{OJo|1=[[:Categoría:Comandos_de_Guiones_-_Scripting#Comando ZoomAcerca|ZoomAcerca]](1) (anotado necesariamente como "ZoomIn[1]" para operar como argumento de [[Comando Ejecuta|Ejecuta]]) es conveniente dado que, sin ampliarla en tanto el factor es 1, limpia los rastros de la {{vista|graf}} y eventualmente le actualiza algo de lo asentado aleatoriamente, como todo efecto práctico.}}
 +
{{Note|1=<br>Para ilustrar la posibilidad de emplear un [[Archivo:Tool Insert Button.gif|link=Comentarios:Herramienta de Inserta Botón]] [[Comentarios:Herramienta de Inserta Botón|botón]] para activar el comando [[::Categoría:Objetos_de_Acción#Comando ZoomAcerca|ZoomAcerca]] y limpiar rastros en un boceto, ver la aplicación detallada en el [[:Categoría:Tutoriales|tutorial]] [[Tutorial:Hacia el Algebra desde la Barra#Escenarios de Análisis|Escenarios de Análisis]]}}<br>
 +
Comentario 3: Las adecuadas combinaciones entre [[Comando Ejecuta|Ejecuta]] y [[Tutorial:Visibilidad_Condicional_y_Secuencias#Introducción_a_Secuencias|Secuencia]] así como, eventualmente el comando [[Comentarios:Comando Elemento|Elemento]], operan como sucedáneos de esos bucles condicionados de un modo ingenioso.<br>Así, bastará con incluir en el guion o script del botón {{KeyCode|Siguiente}} la composición apropiada para lograr que, al iniciarse el tercer paso, se desencadene un episodio animado en que el lápiz cobra movimiento:<br><hr><center>[[Comando Ejecuta|Ejecuta]]({If(paso==3, "StartAnimation(E, true)" ,"ZoomIn(1)")} )</center>
 +
;<hr>
 +
{{OJo|1=Es importante, para enfatizar el efecto visual, activar el rastro del punto extremo E del lápiz.<br>El principio es el mismo: añadir en la secuencia de comandos de botón {{KeyCode|Siguiente}} el pertinente para lograrlo:<br><br><center>[[Comando Rastro|Rastro]]( <Objeto>, <Booleana> )</center><br><br>... vinculando la condición booleana a que el paso sea el que corresponda para que el objeto E tenga disponible o no esta alternativa.
 +
}}
  
== Mettre en place l'animation ==  
+
===Ajustar el Reinicio===  
L'animation est contrôlée par un entier "step", créé par step=0 dans la zone de saisie.
+
Un clic sobre el botón de {{KeyCode|Reinicio}} debe restablecer el paso a cero - 0-.
On définit un entier nstep=6 (le nombre d'étapes) et on crée deux boutons:  
+
Es conveniente aprovechar la oportunidad para...
* "Suivant" avec comme script: step=Reste[step+1,nstep]
+
*limpiar rastros (borrar las huellas gráficas del punto E así como inhabilitarse el [[Comando Rastro|Rastro]])
* "RAZ" avec comme script: step=0
+
*cambiar la ubicación de la escuadra y la del lápiz que debe volver a su posición original
Ainsi, chaque fois que l'on clique sur suivant, step parcourt la séquence: 0 1 2 3 4 5 0 1 2 3 4 5 0 1 ... (pour nstep=6). Et quand on clique sur RAZ, step est remis à 0. On enrichira ces scripts au fur et à mesure.
+
Para lograrlo, se deben añadir las líneas pertinentes al guion asociado al botón de {{KeyCode|Reinicio}}:
 +
*[[:Categoría:Comandos_de_Guiones_-_Scripting#Comando ZoomAcerca|ZoomAcerca]](1) para limpiar y actualizar la {{vista|graf}}
 +
*[[Comentarios:Comando Valor|Valor]](C, B) (C se re-ubica en su posición de partida, la de B)
 +
*[[Comentarios:Comando Valor|Valor]](E, D) (E se re-coloca en D).
  
On doit alors décider à quelles étapes apparaissent les différents objets.
+
===Puesta en Forma===
* la droite (d) et le point A seront présents tout le temps, on les laisse tranquilles.
+
Es importante recordar algunos detalles de forma para que la animación resulte prolija. Por lo pronto...
* L'équerre apparaît aux étapes 1 (positionnement le long de la droite), 2 (elle glisse), 3 (on trace): on lui met comme condition d'affichage:
+
*Ocultar todo lo que no debe ser visible
step >= 1 ^ step <= 3
+
*Añadir el texto explicativo acorde a cada etapa, asociado a las condiciones correspondientes. Por ejemplo, paso == 2 para el texto descriptivo del segundo episodio.
* Le crayon apparaît de l'étape 1 (placé sur le point) à 3 (tracé):  même condition
+
*Asignar los colores adecuados y el grosor de trazos apropiado así como la medida de tipografía conveniente para que la proyección sea nítida, clara y atractiva al mismo tiempo.
* La perpendiculaire apparaît à l'étape 4 (on prolonge à la règle le tracé), on lui met comme condition : step==4
 
* Le pied et l'angle ont pour condition d'affichage: step==5.
 
  
== Animer ==
+
==Alternativas Animadas==
C'est ici que ça devient technique. Au démarrage de l'étape 2, l'équerre doit glisser.
+
Siguiendo los criterios de producción de esta animación de nivel primario<sup><small>[https://www.geogebra.org/m/qXAkXHcu modelo en francés]]</small></sup>, se pueden elaborar las que expliquen dinámicamente técnicas avanzadas destinadas a estudiantes de escolaridad media o a universitarios.<br>
  
Il faut donc que le bouton "Suivant" détecte l'étape 2 et déclenche l'animationLa difficulté est que le script Geogebra consiste pratiquement en une succession de commandes, mais sans réelle structure de contrôle comme boucle ou test. Or on a besoin de coder le test "si step = 2 alors déclencher animation".
+
Por ejemplo, el método de Newton-Raphson, el Regula Falsi u otros iterativos.<br>
 +
<hr>
 +
Solo se requiere dedicación, paciencia y una cuota de recomendado...<br><center>¡entusiasmo creativo!</center>
 +
<hr>
 +
[[Category:Tutoriales_Avanzados]]
 +
<h3>Desencadenando Animaciones</h3>
 +
En la siguiente aplicación dinámica se puede disfrutar de los resultados de dar Animación Automática a uno y/u otro deslizador para intentar, además, descubrir cuáles son los efectos que se producen en el espirógrafo modelado.<br>
 +
{{Note|1=Para desencadenar o detener la Animación Automática de cada deslizador, basta con apuntarlo y pulsar el botón derecho del ratón o ''mouse'' y (des)tildar la alternativa correspondiente en el [[Comentarios:Menú_Contextual|menú contextual]] emergente.}}
 +
El desafío resulta más interesante cuando se intenta descubrir el rol de cada deslizador sobre el diseño resultante y/o se procura encontrar el modo de obtener determinado número de espiras internas o externas asignando el valor adecuado a cada uno de ellos.
 +
<hr>
 +
<center><ggb_applet width="500" height="549"  version="4.4" ggbBase64="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" /></center>
 +
=Animaciones=
 +
{{Objects|operate}}
 +
==Variantes Animadas==
 +
GeoGebra además de la variación animada (incluso simultánea) del valor de números y/o ángulos libres asociándolos a un deslizador, permite también la de puntos dependientes a lo largo del [[:Categoría:Objetos Geométricos#Recorridos|recorrido]] al que pertenezcan, sean segmentos, rectas, [[:Categoría:Objetos Geométricos#Funciones|funciones]], [[:Categoría:Curvas|curvas]], etc.
 +
===Animación Automática===
 +
Para animarlos automáticamente, los números y/o ángulos libres deben aparecer como deslizadores en la {{vista|graf}}.<br>
 +
Para proceder a una animación - sea de números y/o ángulos libres o de puntos dependientes -, basta un ''clic'' derecho (para Mac OS: {{KeyCode|Ctrl}}-''clic'') sobre el número, ángulo o punto para seleccionar y tildar la opción de Animación en el emergente [[Comentarios:Menú_Contextual|Menú Contextual]].<br>Para detener la animación, es preciso destildar la opción de Animación del mismo [[Comentarios:Menú_Contextual|Menú Contextual]].
 +
{{note|1=Después de ''animar'' a un número y/o ángulo [[:Categoría:Modalidad_del_Objeto|libre]] o a un punto [[:Categoría:Modalidad_del_Objeto|dependiente]], aparecerá un botón de animación en la esquina inferior izquierda de la {{vista|graf}}.<br>Esto permite, ya sea pausar [[Image:Animate Pause.png]] o [[Image:Animate Play.png]] continuar una animación.}}
 +
En el [[Manual:Referencias_y_Cuadros_de_Diálogo#Cuadro_de_Propiedades_de_Objetos|Cuadro de Propiedades]] en la pestaña correspondiente a '''Deslizador''' es posible modificar el comportamiento de la  animación en relación, por ejemplo, a su...
  
== Simuler une structure de contrôle (test) ==
+
;-  Velocidad
Une manière de faire est de changer de langage de script pour utiliser l'autre langage proposé, javascript. Pour plusieurs raisons, je préfère éviter: c'est lourd, on rentre dans un véritable langage "à la C++" mais sans l'environnement de programmation qui va normalement avec. La plupart du temps, on utilise javascript pour les tests et les boucles et on utilise massivement la commande 'ggbApplet.evalCommand( chaine )' qui passe une chaîne de caractères à Geogebra, qui à son tour l'exécute.  
+
{{note|Fijarla a 1  implica que demandará 10 segundos el recorrido completo a través del  intervalo cubierto por el deslizador.}}
  
Geogebra possède cependant deux commandes qui évoquent ces structures:  
+
;- Régimen del Ciclo:
* Si[ condition, objet1, objet2 ] est une commande qui renvoie objet1 si la condition est vraie, et objet2 sinon. Mais ce n'est pas utilisable tel quel comme un véritable aiguillage de commandes: objet1 et objet2 doivent être des objets, ils ne peuvent pas être des commandes.
+
; &hArr; Oscilante:
* C'est un peu la même chose pour la commande Séquence[ expression, variable, début, fin] qui va créer une liste d'objets. Exemple : Séquence[ (i,2i) , i, 1, 3 ] crée les la liste de points de coordonnées (1,2), (2,4) et (3,6). Idem, le premier argument ne peut pas être une commande.  
+
: El ciclo de animación alterna entre un régimen Decreciente y uno Creciente.
 +
; &rArr; Creciente:
 +
:El valor del deslizador es siempre creciente cuando se decide el  ''Incremento ''. De modo que, al llegar a su máximo valor, retorna al mínimo inicial para  proseguir con la animación.
 +
; &lArr; Decreciente:
 +
:El valor del deslizador es siempre decreciente cuando se decide el  ''Decremento ''. De modo que, al llegar a su mínimo valor, retorna al máximo para  proseguir con la animación.
 +
;&rArr; Una vez (creciente): La animación se desarrolla mientras crecen los valores del deslizador. <br/>Una vez que se llega al máximo, se detiene.
 +
{{note|1=Mientras la animación automática está activa, GeoGebra permanece completamente funcional. Esto permite hacer cambios en la construcción entre tanto.}}
 +
===Animación Manual===
 +
Para modificar manualmente, de forma continua un número o ángulo, basta seleccionar la herramienta [[Image:Mode move.svg|link=Comentarios:Herramienta de Elige y Mueve|32px]] [[Comentarios:Herramienta de Elige y Mueve|Elige y Mueve]] y hacer clic sobre un número o ángulo libre y pulsar o {{KeyCode|+}} o {{KeyCode|-}} o las teclas flechas.<br>Un ''clic'' sobre un número o ángulo libre o sobre un punto dependiente, produce así, manualmente, un efecto de animación al mantener permanentemente, una de estas teclas, pulsada.
 +
{{example|1=Si las coordenadas de un punto dependen de un número ''k'' como en <nowiki>P = (2 k, k)</nowiki>, el punto se desplazará a lo largo de una recta si ''k'' se modifica continuamente.}}
 +
{{note|1=Con las teclas-flecha puede desplazarse cualquier objeto libre empleando la herramienta [[Image:Mode move.svg|link=Comentarios:Herramienta de Elige y Mueve|32px]] [[Comentarios:Herramienta de Elige y Mueve|Elige y Mueve]]}}
  
L'astuce consiste à utiliser la commande Si avec comme objet, les commandes sous forme de chaîne de caractères. Puis utiliser la commande Exécute[ liste de chaînes ] : Geogebra va alors exécuter la commande résultat du test. Rajouter dans le script du bouton "suivant":
+
===Teclas de Atajo===
  
Exécute[ {Si[ step==2 , "StartAnimation[D,true]" ,"ZoomIn[1]"] } ]
+
*{{KeyCode|Shift}} + {{KeyCode|↑}} establece cambios de a ''0.1'' unidades<br><br>
 
+
*{{KeyCode|Ctrl}}  + {{KeyCode|↑}} establece cambios de a 10 unidades<br><br>
'''Commentaire 1''' : les noms de commandes argument de Exécute (donc entre guillemets dans la commande précédente) doivent être en anglais. Ah là là, que c'est dommage. Astuce: toujours avoir la page "commandes" du wiki affichée, trouver sa commande en français, puis changer la langue: on trouve alors tout de suite le nom anglais de la commande.
+
*{{KeyCode|Alt}}    + {{KeyCode|↑}} establece cambios de ancho de 100 unidades<br><br>
 
+
{{Note|1=<br>También se puede mover cualquier punto a lo largo de una recta, empleando la tecla {{KeyCode|+}} o {{KeyCode|–}}.}}
'''Commentaire 2''' : pourquoi la commande "ZoomIn[1]" (Agrandir[1] en français)? On aurait en effet pu utiliser le test simple SI...ALORS au lieu de ce SI...ALORS...SINON. Cependant, si le test n'est pas satisfait, Si renverra l'objet nul, ce qui fait planter la commande Exécute. Agrandir[1] est bien pratique comme commande qui ne fait pratiquement rien, mais vite (zoom x1 ... mais ça nettoie les traces).
 
 
 
 
 
'''Commentaire 3''' : en combinant Exécute et Séquence, on arrive à simuler des boucles. Un bon exercice!
 
 
 
Au démarrage de l'étape 3, c'est le crayon qui bouge. Astuce: activer la trace de l'extrémité E du crayon, ça sera plus visuel. Le principe est le même: rajouter dans le script du bouton "Suivant":
 
 
 
Exécute[ {Si[ step==3 , "StartAnimation[E,true]" ,"ZoomIn[1]"] } ]
 
 
 
== Ajuster la remise à zéro ==
 
Si on clique sur "RAZ", step est remis à zéro. On peut en profiter pour nettoyer le graphique de la trace du point E, et repositionner équerre et crayon dans leur position initiale. Pour cela, rajouter dans le script du bouton "RAZ" les lignes:
 
* Agrandir[1] (nettoyage du graphique)
 
* SoitValeur[C,B] (C est mis dans sa position de départ: B)
 
* SoitValeur[E,D] (E est mis en D).
 
 
 
== Mettre en forme ==
 
* Cacher tout ce qui doit l'être.
 
* Rajouter des textes à chaque étape (condition d'affichage, p.ex. step==2 pour les textes devant s'afficher à l'étape 2).
 
* Mettre plein de couleurs et des gros traits, ça passe bien mieux une fois projeté. Plus l'animation est jolie, plus il est facile d'accrocher les jeunes élèves.
 
 
 
Et bien, à vous de jouer !
 
[[fr:Tutoriel:Animation pas à pas d'une construction géométrique simple avec boutons et scripts.]]
 
[[Category:Tutoriales_Avanzados]]
 

Revisión actual del 21:28 12 ago 2020

Plantilla:Tutoriales

Creando una animación paso a paso

Objetivos

El propósito de este tutorial es mostrar técnicas básicas para crear una construcción a animarse paso a paso
Se ha elegido un ejemplo simple que muestra las etapas del trazado de una perpendicular a una recta que pasa por un puntomodelo en francés]
Se muestra el deslizamiento de la escuadra hacia la derecha, apoyada en la regla que coincide con la recta.
El desplazamiento se detiene cuando el perfil de la escuadra coincide con el punto donde está esperando el lápiz.
Entonces se realiza el trazo.
¡Ahora, pasemos a animarnos con la obra!

Las siguientes son las etapas que cubre este tutorial:
1 El empleo del condicional para establecer qué elementos de la construcción se exponen en cada paso
2 El uso de los botones para desencadenar un guion (o script) de una secuencia de comandos que llevan de una etapa a otra, en acciones desencadenadas...
- a partir de ciertos cambios registrados en las medidas
- acorde a un valor que se determina para iniciar la animación.

La Estructura de la Animación

Este es un escenario explicativo para describirles a los estudiantes el mecanismo, paso a paso, que permite trazar una perpendicular a una recta d que pasa por un punto exterior A. Quienes están procurando aprender la técnica en juego, puede decidir lo que se debe ir observando. La explicación animada se desenvuelve en seis etapas que se corresponden a los pasos que van del 0 al 5modelo en francés].

Bulbgraph.pngAtención: Más adelante se indicará el por qué de empezar por el 0


El paso de cada etapa

Se describe qué se expone en cada paso

  • Paso 0 (inicio) La recta d y punto A
  • Paso 1 La escuadra a la derecha del punto A sobre la regla que, alineada a la recta d, le da soporte a lo largo de la recta y el lápiz apuntando al punto A.
  • Paso 2 La escuadra deslizándose a lo largo de la recta hasta que se apoya sobre el punto A.
  • Paso 3 Un trazo guiado por la escuadra que parte de su vértice superior, el extremo opuesto al que hace esquina con la recta
  • Paso 4 La prolongación del trazo que se desenvuelve siguiendo el cateto derecho de la escuadra desde su vértice inferior en el que coincide con la recta d, ascendiendo hacia el punto A
  • Paso 5 Culminación en el pie de la perpendicular que se corresponde con vértice inferior de la escuadra en que hace esquina con la recta d hasta identificar adecuada y visualmente el correspondiente ángulo recto resultante.

Comenzando por el final

La forma más fácil es empezar por ubicar un punto A, una recta d - creada por los puntos M y N que se pueden ocultar.

Bulbgraph.pngAtención: Si se desea evitar que la recta sea desplazada, se la puede establecer como Objeto Fijo en el Cuadro de Propiedades del Objeto que se puede desplegar a partir del Menú Contextual.
Note Idea: Asignarle a los elementos más salientes de la construcción un color lo llamativo facilita su identificación en la Menu view graphics.svg Vista Gráfica y en la Menu view algebra.svg Vista Algebraica.

Los Elementos en Juego

Basta con crear...

  • una recta (MN),
  • un punto libre A,
  • la perpendicular a la recta (MN) que pasa por A y
  • su correspondiente pie.

Se procede a editar...

  • re-nombrando a la recta (MN) como d
  • ocultando los puntos M y N
  • identificando el punto - que se llamará H - que es pie de la perpendicular
  • dándole entidad al correspondiente ángulo recto para ponerlo claramente en evidencia.

Orden de los Episodios de la Animación

Los dos episodios centrales de la animaciónmodelo en francés] serían:

  • El deslizamiento de la escuadra... conformando un ángulo recto entre el cateto mayor y el recorrido. Esto requiere un segmento sobre la recta d entre la posición inicial de la escuadra y su posición final, el pie de la perpendicular.
    La animación consiste en desplazar el punto de control, en que se esquina la escuadra.
  • El trazo del lápiz a lo largo del otro cateto de la escuadra... un punto del segmento formado el cateto de la escuadra que guía la perpendicular requerida.
    La animación será disparada por tal punto que se desplazará dejando la estela de su trazo activo.

Por tanto, es necesario definir, en el orden adecuado:

  • un segmento sobre la recta d sobre el que va a desplazarse la escuadra: el segmento [BH] siendo B un punto de la recta, que se oculta, para dibujarlo.
  • un punto C en este segmento: el ángulo recto de la escuadra se tiende creando un "Punto" con un clic sobre el segmento [BH].
    A continuación, se debe ocultar el segmento y exponer la recta, nuevamente.
  • las dimensiones de la escuadra: se le asigna una longitud de 2 unidades a uno de los catetos (el que se desplaza sobre la recta d) y 3 al mayor que guiará el trazado de la perpendicular.
  • el segmento a trazar: es preciso ubicar un punto D en una posición adecuada para guiar el movimiento de la escuadra.
    Conviene ubicar el punto D sobre la perpendicular, a 3 unidades de distancia de su pie.
  • el punto va a dejar su traza: E será un punto sobre el segmento [DH].
Bulbgraph.pngAtención: Nuevamente, es mejor ocultar la perpendicular para ubicar el punto E sobre el segmento y no sobre la recta.

Los puntos animados serán, por lo tanto:

  • C, punto del segmento [BH] sobre la recta d, que guiará a la escuadra: en la pestaña Álgebra del Cuadro de Propiedades de sus Propiedades, se establecerá su animación con la modalidad Aumentando (Una vez).
  • E, punto del segmento [DH] sobre la perpendicular, que guiará el trazo. También se le asignará una animación con la modalidad Aumentando (Una vez).

Una vez creados C y E, se deben ocultar los segmentos [BH] y [DH].

Creando los Objetos Animados

Todos estos objetos dependen completamente del punto que los guía:

  • Para animar a la escuadra, basta con apelar a la Herramienta de Polígono que determine el que se extiende entre los puntos a 2 unidades de distancia de C sobre la recta y 3 en dirección de la perpendicular a la recta que pasa por C.
  • El lápiz puede quedar ilustrado con un cuidado dibujo alusivo o esquematizado con un simple vector con estilo de trazo grueso que baste para conformarnos.
    Por ejemplo, estableciendo el punto F = E + (2, -0,5) y el segmento [EF] se puede contar con una primera versión del lápiz a mejorar, eventualmente, a posteriori.
Bulbgraph.pngAtención: Una vez creados los objetos, se deben ocultar las etapas de la construcción.

Rodando la Animación

La animación será orquestada por un conjunto de "pasos", seis en este casomodelo en francès].
Bastará con determinar...

  • un deslizador denominado, por ejemplo, etapa. Será un entero de un rango entre 0 y 5 que se incrementa de 1 en 1
  • un entero, etapas = 6

... para acompasar el desenvolvimiento de los episodios.
Será necesario crear dos botones:

  • "Siguiente" cuyo guion (script) será:
    paso=Resto(etapa+1, etapas)
  • "Reinicio" cuyo guion (script) será, básicamente el que fije el paso a cero:
    paso=0

Por lo tanto...

  • un clic en el botón Siguiente irá fijando el paso que ejecutará la secuencia de episodios: 0 1 2 3 4 5 0 1 2 3 4 5 0 1 ...
Bulbgraph.pngAtención: Si el tope es 6, después del 5 se pasa a 0, como puede observarse.
  • un clic en el botón Reinicio nos remitirá al paso 0, el de partida.

Lo que debe decidirse es, en definitiva, es qué objetos aparecerán según el valor del paso y con qué medidas y condicionesmodelo en francés].

  • La recta d y el punto A estarán presentes permanentemente.
  • La escuadra, aparecerá para los pasos: 1 (posición a lo largo de la recta), 2 (deslizada), 3 (al pie).
    Lo que se pone como condición para que quede expuesta será paso >= 1 ^ paso <= 3
  • El lápiz aparece desde el paso 1 (ubicado en el punto de partida) al 3 (trazo).
    Por lo tanto, se establece la misma condición
  • La perpendicular aparece en el paso número 4 (como prolongación del trazo) por lo que la condición será:
    paso == 4
  • El pie de la perpendicular y el ángulo recto establecido, aparecerán en el paso número 5 por lo que la condición será paso == 5.

Animar

En el rodaje se pone en juego la técnica.
Al iniciarse el segundo paso, la escuadra debe deslizarse.
Esto requiere que el botón "Siguiente" detecte que se pasa al paso 2 y se active la animación.

El problema es que el guion o script de GeoGebra consiste, prácticamente, de una sucesión de comandos pero no hay una estructura de control real como la de un bucle o la de una condición de prueba para la acción.

Por lo tanto, es preciso sumar a lo establecido un modo de codificar la prueba que establezca que...
"si paso == 2", se "active la animación".

Simular una Estructura de Control (Test)

Una forma de hacerlo es cambiar el lenguaje de programación del guion o script.
El propuesto para tal fin en primer lugar es el de JavaScript.
Por varias razones es, sin embargo, preferible evitarlo: es pesado y mucho más lento que un lenguaje real como el C + +.
Como es el lenguaje integrado al entorno de GeoGebra, la mayoría de las veces, se utiliza javascript para las pruebas y los bucles apelando al comando ggbApplet.evalCommand (cadena de caracteres) que a su vez le pasa la cadena de caracteres a GeoGebra para su ejecución (test).
De hecho, GeoGebra tiene dos comandos que evocan estas estructuras:

  • Si(condición, objeto_1, objeto_2) es un comando que devuelve el objeto_1 si la condición es verdadera y el objeto_2 en caso contrario.

    Pese a su estructura de aparente control, no implica una verdadera conmutación de comandos sino de objetos resultantes.

  • Secuencia(expresión variable, inicio, fin)
    Es casi lo mismo que desencadena el comando Secuencia que opera con la siguiente sintaxis:

Secuencia(expresión variable, inicio, fin) que origina una lista de objetos.

Ejemplo:
Secuencia((i, 2i), i, 1, 3) crea una lista de puntos de coordenadas (1,2), (2,4) y (3,6).
De modo similar al comando Si, su primer argumento no puede ser un comando.

El truco es emplear el comando Si para condicionar la cadena de caracteres que pasará a ser el argumento del comando Ejecuta como...
Ejecuta(cadena de caracteres que opera como argumento)
GeoGebra, de este modo, podrá ejecutar el comando devenido del resultado de la prueba condicional (test).


Bastará, entonces, con añadir en el guion de botón Siguiente:
Ejecuta({Si(paso == 2, "StartAnimation(D, true)", "ZoomIn (1)")})

Bulbgraph.pngAtención: Los nombres de los comandos que integren la lista de comandos de Ejecuta deben estar anotados en inglés.
Nota: El comando IniciaAnimación es el que se referencia en el ejemplo en inglés como StartAnimation

Comentarios Animados

Comentario 1: Lamentablemente, solo se admiten comandos en inglés en la lista que opere como argumento de Ejecuta.
Este obstáculo se puede sortear sea...

  • apelando a la página wiki en Español para buscar cada comando necesario y cambiar a continuación el idioma para copiar el que le corresponde en inglés
  • anotando un ejemplo de empleo del comando en Español y cambiar el idioma en el menú de Opciones para copiar el que le corresponde en inglés antes de reponer la opción del Español

Comentario 2: El rol del ZoomAcerca anotado necesariamente como "ZoomIn(1)" es el de evitar una salida nula en caso de no tener resultado positivo la prueba condicional del Si.
Justamente ZoomAcerca(1) (anotado necesariamente como "ZoomIn(1)") es conveniente para operar con agilidad y casi sin efectos, como alternativa superadora de la salida nula que complicaría el desenvolvimiento de Ejecuta.

Bulbgraph.pngAtención: ZoomAcerca(1) (anotado necesariamente como "ZoomIn[1]" para operar como argumento de Ejecuta) es conveniente dado que, sin ampliarla en tanto el factor es 1, limpia los rastros de la Menu view graphics.svg Vista Gráfica y eventualmente le actualiza algo de lo asentado aleatoriamente, como todo efecto práctico.
Nota:
Para ilustrar la posibilidad de emplear un Tool Insert Button.gif botón para activar el comando [[::Categoría:Objetos_de_Acción#Comando ZoomAcerca|ZoomAcerca]] y limpiar rastros en un boceto, ver la aplicación detallada en el tutorial Escenarios de Análisis


Comentario 3: Las adecuadas combinaciones entre Ejecuta y Secuencia así como, eventualmente el comando Elemento, operan como sucedáneos de esos bucles condicionados de un modo ingenioso.
Así, bastará con incluir en el guion o script del botón Siguiente la composición apropiada para lograr que, al iniciarse el tercer paso, se desencadene un episodio animado en que el lápiz cobra movimiento:


Ejecuta({If(paso==3, "StartAnimation(E, true)" ,"ZoomIn(1)")} )

Bulbgraph.pngAtención: Es importante, para enfatizar el efecto visual, activar el rastro del punto extremo E del lápiz.
El principio es el mismo: añadir en la secuencia de comandos de botón Siguiente el pertinente para lograrlo:

Rastro( <Objeto>, <Booleana> )


... vinculando la condición booleana a que el paso sea el que corresponda para que el objeto E tenga disponible o no esta alternativa.


Ajustar el Reinicio

Un clic sobre el botón de Reinicio debe restablecer el paso a cero - 0-. Es conveniente aprovechar la oportunidad para...

  • limpiar rastros (borrar las huellas gráficas del punto E así como inhabilitarse el Rastro)
  • cambiar la ubicación de la escuadra y la del lápiz que debe volver a su posición original

Para lograrlo, se deben añadir las líneas pertinentes al guion asociado al botón de Reinicio:

Puesta en Forma

Es importante recordar algunos detalles de forma para que la animación resulte prolija. Por lo pronto...

  • Ocultar todo lo que no debe ser visible
  • Añadir el texto explicativo acorde a cada etapa, asociado a las condiciones correspondientes. Por ejemplo, paso == 2 para el texto descriptivo del segundo episodio.
  • Asignar los colores adecuados y el grosor de trazos apropiado así como la medida de tipografía conveniente para que la proyección sea nítida, clara y atractiva al mismo tiempo.

Alternativas Animadas

Siguiendo los criterios de producción de esta animación de nivel primariomodelo en francés], se pueden elaborar las que expliquen dinámicamente técnicas avanzadas destinadas a estudiantes de escolaridad media o a universitarios.

Por ejemplo, el método de Newton-Raphson, el Regula Falsi u otros iterativos.


Solo se requiere dedicación, paciencia y una cuota de recomendado...

¡entusiasmo creativo!

Desencadenando Animaciones

En la siguiente aplicación dinámica se puede disfrutar de los resultados de dar Animación Automática a uno y/u otro deslizador para intentar, además, descubrir cuáles son los efectos que se producen en el espirógrafo modelado.

Nota: Para desencadenar o detener la Animación Automática de cada deslizador, basta con apuntarlo y pulsar el botón derecho del ratón o mouse y (des)tildar la alternativa correspondiente en el menú contextual emergente.

El desafío resulta más interesante cuando se intenta descubrir el rol de cada deslizador sobre el diseño resultante y/o se procura encontrar el modo de obtener determinado número de espiras internas o externas asignando el valor adecuado a cada uno de ellos.


Animaciones




Variantes Animadas

GeoGebra además de la variación animada (incluso simultánea) del valor de números y/o ángulos libres asociándolos a un deslizador, permite también la de puntos dependientes a lo largo del recorrido al que pertenezcan, sean segmentos, rectas, funciones, curvas, etc.

Animación Automática

Para animarlos automáticamente, los números y/o ángulos libres deben aparecer como deslizadores en la Menu view graphics.svg Vista Gráfica.
Para proceder a una animación - sea de números y/o ángulos libres o de puntos dependientes -, basta un clic derecho (para Mac OS: Ctrl-clic) sobre el número, ángulo o punto para seleccionar y tildar la opción de Animación en el emergente Menú Contextual.
Para detener la animación, es preciso destildar la opción de Animación del mismo Menú Contextual.

Nota: Después de animar a un número y/o ángulo libre o a un punto dependiente, aparecerá un botón de animación en la esquina inferior izquierda de la Menu view graphics.svg Vista Gráfica.
Esto permite, ya sea pausar Animate Pause.png o Animate Play.png continuar una animación.

En el Cuadro de Propiedades en la pestaña correspondiente a Deslizador es posible modificar el comportamiento de la animación en relación, por ejemplo, a su...

- Velocidad
Nota: Fijarla a 1 implica que demandará 10 segundos el recorrido completo a través del intervalo cubierto por el deslizador.
- Régimen del Ciclo
⇔ Oscilante
El ciclo de animación alterna entre un régimen Decreciente y uno Creciente.
⇒ Creciente
El valor del deslizador es siempre creciente cuando se decide el Incremento . De modo que, al llegar a su máximo valor, retorna al mínimo inicial para proseguir con la animación.
⇐ Decreciente
El valor del deslizador es siempre decreciente cuando se decide el Decremento . De modo que, al llegar a su mínimo valor, retorna al máximo para proseguir con la animación.
⇒ Una vez (creciente)
La animación se desarrolla mientras crecen los valores del deslizador.
Una vez que se llega al máximo, se detiene.
Nota: Mientras la animación automática está activa, GeoGebra permanece completamente funcional. Esto permite hacer cambios en la construcción entre tanto.

Animación Manual

Para modificar manualmente, de forma continua un número o ángulo, basta seleccionar la herramienta Mode move.svg Elige y Mueve y hacer clic sobre un número o ángulo libre y pulsar o + o - o las teclas flechas.
Un clic sobre un número o ángulo libre o sobre un punto dependiente, produce así, manualmente, un efecto de animación al mantener permanentemente, una de estas teclas, pulsada.

Ejemplo: Si las coordenadas de un punto dependen de un número k como en P = (2 k, k), el punto se desplazará a lo largo de una recta si k se modifica continuamente.
Nota: Con las teclas-flecha puede desplazarse cualquier objeto libre empleando la herramienta Mode move.svg Elige y Mueve

Teclas de Atajo

  • Shift + establece cambios de a 0.1 unidades

  • Ctrl + establece cambios de a 10 unidades

  • Alt + establece cambios de ancho de 100 unidades

Nota:
También se puede mover cualquier punto a lo largo de una recta, empleando la tecla + o .
© 2024 International GeoGebra Institute