Inicio > Procesadores geométricos > Geogebra y JavaScript

Geogebra y JavaScript

Viernes, 15 de diciembre de 2006
Citar este artículo 12.398 visitas
Geogebra y JavaScript

En un post anterior dejé varios applets de Geogebra, tratanto de ilustrar algunos elementos que tienden a diferenciarlo de otros procesadores geométricos, en especial de otros también gratuitos. También en Noviembre mostré varias ilusiones ópticas construidas con éste software de geometría. Como he verificado recientemente, al incluir varios applets (seis en éste caso) en una misma página, la carga se demora notablemente en equipos relativamente lentos.

Pues bien, en un intento por mostrar algunas de las ventajas de Geogebra 2.7 y al mismo tiempo optimizar el blog, voy a explicar brevemente a continuación la notable conexión que han realizado sus creadores con el popular lenguaje JavaScript.

Lo que voy a mostrar a continuación requiere de algunos conocimientos de HTML y JavaScript, pero sólo un poco. La mayoría de los que no estudiamos formalmente esto, partimos copiando y pegando códigos, preguntando en foros de discusión y leyendo uno que otro manual. Si bien Geogebra permite la exportación directa a páginas web, sin necesidad de conocer sobre diseño de páginas web, con la ayuda de JavaScript podremos utilizar botones, externos a las construciones, para modificar algunos elementos de éstas.

Parámetros del applet

Partamos diciendo que el applet es un programa que permite, en nuestro caso, mostrar construcciones dentro de las páginas web. El applet de Geogebra (geogebra.jar) es un archivo que podremos encontrar en la carpeta donde hayamos instalado Geogebra. Es conveniente dejar en la misma carpeta donde ubicaremos la página web (y las construcciones), los siguientes archivos:

ésta es una parte que el software hace automáticamente cuando exportamos, al igual que la creación de la página web, pero, a falta del software, o si se desea insertar el applet manualmente, debe utilizarse el siguiente código:

<applet name=’ggbApplet’ code=’geogebra.GeoGebraApplet’archive=’geogebra.jar’ width=’500′ height=’300′>
<param name=’filename’ value=’circulo.ggb’>
<param name=’lang’ value=’es’>
</applet>

Ésta es la cantidad mínima de código necesaria para lograr nuestro objetivo. En éste caso, se mostrará la construcción ‘circulo.ggb‘, archivo que debe estar en la misma carpeta que la página web.

Cabe destacar que al exportar la página desde Geogebra el atributo name (name=’ggbApplet’) no aparece, pero es necesario para utilizar JavaScript. Asimismo, el parámetro ‘lang’ define el lenguaje en el que se mostrarán los objetos (es=español), como también el lenguaje en el que se ingresarán comandos de construcción. Una descripción más completa de los códigos del applet se pueden encontrar en el siguiente enlace (en inglés).

JavaScript

JavaScript es un lenguaje de programación sumamente popular en el diseño de páginas web. Cada vez que se abren ventanas emergentes (PopUp), recibimos mensajes de alerta (con el botón aceptar), etc; estamos ejecutando JavaScript. Se trata de instrucciones que se ejecutan una vez que la página web se ha descargado a nuestro computador.

Normalmente los Scripts, se escriben utlizando el siguiente código:

<script type=’text/javascript’>
intruccion 1
instruccion 2
.
.
</script>

Otra forma, poco elegante, pero a veces práctica, es crear hipervínculos que ejecuten instrucciones, con la siguiente sintaxis:

<a href=’javascript:instruccion;’ >Ejecutar</a>

Ejemplo: <a href=’javascript:alert(‘Hola’);’ >Ejecutar</a> → Ejecutar

Ésta última opción es la que voy a utilizar en éste ejemplo, para, en nuestro caso, manipular externamente una construcción de Geogebra.

Comando básicos de JavaScript con Geogebra

En una página donde se haya insertado el applet de Geogebra, existen diversos comandos que nos permiten modificar una construcción, por ejemplo:

  1. Manejo de atributos
    • Borrar un objeto: deleteObject(Nombre)
      deleteObject(‘A’)
    • Asignar coordenadas: setCoords(nombre, x,y)
      setCoords(‘B’,15,8)
    • Cambiar color: setColor(nombre, rojo,verde,azul). En éste caso, se debe indicar la cantidad de color rojo, verde y azul.
      setColor(‘L’, 20,15,255)
    • Mostrar ocultar: setVisible(nombre,estado). El estado ‘true’ muestra un objeto; y el estado ‘false’ lo oculta.
      setVisible(‘A’,true)
  2. Construcciones
    • Abrir un archivo: openFile(url)
      openFile(‘nombre_archivo.ggb’)
    • Reinciar construcción: reset()
      reset()
  3. Comandos de construcción: Geogebra permite el ingreso de diversos comandos para realizar construcciones (véase Pruebe Geogebra ). En éste caso, podemos ingresar los comandos vía JavaScript. Nótese que los comandos de Geogebra dependen del lenguaje y para éste caso se ha considerado el lenguaje español (<param name=lang value=es>)

    Ejemplos:

    • evalCommand(‘puntomedio[A,B]‘)
    • evalCommand(‘polígono[A,B,C,D]‘)
    • evalCommand(‘recta[A,B]‘)

Para ejecutar cualquiera de estos comandos es necesario crear hipervínculos con la sintaxis de JavaScript:javascript:document.ggbApplet.comando

Ejemplos:

  • Borrar el punto A
    javascript:document.ggbApplet.deleteObject(‘A’)
  • Cambiar color a M
    javascript:document.ggbApplet.setColor(‘M’,255,16,14)
  • Ocultar r
    javascript:document.ggbApplet.setVisible(‘r’,0)
  • Abrir la construccion ‘angulos.ggb’
    javascript:document.ggbApplet.openFile(‘angulos.ggb’)

Una lista completa de los comandos puede encontrarse en el siguiente enlace, que desgraciadamente no he podido traducir, pues Google traduciría los comandos también. Cuidado con los comandos nuevos (los que aparecen para la versión 3.0) pues no debieran funcionar en la versión que muestro aca (versión 2.7).

Ejemplo con JavaScript

Veamos aqui un ejemplo integrando lo antes visto. Para solucionar cualquier duda, puede ser útil mirar el código fuente de ésta misma página.

Para visualizar correctamente ésta figura, debe instalar java. Visite www.java.com/es

  • Borrar el arco c
    document.ggbApplet.deleteObject(‘c’)
  • Cambiar color a B
    document.ggbApplet.setColor(‘B’,255,250,14)
  • Ocultar C
    document.ggbApplet.setVisible(‘C’,false)
  • Mostrar C
    document.ggbApplet.setVisible(‘C’,true)
  • Abrir la construccion ‘geogebrascript2.ggb’
    document.ggbApplet.openFile(‘geogebrascript2.ggb’)
  • Abrir la construccion ‘geogebrascript3.ggb’
    document.ggbApplet.openFile(‘geogebrascript3.ggb’)
  • Abrir la construccion ‘geogebrascript4.ggb’
    document.ggbApplet.openFile(‘geogebrascript4.ggb’)
  • El objetivo en éste caso es mostrar varias construcciones cargando sólo un applet, lo que puede apreciarse con los enlaces ‘figura 1′ a ‘figura 4′.

    Sin ser un experto en el tema, me da la impresión de que éste método es compatible con la mayoría de los navegadores. Lo he probado con Opera 9.1, Explorer 6.0 y Firefox 2.0.

    Procesadores geométricos , ,

    1. spider1539
      Sábado, 29 de marzo de 2008 a las 14:13 | #1

      hola spu muevo y necesito saber si me pueden ayudar a hacer algo como los applet en geogebra que aparecen en esta pagina http://www.dmae.upct.es/~pepemar/mateprimero/trigonometria/...

    2. Lunes, 31 de marzo de 2008 a las 15:40 | #2

      Hola. Gracias por el enlace, buenas construcciones tienen allí.

      Los videos que aparecen en esa página están hechos con Wink (http://www.debugmode.com/wink), un software que te permite grabar videos de lo que sucede en la pantalla. En éste caso, se trata de construcciones de Geogebra, pero grabadas como videos de Wink.

      Las construcciones que aparecen alli no son muy complejas, pues necesitas un ángulo (te recomiendo un deslizador), supongamos el ángulo α. Si graficas el punto de coordenadas (α,sen(α)), al modificar el ángulo, el punto describirá la gráfica de la función seno.

      Esto lo haces, utilizando el comando P=(α,sin(α)).

      Entonces, construye un ángulo, α, cuya medida puedas controlar. Luego ingresa estos comandos:

    3. S=(α,sin(α))
    4. C=(α,cos(α))
    5. T=(α,tan(α))
    6. S, te permitirá dibujar la función Seno; C, la función Coseno y T la Tangente. Si además activas la traza (botón derecho sobre el punto), los puntos dejarán un rastro a medida que se mueven.

      Sobre las rectas que se envuelven, piénsalo como una recta y un arco. La recta técnicamente no se está envolviendo; sino que se está moviendo una semirrecta roja y dibujando un arco; al igual que con la semirrecta azul y su respectivo arco.

      Espero que te ayude
      Saludos
      Rafael

  • Nadie
    Jueves, 22 de mayo de 2008 a las 20:37 | #3

    Thanks por lo de la simetria de la sircunferencia dios te la pague XD me hacia falta XD

    1. Sin trackbacks aún.

    Artículo publicado en http://www.geometriadinamica.cl/2006/12/geogebra-y-javascript/.