Robot recíproco Pitágoras
Esta actividad pertenece al libro de GeoGebra Autómatas.
Hasta ahora, el comportamiento de los robots quedaba determinado por vectores definidos a partir de los otros puntos. En este último apartado, crearemos robots que antes de emprender un movimiento husmeen qué sucede a su alrededor y, basándose en los valores obtenidos, tomen una decisión.
Proyecto 2D: crear demostraciones dinámicas automáticas.
En este ejemplo, queremos demostrar el recíproco del teorema de Pitágoras.
Partimos de un triángulo ABC y llamamos dif la expresión abs(a²+b²-c²). Nuestro objetivo es que dif valga 0.
Creamos un deslizador t que va a servirnos para animar el vértice C (al que hemos activado el rastro), de forma que varíe con bastante frecuencia, por ejemplo, entre 0 y 1 con paso 0.01.
Otro deslizador inc, entre 0 y 0.1, nos servirá para establecer el avance en cada paso. En principio, el valor de inc será 0.1.
Finalmente, creamos dos objetos auxiliares: C0=(0,0) y dif0=0 que valdrán para mantener, respectivamente, los valores actuales de C y dif.
Ahora escribimos el programa de nuestro robot. Cada vez que se actualice el valor de t, se ejecutará el siguiente guión de instrucciones (el símbolo # sirve para añadir comentarios):
# Fijamos los valores de partida dif0 y C0:
Valor(dif0, dif)
Valor(C0, C)
# Variamos C y comparamos la dif yendo hacia el NE con dif0:
Valor(C, C + (inc, inc))
Valor(C, Si(dif# [Repetimos estas tres instrucciones para los movimientos hacia el E, SE, S, SO, O, NO y N, es decir, (inc, 0), (inc, -inc), (0, -inc), (-inc, -inc), (-inc, 0), (-inc, inc) y (0, inc).]
# Si la diferencia no se reduce, incrementamos la precisión dividiendo inc entre 10:
Valor(inc, Si(dif==dif0, inc/10, inc))
# Cuando la diferencia sea nula, detenemos la animación (además, se mostrará el mensaje “proceso terminado”):
Si(dif==0, IniciaAnimación(false))
Ya solo nos queda animar el deslizador t.
Nota: Si queremos volver a repetir el experimento, debemos recordar devolver inc al valor 0.1.
Autor de la actividad y construcción GeoGebra: Rafael Losada.