Skip to main content

Situar los ejes por encima de los objetos

En la vista gráfica, tenemos la posibilidad e visualizar los ejes de coordenadas y la cuadrícula. Sin embargo, ocurre que estos elementos son siempre objetos de fondo, con lo que no se pueden colocar por delante de otros objetos, ni siquiera utilizando el comando Capa(). Pero puede que, algunas ocasiones, necesitemos visualizar los ejes por encima de los objetos. Una forma de resolver esto podría ser hacer que el objeto sea bastante transparente, cambiando su opacidad. Pero aún así, puede ocurrir que

  • necesitemos dar más opacidad al objeto (por ejemplo es una imagen),
  • queramos que los ejes se muestren sin cambios,
  • o que el objeto tape la cuadrícula pero no los ejes.

 

Para esta construcción, lo que hemos hecho ha sido «simular» los ejes, es decir:

  • Hemos ocultado los ejes de coordenadas que trae GeoGebra.
  • Dibujamos un par de vectores que de eje horizontal y vertical
  • Se han incluido textos para indicar los rótulos de los ejes.

Ahora ya, estos ejes «simulados» sí pueden situarse en la capa que queramos (bien con el comando Capa o bien directamente en las correspondientes propiedades de los objetos.

  • Al situar los ejes en una capa superior a la del polígono, se verán por encima suya.
  • Podemos usar este truco con cualquier otro tipo de objeto. Por ejemplo, imágenes.

Construcción en GeoGebra

Ejes

Para que los ejes incluyan las flechas en los extremos, hemos utilizado vectores. Si no queremos esas flechas, podemos emplear segmentos. La forma más cómoda de conseguir que se extiendan por toda la vista gráfica es utilizando el comando Esquina(n), que nos da las coordenadas de las esquinas de la pantalla (n=1: esquina inferior izquierda, y las demás, se numeran al contrario de las agujas del reloj). Para no crear muchos objetos, hemos incluido los dos en una lista.

EjesSimulados =
  {Vector((0, y(Esquina(1))), (0, y(Esquina(3)))),
   Vector((x(Esquina(1)), 0), (x(Esquina(2)), 0))}

Rótulos

Usando otra vez el comando Esquina( ) y los operadores floor y ceil (para redondear decimales), obtenemos los números entre los que hay que escribir los rótulos. Por último, la forma más sencilla de escribir los rótulos es mediante el comando Texto que, además, nos permite elegir cómo queremos que queden alineados.

RotulosEjeX =
  Secuencia(Texto(t, (t, 0), true, false, 1, -1),
  t, floor(x(Esquina(1))), ceil(x(Esquina(2))))

En el caso del EjeY, para no repetir el 0, lo excluimos de la lista de números para rotular. Para ello, primero creamos la secuencia de números, y le quitamos el 0, con {0}. Después, con el comando Zip( ), vamos creando los textos mientras recorremos esa lista.

RotulosEjeY =
  Zip(Texto(t, (0, t), true, false, -1, 0),
  t, Secuencia(s, s, floor(y(Esquina(1))), ceil(y(Esquina(3)))) {0})

Formato

Por último, terminamos estableciendo el formato adecuado para los ejes y los números (capa en la que se situarán, colores, grosor) y desmarcando la opción para permitir seleccionar esos objetos.

Por supuesto, utilizando el número de capa, podemos elegir qué objetos se verán por debajo de los ejes y cuáles no.

Rejilla por encima

De forma similar, podemos «simular» la cuadrícula/rejilla para que también quede por encima de nuestros objetos. Por ejemplo:

RejillaSimuladaX = Secuencia(Segmento((t, y(Esquina(1))), (t, y(Esquina(3)))),
    t, floor(x(Esquina(1))), ceil(x(Esquina(2))))
RejillaSimuladaY = Secuencia(Segmento((x(Esquina(1)), t), (x(Esquina(3)), t)),
    t, floor(y(Esquina(1))), ceil(y(Esquina(3))))

 

Análogamente, podríamos simular también la «cuadrícula menor» por encima de los objetos.

(*) Imágenes con licencia CC BY-SA tomadas del proyecto CREA

GeoGebra, trucos