• Controles gráficos

    Los controles gráficos son objetos que aparecen sobre la escena y que se pueden arrastrar con el ratón o con las flechas del teclado, con lo cual modifica en realidad un punto de la escena cuyas  coordenadas se pueden usar a su vez como parámetros de la escena.

    Para crear un control gráfico se deben seguir los siguientes pasos:

    1. pulsar sobre el botón Controles
    2. pulsar sobre el botón + que aparece arriba a la izquierda.
    3. seleccionar como tipo de control numérico en la ventana agregar que se muestra después del paso anterior
    4. teclear el nombre de control y confirmar pulsando sobre el botón Aceptar.

    crearCtrlGraf

    Al crear un control gráfico se crea (internamente) dos controles numéricos id.x e id.y donde id es el identificador del control gráfico. Por defecto el control gráfico se asigna al primer espacio definido, pero esto puede cambiarse posteriormente.

    El panel de configuración de un control gráfico tiene este aspecto:

    confControGraf1

    En la siguiente escena se pueden ver tres controles gráficos con distintas características. Se pueden mover los controles gráficos libremente por el espacio en el que estén definidos o únicamente por la curva que defina la ecuación en x y en y que han de cumplir sus componentes (en el caso de que se introduzca una constricción). Puede descargar esta escena desde este enlace.

    Los campos especiales para este tipo de controles son colores, tamaño, pos, constricción e imagen. A continuación se explica el significado de estos campos.

    • Un control tiene dos colores:
      • color. Color que se usa para dibujar la circunferencia del disco (ver Colores). El color por defecto para la orilla es azul.
      • color-int. Color que se usa para el interior del círculo o interior del disco.El color por defecto del interior es rojo.
    • tamaño. Es el radio del disco en pixeles. Puede ser cualquier número o expresión positiva. El valor por defecto es 4.
    • pos. Es el punto inicial de un control gráfico o el extremo superior izquierdo de un control numérico interior.Se expresa con dos números entre paréntesis separados por una coma. Los números pueden ser constantes o expresiones en las que intervienen constantes o parámetros definidos en controles anteriores. El valor por defecto es (0,0).
    • constricción. Es una ecuación en x, y que las coordenadas del control deben satisfacer. Es decir, el control queda restringido a moverse sobre la gráfica de su constricción. Puede ser cualquier expresión o ser vacía. Si es vacía el control no está limitado en su movimiento.
      El valor por defecto es vacío.
    • imagen. Nombre del archivo de una imagen que se usará en el lugar de un círculo para visualizar este control gráfico.

    El usuario puede mover el control gráfico arrastrándolo con el ratón o usando las flechas del teclado. Para que las pulsaciones de las flechas del teclado actúen sobre un control gráfico es necesario que éste tenga el foco. Cuando un control gráfico tiene el foco aparece una circunferencia blanco o negra en su interior. Para que un control gráfico adquiera el foco hay que seleccionarlo con el ratón.

    Cuando los controles numéricos asociados a un control gráfico están activados, el usuario puede cambiar sus coordenadas con los pulsadores. Cuando no hay constricción la respuesta a las pulsaciones es la esperada. Sin embargo, cuando hay constricciones el programa tiene que respetarlas, para lo cual debe realizar ajustes a las coordenadas y, al hacerlo, puede no respetar íntegramente las modificaciones realizadas a las coordenadas por el usuario con los pulsadores o con valores específicos escritos.

    A continuación se presenta una escena con tres controles gráficos A, B y C, cada uno con una constricción diferente. En el ejemplo se han dibujado las constricciones utilizando para cada una de ellas un color. Puede descargar esta escena desde este enlace.

    Se recomienda al lector estudiar el comportamiento de estos tres controles arrastrándolos con el ratón, pulsando las flechas del teclado y modificando sus coordenadas con los pulsadores. En el caso del control A el programa respeta íntegramente los cambios del usuario a A.x pero no a A.y (esto es porque la constricción tiene la forma y=f(x)). En el control C se respetan los cambios del usuario a C.y pero no a C.x (esto se debe a que la constricción tiene la forma x=f(y)). En en caso de B las dos coordenadas sufren un ajuste (esto ocurre cuando la constricción tiene la forma general f(x,y)=g(x,y)).

    Controles gráficos en dispositivos táctiles

    Cuando una escena se representa en una pantalla táctil un control usualmente es manejado con el dedo, si bien también pueden usarse otros accesorios como punteros. Obviamente, un dedo no determina un punto sino que ocupa una zona en el dispositivo, una  superficie. Así pues, para que el usuario pueda con cierta comodidad proceder a seleccionar y manejar un control gráfico lo que hace DescartesJS es definir una zona activa que no tiene por qué ser coincidente con el tamaño con el que se representa gráficamente ese control en la pantalla, sino que en general la zona activa será mayor a la representada. El criterio actual que se aplica es:

    1. Un control gráfico que no tenga imagen asociada tendrá una zona activa mínima de 48×48 píxeles.
    2. Un control gráfico con imagen asociada tendrá una zona activa dada por:
    máx(32, ancho de la imagen)xmáx(32, alto de la imagen)
    donde máx es el máximo entre los dos valores indicados.
     
    Así pues la zona activa tiene una cota inferior de 48×48 y si se quiere que esa cota sea algo menor, 32×32, tiene que ir asociada a una imagen que tenga esas dimensiones.
     

     

  • Gráficos

    Se llaman gráficos (o gráficos 2-D) a todos los objetos que se pueden dibujar en un espacio R2: puntos, segmentos, curvas, arcos, (lugares geométricos de) ecuaciones, textos, imágenes, macros, etc. Los gráficos de una escena pueden editarse usando el panel de configuración de gráficos, al que se accede seleccionando «Gráficos» en la ventana de edición. Ha de señalarse que este panel está accesible sólo si hay definido al menos un espacio R2.

    El Panel de configuración de Gráficos tiene este aspecto.

    Panel de configuración de Gráficos

    A la izquierda aparece la lista de todos los gráficos de la escena (en este caso hay uno de cada tipo). A la derecha veremos un panel (que será diferente para cada tipo de gráfico) en el que se pueden editar todos los parámetros que definen al objeto gráfico seleccionado en la lista.

    Si en el menú de selección que hay encima de la etiqueta azul gráficos se selecciona algún espacio se mostrarán sólo los gráficos correspondientes a ese espacio, si se selecciona * se muestran todos los gráficos de esa escena.

    Si se hace un clic sobre la etiqueta azul de Gráficos, aparecerá una ventana con un área de texto que contiene el código de todos los gráficos, uno en cada línea. Este texto se puede editar manualmente y, pulsando aceptar, se actualiza el editor con los cambios realizados. Los autores experimentados encontrarán este método de edición muy cómodo y útil para cierto tipo de modificaciones.

    Para crear un nuevo gráfico hay que hacer un clic sobre el botón + . Al hacerlo aparece una ventana de diálogo con una lista en la que debe escogerse el tipo de gráfico que se desea crear.

    agregar

    Si se selecciona un gráfico y se pulsa el botón -, dicho gráfico se eliminará. Y si se pulsa el botón etiquetado con *, se duplica el gráfico seleccionado con el objeto de que pueda crearse un gráfico tomando como referencia uno análogo.

    Hay doce tipos de gráficos diferentes: ecuación, curva, sucesión, punto, segmento, flecha, polígono, arco, rellenotexto, imagen y macro, y cada uno tiene su propio panel de configuración.

    Campos comunes

    Los paneles de configuración de los distintos tipos de gráficos se parecen entre sí pues la mayoría comparten algunos campos,  concretamente, los que se muestran en el siguiente panel.

    panel_configuracion

    En la siguiente tabla se explican esos campos comunes a todos los gráficos.

    Campos Descripción
    espacio Menú desplegable con la lista de los espacios de dos dimensiones que se hayan definido. Si sólo hay un espacio de dos dimensiones y éste no tiene  nombre, la lista aparece vacía.Si hay más de un espacio, entonces debe seleccionarse el espacio al cual ha de pertenecer el gráfico.
    fondo Si se selecciona fondo, el gráfico sólo se dibuja en el «fondo» de la escena y por lo tanto se actualiza sólo cuando se pulsa inicio y cuando se modifica la escala o la posición del origen (O.x y O.y). Cuando un gráfico está siempre fijo en la escena, es decir, no depende de los controles ni de los auxiliares, conviene definirlo como de fondo pues así se ahorra trabajo al procesador que no tendrá que dibujarlo cada vez que hay un cambio en la escena.
    dibujar-si Es un campo de texto donde se puede escribir una expresión booleana.El gráfico se dibuja si la expresión es vacía o si la expresión tiene valor verdadero (o >0).Si la expresión depende de x o y y el gráfico es una ecuación, entonces sólo se dibujan los puntos de la gráfica que satisfacen la expresión.Si el valor de x o y hace que la expresión no se cumpla en el momento en que se va a dibujar un objeto, entonces no se dibuja (es responsabilidad del autor controlar el valor de las variables x e y fuera de las ecuaciones).
    color El botón sin etiqueta que aparece en general a la derecha de la primera línea del panel de edición, muestra el color con que se dibujará el gráfico.Haciendo un clic sobre el botón aparece la ventana de configuración de colores (ver colores).El color defecto de todos los gráficos es azul.Los gráficos de tipo imagen y macro no tienen color.Para flechas: Es el color de la orilla o borde de la flecha, su interior se dibuja en el color flecha.
    expresión Es un campo de texto. Su contenido debe ser una expresión cuyo contenido varía según el tipo de gráfico. Por ejemplo en las curvas la expresión debe tener la forma (f(t),g(t)), donde f y g son funciones cualesquiera del parámetro t. El valor por defecto de la expresión también cambia según el tipo de gráfico.En la documentación de cada tipo de gráfico se explica cual debe ser el contenido de la expresión y cuál es el valores por defecto en cada tipo.Los gráficos arco, texto e imagen no tienen expresión. En el caso del arco la expresión se sustituye por campos para radio, inicio y fin.

    rastro

    (y su color)

    Si se selecciona rastro el objeto gráfico deja un rastro en la escena del color seleccionado. Para elegir un color hay que pulsar el botón cuadrado que aparece junto al selector (ver colores).Cuando un gráfico deja rastro se puede apreciar su trayectoria en la escena. Pulsando el botón de limpiar se borran los rastros de los gráficos.El valor por defecto es no seleccionado y el color del rastro por defecto es gris.
    familia Este selector permite convertir un gráfico en toda una familia de gráficos dependiente de un parámetro. Al seleccionar familia se activan los otros campos de la última línea: parámetro, intervalo y pasos. y el autor puede así configurar la familia.El valor por defecto es no seleccionado.
    parámetro Debe ser una sola palabra, de preferencia corta. Por defecto es s. El nombre del parámetro se puede utilizar en la definición del objeto gráfico para definir la familia. El programa dibujará los gráficos con los valores del parámetro recorriendo el intervalo especificado en el número de pasos elegido.
    intervalo Debe contener dos expresiones reales entre corchetes y separadas por una coma, es decir, [ti,tf].El intervalo por defecto es [0,1]. El parámetro recorre el intervalo definido entre ti y tf en el número de pasos especificado.
    pasos El parámetro recorre el intervalo definido entre el primero y el segundo valor en el número de pasos especificado y dibuja la curva como un polígono con vértices (f(t),g(t)) cont = ti,t = ti+(tf-ti)/pasos,t = ti+2*(tf-ti)/pasos,etc… hasta llegar at = ti+pasos*(tf-ti)/pasos = tf.En otras palabras, pasos es el  número de subintervalos iguales en que se divide el intervalo. y el parámetro pasa por los extremos de los subintervalos.
    texto Es una etiqueta que acompaña al objeto gráfico y se escribe cerca de su posición o algo que puede considerarse como su posición. Por ejemplo en un punto se escribe un poco arriba y a la derecha.Los textos se dibujan en el mismo color que el objeto gráfico.Los textos pueden tener varias líneas y además pueden incluir valores numéricos variables (ver Textos).El valor por defecto es vacío.
    decimales Es el número de decimales con los que se escribirán los números incluidos en el texto.Puede ser cualquier número o expresión. Al evaluarse se redondea para decidir el número de decimales.Su valor por defecto es 2.
    fijo Determina si el número de decimales es fijo o si, por el contrario, se usa la notación «ajustada» en la que se eliminan los ceros innecesarios y el punto decimal si también es innecesario.Por ejemplo: en lugar de 25.3400 se escribe 25.34 y en lugar de 13.0 se escribe 13 (sin punto decimal).Si se usa notación exponencial siempre se escriben los números en forma ajustada, es decir, el atributo fijo no interviene en ese caso.El valor por defecto es fijo=si.
    coord_abs Hace que el gráfico se interprete en pixels y en coordenadas absolutas con el origen en el vértice superior izquierdo del rectángulo del espacio al que pertenece el gráfico y la escala igual a 1 pixel por unidad.Los gráficos definidos en coordenadas absolutas no se mueven al cambiar el origen del sistema o la escala.
    tamaño Para puntos: es el radio del «punto». En realidad el programa dibuja un disco de radio tamaño. Si tamaño=0 el punto no se dibuja. Esto último puede aprovecharse para dibujar textos asociados a puntos visibles, usando las coordenadas del espacio.Para segmentos: es el radio de los extremos del segmento, que se dibujan como dos discos.Para sucesiones: es el radio de los «puntos» de la sucesión. En realidad el programa dibuja discos de radio tamaño. Si tamaño=0 los puntos no se dibujan.