Google Classroom
GeoGebraGeoGebra Classroom

Uso de scripts

Esta actividad pertenece al libro de GeoGebra Mecanismos. En esta actividad aparecen tres barras de longitud 1 unidad. Sin embargo, el proceso de construcción es diferente en cada caso: 1) Barra AB. En este caso, mientras que A es libre (por ejemplo, A=(1,3)), B es un punto dependiente de A, ya que está situado en la circunferencia de centro A y radio 1. Al mover A, se arrastra la barra. Al mover B, este punto gira alrededor de A. La barra no se puede mover directamente. Naturalmente, también podríamos optar por construir el punto A como punto dependiente de B. En tal caso, la barra se arrastraría al mover B, mientras que al mover A este punto giraría alrededor de B. Este es el modo habitual de construcción de los objetos en la Geometría Dinámica: el orden de construcción es fundamental para determinar el comportamiento de los objetos, pues ese orden influye en el modo en que unos dependen de otros. No podemos, usando este modo habitual, crear dos puntos A y B con el mismo tipo de interdependencia, es decir, que se comporten igual al ser movidos. 2) Barra CD. Ambos puntos son libres. Al mover C, este punto gira sobre D. Al mover D, este punto gira sobre C. La barra se puede arrastrar independientemente. Ahora bien, ¿cómo se consigue que, siendo libres, los puntos C y D mantengan la distancia de 1 unidad entre ellos? La respuesta está en el uso de scripts (instrucción o secuencia de instrucciones). Al mover el punto C, se activa el siguiente script: SetValue(C, Intersect(Ray(D,C), Circle(D,1))) Esta instrucción obliga a C a mantener esa distancia con D.
  • Nota 1: Observemos que no hemos usado C = Intersect(Ray(D,C), Circle(D,1))) pues esta instrucción redefiniría C como punto dependiente de D. En su lugar, C conserva su definición como punto libre pero le obligamos a recolocarse y tomar el valor resultado de intersecar Ray(D,C) con Circle(D,1).
  • Nota 2: Los scripts pueden conseguir el mismo resultado de diversas formas. Por ejemplo, un script equivalente al anterior podría ser la instrucción SetValue(C, D + UnitVector(C-D)).
Igualmente, al mover el punto D, se activa el siguiente script: SetValue(D, Intersect(Ray(C,D), Circle(C,1))) 3) Barra EF. Ambos puntos son libres. La barra se puede arrastrar independientemente. Al mover E, este punto arrastra en su movimiento a F, gracias al siguiente script: SetValue(F, Intersect(Ray(E,F), Circle(E,1))) Igualmente, al mover F, este punto arrastra en su movimiento a A: SetValue(E, Intersect(Ray(F,E), Circle(F,1))) Observemos que el comportamiento de la barra EF es el que nos resulta más parecido al comportamiento real de una barra física de longitud 1 unidad. Sin embargo, las tres representaciones mantienen la misma limitación algebraica (distancia entre los extremos de la barra igual a 1) y, a la vista, son idénticas... mientras no interactuemos con ellas. Es en esta interactuacción donde el uso de scripts permite escapar del corsé impuesto por el proceso constructivo típico de la Geometría Dinámica.
Autor de la construcción GeoGebra: Rafael Losada