Controles
Controles.
Un objeto que sirve para que el usuario o usuaria modifique los parámetros que intervienen en una escena se llama un control. Descartes cuenta con dos tipos de controles: numérico y gráfico.
Los controles numéricos o pulsadores sirven para modificar el valor de un solo parámetro. Éste es un ejemplo de un control numérico para un parámetro p :
A la izquierda aparece el nombre del parámetro (o del control). A la derecha aparece un campo de texto que exhibe el valor actual del parámetro y al centro dos flechas, llamadas pulsadores, que sirven para aumentar o disminuir en una cantidad predeterminada el valor del parámetro.
Los controles gráficos son objetos que aparecen sobre la escena y que puede 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 como parámetros de la escena. Los controles gráficos se representan por pequeños discos cuyo radio y color pueden ser elegidos por el autor o autora. El siguiente ejemplo contiene dos controles gráficos etiquetados con las letras A y B.
Para crear y editar controles tanto gráficos como numéricos hay que abrir la ventana de edición de configuraciones (pulsando config) y seleccionar Controles:
Al hacerlo aparece el Panel de configuración de Controles que tiene este aspecto:
Como ocurre en otros paneles se distinguen dos partes el cuadro de edición a la izquierda y el de configuración a la derecha; este último presenta dos modelos diferentes uno para cada uno de los controles posibles: numérico y gráfico, que se explican a continuación.
Nota: Si se hace un clic sobre la etiqueta azul de Controles, aparecerá una ventana con un área de texto que contiene el código de todos los controles, uno en cada línea. Este texto se puede editar manualmente y pulsando aceptar se actualiza el editor con los cambios realizados. Las y los autores experimentados pueden encontrar este método de edición muy cómodo y útil para cierto tipo de modificaciones.
1. Controles Numéricos.
Para crear un control hay que pulsar el botón que aparece arriba a la izquierda. Al hacerlo aparece una ventana en la que se puede seleccionar el tipo de control que se quiere crear y darle nombre.
Las dos opciones del selector son numérico y gráfico. El identificador id del control puede ser cualquier palabra sin espacios y puede contener dígitos después de la primera letra, pero no puede contener espacios. No debe haber dos controles del mismo tipo con el mismo identificador. En los controles numéricos el identificador es al mismo tiempo el nombre interno del parámetro que controla. En otras palabras, la creación de un control numérico conlleva la creación de un parámetro con el identificador del control.
El panel de configuración de un control numérico tiene este aspecto:
La tabla siguiente explica el significado de los diversos campos.
Es el valor inicial del parámetro. |
|
Es el nombre externo del parámetro. |
|
Es el número de decimales con los que se
expresará el valor del parámetro. |
|
Indica dónde aparecerá el control
numérico. |
|
Es la cantidad que se aumenta/disminuye
el valor del parámetro cuando se pulsa la flecha
superior/inferior del control. |
|
Es el valor mínimo que puede tener el
parámetro. Puede ser una constante, una expresión o estar vacío, en cuyo caso no hay valor mínimo y el parámetro no está limitado inferiormente. El valor por defecto es vacío. |
|
Es el valor máximo que puede tener el
parámetro. Puede ser una constante, una expresión o estar vacío, en cuyo caso no hay valor máximo y el parámetro no está limitado superiormente. El valor por defecto es vacío. |
|
Es un selector que indica si el valor del
parámetro debe exhibirse o no (el nombre y los
pulsadores se exhiben siempre). |
|
Es una expresión booleana que cuando se
cumple hace que el valor del parámetro pueda escribirse
en notación exponencial. Si la expresión es vacía,
nunca se usa la notación exponencial. Es importante
observar que esto no fuerza a que aparezca la notación
exponencial, sólo la permite. Si la expresión no se
cumple no habrá notación exponencial. |
Es importante saber cómo operan los pulsadores sobre el parámetro. Si se pulsa la flecha hacia arriba el valor del parámetro se incrementa en incr. Si se pulsa la flecha hacia abajo el valor disminuye en incr. Si el valor de incr es inferior a la unidad decimal correspondiente al número de decimales indicados para el control el incremento considerado será de esa unidad decimal. El número que se exhibe en el campo de texto es el valor truncado al número de decimales. Por ejemplo si el valor inicial del parámetro es 3.14159 y el número de decimales del control es 3, entonces el número que se exhibe en el campo de texto es 3.141 (se hace un truncamiento). Ese truncamiento también ocurre si el valor es alterado internamente mediante un cálculo auxiliar o si se modifica el valor del parámetro escribiendo un número en el campo de texto y pulsando intro. El número que se exhibe en el campo de texto corresponde exactamente al valor del parámetro (en versiones anteriores esto no era necesariamente cierto)
En el campo de texto de un control numérico se puede escribir no sólo un valor sino también una expresión, que si es correcta y sus identificadores están definidos en la escena, entonces el programa evalúa la expresión y asigna el resultado al parámetro.
A continuación se presenta una pequeña escena para ilustrar el funcionamiento de los controles numéricos. El valor inicial del parámetro es 3.14159, el campo de texto exhibe 3.141 porque el número de decimales es 3. El incremento es 0.00025, que al ser inferior a 0.001 (unidad correspondiente a los tres decimales del control) se cambia a este último valor.
El lector o la lectora puede accionar los pulsadores y observar el comportamiento de los números exhibidos y luego puede escribir cualquier número o expresión y pulsar intro y observar el resultado. Por ejemplo, si escribe exp(1) obtendrá el número e con tres decimales en este caso.
Hay tres identificadores reservados que tienen un significado especial dentro del programa. Son: escala, Ox y Oy. La tabla que sigue explica su significado.
escala |
Es el tamaño de la escala de la escena y
se expresa en píxeles. |
Ox |
Es la distancia horizontal del centro de
la escena al origen en píxeles. |
Oy |
Es la distancia vertical del centro de la
escena al origen en píxeles. |
Las configuraciones nuevas se crean automáticamente con controles numéricos con estos tres identificadores y con sus valores por defecto. En cambio una configuración nueva no tiene de entrada ningún control gráfico.
2.Controles Gráficos.
Al crear un control gráfico se crea (internamente) un punto cuyas coordenadas son id.x e id.y donde id es el identificador del control gráfico. También se crean simultáneamente dos controles numéricos con identificadores id.x e id.y por si el autor desea utilizarlos. Si no los desea utilizar conviene eliminarlos seleccionando cada uno de ellos y pulsando el botón - o tecleando <supr>.
El panel de configuración de un control gráfico tiene este aspecto:
La tabla siguiente explica el significado de los diversos campos.
Es el punto inicial del control gráfico. |
|
Un control tiene dos colores, el primero
se usa para dibujar la circunferencia del disco y el
segundo para el interior el círculo o interior del disco
(ver Colores). |
|
Es el radio del disco en píxeles. Puede ser cualquier número o expresión positiva. El valor por defecto es 4 |
|
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. |
|
Es una etiqueta que acompaña al control. |
|
Es el número de decimales con los que se
escribirán los números incluidos en el texto. |
|
Es un selector que indica si al moverse
el control debe dejar un rastro de su recorrido. El
rastro un control es el de su orilla solamente. |
|
color |
Es el color del rastro (ver Colores). |
Es una expresión booleana que cuando se
satisface, el disco del control se dibuja y cuando no se
satisface no se dibuja. |
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 respetar la constricción para lo cual debe realizar ajustes a las coordenadas y al hacerlo puede no respetar íntegramente las modificaciones realizadas por el usuario a las coordenadas con los pulsadores o escribiendo valores específicos. 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 (como fondo) en gris.
Se recomienda al lector estudiar el comportamiento de estos tres controles arrastrándolos con el ratón, pulsando las flechas del teclado y modificano 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)).
José
Luis Abreu León Revisado para Descartes Web 2.0 por José R. Galo Sánchez |
||
Ministerio de Educación, Cultura y Deporte. Año 2009 | ||