• Macros en el editor de configuración Java y en el intérprete Java

    ¿Qué es una macro?

    Una macro es un archivo de texto que contiene parte del código de una escena de Descartes y que interpretado por Descartes actúa como un gráfico en una escena.

    Podemos distinguir dos tipos de macros: Macros del Sistema o Macros de usuario. Los primeros son macros que previamente se han construido y que están incorporados al código del intérprete de Descartes en Java Descartes5.jar, y los segundo son macros que puede definir el usuario y que no están integrados en el intérprete.

    objetos cartesianos debe colocarse en un sitio específico. Hay dos formas posibles de acomodar las macros: con direccionamiento general o con direccionamiento particular.

    1) Macros del Sistema

    Los macros del sistema tienen una organización interna en diversos subdirectorios y para su localización es necesario aportar el direccionamiento adecuado. Este direccionamiento es aportado por el editor de configuración de manera automática y ha de respetarse para que pueda ser accesible. En la figura siguiente puede observarse a un primer nivel el directorio macros, en un segundo nivel g2d y g3d (macros de gráficos 2d y 3d respectivamente) y un tercer nivel y sucesivos donde se agrupan los macros por su temática. Para un detalle completo de todos estos macros puede consultarse el artículo Relación de macros del sistema.

    Organización interna de los macros del sistema

    Organización interna de los macros del sistema

    Dado que los macros 2d están ubicados en el subdirectorio macros/g2d/ y los 3d en macros/g3d/ el editor de configuración presupone este direccionamiento y sólo aporta como parámetro en la escena el direccionamiento relativo a esos dos subdirectorios anteriores.

    Así pues el macro masa que está ubicado en macros/g2d/dinamica/masa en el parámetro expresión del código de la escena aparecerá referenciado como dinamica/masa.

    Todos estos macros son públicos y pueden ser utilizados por cualquier desarrollador de escenas.

    2) Macros de usuario o particulares

    Un usuario puede crear sus macros y ubicarlos en la misma carpeta donde se encuentra la página que contiene a la escena o en subcarpetas de ella. Para usarlos tendrá que indicar el direccionamiento adecuado para que el intérprete de Descartes pueda acceder a ese fichero y leer su contenido.

    ¿Qué contenido tiene una macro?

    Un archivo de texto que es una macro contiene varias líneas. La primera especifica si es de dos o tres dimensiones: tipo_de_macro=R2tipo_de_macro=R3. Luego vienen líneas que definen los objetos auxiliares del macro y, finalmente, las líneas que definen los gráficos del macro. Las líneas que definen auxiliares y gráficos son exactamente las que aparecen al pulsar las etiquetas azules Auxiliar o Gráfico en los respectivos paneles de configuración.

    Por ejemplo el contenido del archivo de texto que constituye el macro dinamica/masa que es uno de los utilizados en la segunda escena de arriba es éste:

    Nota: Cuando una escena se transforma en macro sólo se traspasan al macro los auxiliares y los gráficos. Los controles, la animación y las demás partes de una escena no pasan al macro.

    ¿Cómo utiliza los macros un autor de escenas de Descartes?

    La utilización de los macros para configurar escenas es como la de cualquier otro gráfico. Si se desea usar un macro del sistema, bastará buscarlo recurriendo a los menús que se encuentran en el panel de configuración de macros y seleccionarlo. Si se desea usar un macro que no es del sistema, es decir que no está registrado, entonces deberá ser un macro con direccionamiento particular y será necesario escribir su nombre explícitamente, incluyendo las posibles subcarpetas a partir desde donde esté la página web que contiene la escena.

    Todos los macros se pueden girar o trasladar utilizando los campos rotini y posini que aparecen en sus paneles de configuración. He aquí el panel de configuración de un macro de dos dimensiones:

    macro1

    y el de un macro de tres dimensiones:

    macro2

    Es importante poner un nombre diferente para cada instancia de cada macro que se utilice en una escena. Los auxiliares del macro (constantesvariablesvectoresfunciones y algoritmos) pueden utilizarse en la escena precediendo la llamada a uno de ellos por el nombre de la instancia del macro y un punto. Por ejemplo la masa del objeto definido por el macro dinamica/masa de nombre M es M.m

    ¿Cómo podemos conocer cuáles son los parámetros de un macro del sistema?

    Para obtener esta información basta pulsar el botón Aux que se encuentra a la derecha del campo de texto y de los menús desplegables que se usan para poner la trayectoria y el nombre del macro. Al hacerlo se abre una ventana como esta:

    macro3

    en la que aparecen todos los auxiliares con sus valores iniciales. Si se trata de algoritmos o de funciones con algoritmo sólamente aparece la palabra algoritmo entre paréntesis. En el caso de constantes y algoritmos que no son funciones, a la derecha aparece una-sola-vez o siempre, indicando cuándo se evalúa. A las constantes que se evalúan siempre no podrá modificarlas el usuario del macro desde una aplicación. En principio las funciones algorítmicas y los algoritmos son para ser usados desde las aplicaciones, tampoco deberían sobreescribirse en las aplicaciones, pues representan funcionalidad propia del macro. En cambio todas las variables que se evalúan una sola vez y las funciones no algorítmicas pueden sobreescribirse, siempre y cuando el autor de la aplicación entienda su significado.

    ¿Cómo puede saberse el significado de los auxiliares de un macro?

    En el caso de las macros del sistema, pulsando el botón Doc se abre la página web donde está la escena que define la macro, y la misma página en general debe tener una o varias escenas que muestran cómo se usa dicho macro, e ilustran el significado de cada uno de sus auxiliares. (El comentario anterior no tiene validez en la versión5 y se mantiene por si el desarrollador de escenas quiere aplicarlo a sus macros particulares, según se detalla en el siguiente párrafo)

    En el caso de los macros particulares, será responsabilidad del autor ofrecer esta documentación y deberá hacerlo en una página con el mismo nombre y dirección del macro, pero con extensión html o htm. Allí deberá poner la escena que usó para generar el macro y algún ejemplo de cómo puede utilizarse.

    ¿Qué escenas pueden convertirse en macros?

    Para que una escena pueda convertirse en un macro debe satisfacer las siguientes condiciones:

    1. Tener un solo espacio.
    2. No debe contener macros.

    Algunos gráficos como las ecuacionessucesionesrellenos e imágenes no son convenientes para utilizarse en un macro si se desea que éste pueda girarse y transladarse usando rotini y posini.

    ¿Cómo se convierte una escena en un macro?

    Es muy fácil. Cuando una escena tiene un solo espacio, se habilita el botón macro, que aparece arriba a la derecha de la ventana de edición de configuraciones, como puede verse en la imagen del panel de configuración de la escena donde se crearon los ejes.

    macro4

    Al pulsar este botón aparece otra ventana con el macro, es decir, con el texto del macro.

    macro5

    Para crear la macro basta copiar ese texto y guardarlo en un archivo de texto con cualquier nombre. Ése será el nombre de la macro y el directorio donde lo guardó será su trayectoria. Dicho archivo deberá colocarse como se indica arriba según vaya a tener direccionamiento general o particular. Hecho esto la nueva macro ya puede usarse en cualquier escena.

    Nota: Recuerde que cuando una escena se transforma en macro sólo se traspasan a la macro los auxiliares y los gráficos. Los controles, la animación y las demás partes de una escena no pasan al macro.

    Nota: A pesar de que el botón macro se habilita siempre que hay un solo espacio en la escena, esto no garantiza que la macro resultante sea un macro auténtico. Para ello es necesario asegurarse que no tiene macros y si es de dos dimensiones y se desea que gire con rotini y se translade con posini, tampoco debe tener ecuacionessucesiones,rellenos ni imágenes.

    ¿Qué ventajas y limitaciones tienen las macros como objetos gráficos?

    Las macros pueden trasladarse y girarse mediante unos atributos específicos que aparecen en su panel de configuración. Esto, junto con la posibilidad de tener parámetros y algoritmos propios, les da gran flexibilidad y aplicabilidad.

    Una  de sus limitaciones sin embargo, es que no se les pueden cambiar los colores, a menos que éstos se definan a través de sus cantidades de rojo, verde y azul y éstas se traten como parámetros del macro. Otra es que las macros no cuentan con controles gráficos propios.

    ¿Qué utilidad tienen las macros?

    En principio las macros fueron ideados para crear bancos de objetos gráficos específicos para un área de aplicación. Por ejemplo una librería para circuitos (eléctricos) como la que actualmente existe en el banco de macros del sistema.

    Cada autor puede desarrollar las macros que le convenga, ya sea para ahorrarse trabajo al observar que utiliza varias veces la misma construcción, para uniformizar la presentación de varias escenas o para organizar mejor su trabajo. Como ejemplos de aplicación de macros pueden verse Máquinas Térmicas y Espejos Esfericos , en especial se recomienda mirar y estudiar los ejemplos del macro dinamica/masa por ser, desde el punto de vista gráfico, uno muy sencillo, pero de una gran funcionalidad que hereda gracias a sus auxiliares.

  • Palabras reservadas

    Hay varios identificadores reservados que tienen un significado especial para los espacios de una escena.

    Para espacios 2-D los identificadores reservados son: escalaO.x, O.y

    Para espacios 3-D los identificadores reservados son: escalaobservadorrot.y y rot.z. La tabla que sigue explica su significado y el de otras palabras reservadas.

    Cuando hay más de un espacio estas variables deben ir precedidas por el identificador del espacio y un punto, es decir sus nombres son: <id>.escala<id>.O.x,   <id>.O.y,   <id>.observador,   <id>.rot.y,   <id>.rot.z,  donde  <id> es el identificador del espacio.

    Palabras reservadas

    Para espacios en general

    escala

    Es el tamaño de la escala de la escena y se expresa en pixeles.
    Su valor por defecto en escenas 2-D es 48.

    O.x

    Es la distancia horizontal del centro de la escena al origen en pixels.
    Los valores positivos desplazan el origen hacia la derecha.
    El valor por defecto es 0.

    O.y

    Es la distancia vertical del centro de la escena al origen en pixels.
    Los valores positivos desplazan el origen hacia abajo.
    El valor por defecto es 0.
    _x
    La abcisa del vértice superior izquierdo del espacio (en pixeles)
    _y
    La ordenada del vértice superior izquierdo del espacio (en pixeles)
    _w
    El ancho del espacio (en pixeles)
    _h
    La altura del espacio (en pixeles)
    ratón_apretado (mouse_pressed)
    Vale 1 si el botón izquierdo del ratón está apretado y cero en cualquier otro caso.
    ratón_x (mouse_x)
    Abcisa del punto en donde está el cursor del ratón, en las coordenadas propias del espacio. Sólo se registra el valor cuando el ratón está apretado o si el espacio tiene activada la casilla de _sensible_a_los_movimientos_del_ratón.
    ratón_y (mouse_y)
    Ordenada al origen del punto en donde está el cursor del ratón, en las coordenadas propias del espacio. Sólo se registra el valor cuando el ratón está apretado o si el espacio tiene activada la casilla de _sensible_a_los_movimientos_del_ratón.
    clic_izquierdo (mouse_clicked)
    Vale 1 sólo cuando se ha hecho un clic izquierdo sobre el espacio. Vale cero en cualquier otro caso.
    _selected_control_()
    Da el número del control gráfico que está seleccionado. La numeración corresponde al orden en que los controles gráficos aparecen en la lista de controles.

    Para cadenas

     _AnchoDeCadena_(str, font, style, size)  Da el ancho en número de píxeles de la cadena str, font especifica el tipo de letra que se usa (‘Monospaced’, ‘Serif’ o ‘SansSerif’), style indica si la letra esta en negritas o italica (‘PLAIN’, ‘ITALIC’, ‘BOLD’, ‘ITALIC+BOLD’ y ‘BOLD+ITALIC’) y size es el tamaño de la letra en pixeles
     &sup2  Al incluirla en una cadena, devuelve la expresión adjunta como el cuadrado; por ejemplo, la cadena ‘x&sup2’, es mostrada en el navegador como x2.
     &sup3  Al incluirla en una cadena, devuelve la expresión adjunta como el cuadrado; por ejemplo, la cadena ‘x&sup3’, es mostrada en el navegador como x3.

    Para controles de audio y vídeo

    ID.play()

    Inicia el vídeo o el audio, donde ID es el identificador del control.

    ID.pause()

    Hace una pausa en el vídeo o el audio, donde ID es el identificador del control.

    ID.stop()

    Detiene el vídeo o el audio, donde ID es el identificador del control.

    Para espacios 3D

    observador

    Distancia (en pixeles) aparente del origen al observador.

    rot.y

    Ángulo de giro (en grados) del espacio respecto al eje y a partir de la posición por defecto en la que el eje x apunta hacia el observador (ligeramente hacia abajo), el eje y hacia la derecha y el eje z hacia arriba.

    rot.z

    Ángulo de giro (en grados) del espacio respecto al eje z a partir de la posición por defecto en la que el eje x apunta hacia el observador (ligeramente hacia abajo), el eje y hacia la derecha y el eje z hacia arriba

    Para espacios algebráicos

    _reiniciar_
    Es una variable para que el programador de la escena, cuando lo encuentre conveniente, ordene una reinicialización del espacio algebraico, eliminando todas las manipulaciones que hubiera hecho el usuario hasta entonces. Para ello basta asignar a esta variable el valor 1. Una vez hecha la reinicialización la variable recupera automáticamente el valor de 0 que tiene de inicio.
    _ecuación_
    Es una variable que contiene la cadena que define la ecuación que se propone para ser manipulada en la primera línea del espacio algebraico. Si se asiga una nueva cadena (entre comillas sencillas) con otra expresión o ecuación, el programa automáticamente reinicializa el espacio algebraico proponiendo la nueva ecuación.

    Para controles númericos

    _TexT_

    (En desuso) Si se asigna la cadena ‘_TexT_’ como valor inicial a un control de texto, éste interpreta todo lo que se escriba en él como texto y no como un número o una expresión a evaluar, que es el comportamiento por omisión. Ya no es necesario usar esto pues ahora hay un atributo de los campos de textos específico para tal propósito: solo texto.
    _._ o _nada_ o _void_
    Cualquiera de estas cadena, por ejemplo ‘_nada_’, asignada como nombre a un pulsador, hace que la etiqueta del pulsador desaparezca. Esto sólo es necesario es pulsadores, en los otros controles numéricos basta dejar el atributo del nombre vacío. Si se deja vacío el nombre en un pulsador, la etiqueta toma el nombre del id.
    _no_
    VACIO.GIF
    Si se da este nombre a una imagen de un botón, el botón se vuelve totalmente transparente, aunque no haya tal imagen.

    Para controles gráficos

    .activo (.active)
    Sufijo que agregado al nombre de un control gráfico produce una variable que vale 1 si el control gráfico en cuestión está seleccionado y cero si no está seleccionado.
    Para el Registro de Actividades de Descartes (RAD)
    _ACIERTOS_
    Es el número de aciertos en una actividad y es una variable que se registra en el RAD después de cada actividad. Si el creador de la escena no le asigna ningún valor, queda con valor 0.
    _ERRORES_
    Es el número de errores en una actividad y es una variable que se registra en el RAD después de cada actividad. Si el creador de la escena no le asigna ningún valor, queda con valor 0.
    _NOTA_
    Se registra en el RAD. Se calcula como

    100*_ACIERTOS_/_TOTAL_.

    Si el autor de la escena le asigna otro valor, en el RAD se registrará ése valor asignado por el autor.

    _TOTAL_
    es una variable a la que se le asigna la suma de _ACIERTOS_ y _ERRORES_
    Aunque _TOTAL_ está reservada, su valor no se registra en el RAD.
    _EQUIPO_
    Adquiere un valor de cadena con el nombre del ordenador que se está usando. A continuación se presentan algunos ejemplos de los valores que adquiere la variable _EQUIPO_ en diferentes circunstancias.
    _CONECTADO_AL_RAD_
    Adquiere el valor 1 cuando la escena está conectada al RAD y está registrando los detalles de la actividad.
    _ALUMNO1_
    _ALUMNO1_, _ALUMNO_2, etc… son los nombres de los alumnos registrados como equipo de trabajo que se supone están realizando la actividad. Son los alumnos a quienes se les va a registrar como protagonistas de la actividad.

    Otros

    e
    2.7182818284590452653602874…
    pi (o la letra griega Pi)
    3.14159…
    _Eval_( c )
    Si el argumento c es una constante cuyo valor es una cadena que representa una expresión matemática, esta función devuelve la evaluación de esa expresión. Por ejemplo, si c=’sen(pi/6)’ entonces _Eval_(c)=0,5 .

    En el argumento de esta función se contempla que puedan aparecer números bien con coma o bien con punto decimal.

    _Num_( var )
    Si el argumento c es una constante cuyo valor es una cadena que representa una expresión decimal, esta función devuelve el número correspondiente a dicha expresión decimal. En cualquier otro caso devuelve NaN (No es un número). Por ejemplo, si c=’3.14159′ entonces _Num_(c)=3,14159 . Sirve para saber si el usuario escribió un resultado numérico directamente sobre un campo de sólo texto, para evitar que use el campo de texto como calculadora.

    En el argumento de esta función se contempla que puedan aparecer números bien con coma o bien con punto decimal.

    .long
    Sufijo que agregado al nombre de un vector devuelve el número de elementos del vector.
    .filas
    Sufijo que agregado al nombre de una matriz, devuelve el número de filas de la matriz.
    .columnas
    Sufijo que agregado al nombre de una matriz, devuelve el número de columnas de la matriz.

    Las literales x,y,n,u y v tienen un significado especial dentro de las expresiones que definen algunos objetos gráficos.

    x e y juegan el papel de la abscisa y la ordenada de puntos en el plano en el objeto gráfico «ecuación»
    También estas mismas literales juegan el mismo papel en las expresiones que determinan las constricciones de los controles gráficos.

    n juega el papel de la variable de una sucesión en el objeto gráfico «sucesión» y toma sólo valores enteros.

    u y v juegan el papel de parámetros en la definición de las ecuaciones paramétricas de las superficies en 3D donde toman valores reales entre 0 y 1. Las literales x, y y z en este caso también tienen el significado especial de ser las coordenadas de los puntos de la superficie.
    x, y y z se expresan paramétricamente en términos de u y v para representar todos los puntos de una superficie.

    t y s no son literales reservados.

    El literal t suele usarse para definir las ecuaciones paramétricas de una curva en el plano o de una curva en el espacio. Sin embargo, a diferencia de u y v para las ecuaciones paramétricas de una superficie, este literal puede cambiarse por cualquier otra letra o palabra y su rango de definición puede ser cualquiera y no necesariamente el intervalo [0,1].

    Análogamente el literal s que se usa para definir las familias de gráficos en 2 D no es obligatorio, el autor de una escena puede cambiarla a su antojo y por tanto no es una variable reservada.

     

  • Espacios R3 o tridimensionales

    Utilizamos los espacios R3 cuando queremos mostrar objetos en tres dimensiones. Estos espacios se configuran de manera similar a los espacios R2, en su panel de configuración aparecen los campos «fijo«, «escala«, «O.x«, «O.y«, «imagen«, «despl_imagen» y «fondo«, análogos a los de los espacios R2, y además de estos hay otros dos campos adicionales:

    despliegue
    Selector con las opciones: «orden«, «pintor» y «trazado de rayos» que son tres diferentes métodos para desplegar los objetos en tres dimensiones. 

    • El primero, «orden«, dibuja los elementos tridimensionales de atrás hacia adelante. Es el más rápido, pero tiene fallos cuando los elementos de los objetos tridimensionales son grandes.
    • El segundo, «pintor«, es algo más lento pero es mucho más fiable que el primero. Este método dibuja primero los elementos que son tapados por otros.
    • El despliegue «trazado de rayos» rellena, pixel a pixel, el espacio dibujando el color del objeto que se encuentra más cerca del observador. Es el método más fiable pero es extraordinariamente lento, por lo cual sólo puede usarse en ordenadores muy veloces o en espacios de dimensiones muy reducidas.
    cortar
    Es un selector que permite decidir si todos los cuerpos del espacio se cortan entre sí.
    El valor por defecto es desactivado. Si dos superficies se intersecan pero no se les permite cortarse su despliegue es «imposible» y el dibujo resulta incomprensible. Cuando los objetos del espacio no se intersecan entre sí, no es necesario seleccionar cortar. Para más información ver Gráficos_3D.

    Los espacios R3 incluyen unas variables para conocer y controlar los ángulos de giro del espacio : «<Espacio>.rot.y» y «<Espacio>.rot.z» donde <Espacio> es el nombre del espacio. También existen las variables «<Espacio>.escala» y <Espacio>.observador que sirven para controlar la escala y la distancia aparente al observador, ambas se miden en pixeles.

    La siguiente escena ilustra explícitamente el uso de estas variables. Observe que si el usuario cambia la escala o gira el espacio arrastrando el ratón, los controles numéricos se actualizan con los nuevos valores de la escala y las rotaciones.

    (Puede descargar esta escena desde este enlace)

     

  • Sintaxis del código de una escena

    Llamamos código de una escena de Descartes al que hay que insertar en el código html de una página Web para que la escena aparezca. El formato externo es pues el mismo que el de cualquier bloque html, es decir, el código comienza con una etiqueta que en este caso es <ajs…>para la escena en DescartesJS (<applet…> en Descartes Java) en la que se incluyen algunos atributos, sigue una serie de etiquetas <param … > cada una con los atributos name=»…» y value=»…», y termina con </ajs> (respectivamente </applet>).

    En principio es posible crear manualmente una escena de Descartes escribiendo el código directamente en una página html. Aunque no es necesario hacerlo así, el autor de escenas encontrará a veces conveniente retocar directamente el código de sus escenas, para lo cual es conveniente que se familiarice con el contenido de esta página.

    Como se detalla en los artículos que describen los editores de configuración Descartes genera automáticamente el código de una escena. El botón código es una de las alternativas para acceder a éste y al pulsarlo aparece una nueva ventana, llamada ventana de código del applet, que tiene, por ejemplo, este aspecto en el gestor de escenas:

    código de una escena

    código de una escena en la ventana de código del editor de configuración

    El código aparece en un área de texto al centro de la ventana, y además aparece seleccionado, listo para ser copiado con Ctrl-C y pegado en alguna página html. En la parte superior de la ventana aparecen dos líneas. La primera tiene cuatro campos de texto: nombre, codebase, width y height, que corresponden a unos atributos de la etiqueta <applet> y permiten afinar la configuración. En la segunda línea aparecen dos selectores (código HTML y pop o emergente), dos campos de texto (b_width y b_height) y un botón (aplicar).

    En la parte inferior, la ventana tiene una etiqueta que explica lo que puede hacerse con el contenido del área de texto, y una línea con l selector LMS y dos campos de texto (CURSO y UNIDAD), que están relacionados con el sistema LMS de seguimiento de actividades de los alumnos.

    La siguiente tabla explica el significado de todos estos campos.

    nombre

     

    El nombre de la escena.El nombre es un campo opcional pero conviene usarlo.Debe ser una sola palabra sin espacios que servirá para identificar la configuración específica y distinguirla de otras que podrían aparecer en la misma página. Es muy útil poner un nombre que identifique una configuración y la distinga de cualquier otra, particularmente cuando se realizan modificaciones a una configuración existente.

    codebase

     

    El CODEBASE es la dirección, relativa a la página html, en donde se encuentra el archivo jar. Es propio del código de la escena en Java.
    width
    El ancho de la escena medido en pixeles.Debe ser un número positivo y es el ancho (en pixeles)
    del rectángulo que asigna el navegador a la escena.
    height
    La altura de la escena medida en pixelesDebe ser un número positivo y es el alto (en pixeles)
    del rectángulo que asigna el navegador a la escena.
    código HTML
    Selector que define si el applet se codificará usando la codificación HTML estándar.Es un selector que permite decidir si se codifican las letras acentuadas,
    la ñ, la ç, etc… utilizando la codificación estándar de HTML.Por defecto aparece activado pues es recomendable usarla para asegurar que las escenas
    creadas puedan visualizarse en cualquier plataforma.(No aplicable a DescartesJS).
    pop
    Selector que permite definir si la escena será de tipo «pop» o emergente, lo cual significa que en la página html sólo aparece un botón (con el nombre de la escena) que al pulsarse lanza la escena en una ventana nueva.
    b_width
    Si la escena es de tipo «pop», entonces b_width es el ancho en pixeles del botón que
    lanza la escena.
    b_height
    Si la escena es de tipo «pop», entonces b_height es la altura, en pixeles, del botón
    que lanza la escena.
    aplicar Sirve para aplicar las modificaciones a la configuración y que éstas aparezcan en el código del applet.
    LMS
    Este selector debe activarse si se desea utilizar esta escena en el
    sistema LMS de seguimiento de actividades de los alumnos .En tal caso hay que dar el nombre oficial del curso y de la unidad a las que pertenece. (No aplicable a DescartesJS).
    CURSO
    Nombre oficial (registrado en el LMS) del curso al que
    pertenece esta escena.Sólo debe llenarse si la escena va a estar conectada a un servidor LMS. (No aplicable a DescartesJS).
    UNIDAD
    Nombre de la unidad didáctica a la que pertenece esta escena. (No aplicable a DescartesJS).

    En general, entre la etiqueta <ajs…> y su cierre </ajs> hay varias líneas que comienzan con <param name= y contienen los llamados parámetros de la escenas. Lo que sigue a continuación de <param name= es el nombre de un parámetro y va entre comillas dobles. Luego aparece value=  y una cadena, entre comillas dobles que se llama el valor del parámetro. Un valor de parámetro, es decir una cadena asignada a la etiqueta value, no puede contener una doble comilla pues el navegador la interpretaría como el final de la cadena. Estos pares de nombres y valores  o name y value se llaman los «parámetros» de la escena. En la tabla que sigue se describen los nombres de los parámetros de Descartes así como el posible contenido de sus valores.

    name

    value

    name=»nombre»

     

    value=»Aperitivo»Nombre de la escena.

    name=»Versión»

     

    value=»3.5″Es el número de la versión de Descartes con la que se generó el código. Se incluye como información. En principio una escena creada por una versión determinada deberá poder ser interpretada correctamente por cualquier versión posterior. Siempre se marca como objetivo mantener la compatibilidad hacia atrás.
    name=»Idioma» value=»español»El idioma en que debe presentarse la escena. En la versión 2 de Descartes hay cinco posibles idiomas: english, español, catalá, galego y euskera. Los nombres deben escribirse tal como se hace en la frase anterior.
    name=»Botones»
    value=»créditos=si config=si inicio=si limpiar=si»Define cuáles de los cuatro botones
    que suelen aparecer en las cuatro esquinas de una escena deben aparecer y cuáles no. (Ver Botones).
    name=»Espacio»(un sólo espacio) value=»fondo=negro red=grisObscuro ejes=gris texto=rosa»Define los cuatro colores básicos del espacio de una escena con un único espacio R2. También define si se deben dibujar en el espacio la red, los ejes y si se deben numerar y/o etiquetar los ejes. Por ejemplo:  números=si eje-x=’eje x’ eje-y=’no’.Nota: Este parámetro se conserva por compatibilidad con
    Descartes2 y sólo se utiliza para leer configuraciones antiguas. El código generado por Descartes 3 y posteriores lo excluye en favor de E_00 (ver la siguiente fila de la tabla).
    name=»E_00″name=»E_01″name=»E_02″(espacios) Ejemplo para un espacio R2:value=»id=’E00′ R3=’false’ despl_imagen=’arr-izq’ fondo=’blanco’ red=’no’ red10=’negro’ ejes=’gris’ texto=’grisObscuro’ números=’false’«Ejemplo para un espacio R3: 

    value=»id=’E01′ R3=’true’ escala=’24’
    O.y=’20’ x=’9%’ y=’53%’ ancho=’32%’ alto=’44%’ despl_imagen=’arr-izq’ fondo=’turquesa’
    despliegue=’pintor’ cortar=’true'»

    Es la configuración de un espacio. Contiene el identificador id, que debe ser una palabra sin espacios ni símbolos de operadores y que comienza con una
    letra. Estos son los parámetros de cada tipo de espacio:

    R3=false

    id, R3, escala,
    O.x, O.y, x, y, ancho,
    alto, imagen, despl_imagen, fondo, red, red10, ejes, texto, eje_x, eje_y, números.

    R3=true

    id, R3, escala,
    O.x, O.y, x, y, ancho,
    alto, imagen, despl_imagen, fondo,
    despliegue, cortar.
    name=»C_00″name=»C_01″name=»C_02″(controles) value=»id=escala
    tipo=numérico valor=’50’ decimales=’4*(escala<10)’ incr=’10’ min=’10’ max=’1000000′
    nombre=zoom región=norte»
    Es la configuración de un control. Contiene el identificador id, que debe ser una palabra sin espacios y que comienza con una letra, el tipo de control (numérico o gráfico) y los demás campos  que completan la configuración de un control. Estos son los nombres de todos los campos posibles (ver Controles para consultar el significado y los posibles valores
    de estos atributos): 

    tipo=numérico

    id, tipo,
    valor, decimales, incr, min,
    max, nombre, región, visible,
    exponencial-si y pos_mensajes.

    tipo=gráfico

    id, tipo,
    expresión, color, color-int, texto,
    decimales, tamaño, dibujar-si, rastro,
    constricción y fuente.
    name=»A_00″name=»A_01″name=»A_02″(Auxiliares) value=»id=FP expresión=’sqrt(x^2+(p-x^2/(4*p))^2)'»Es la configuración de un auxiliar. Contiene el identificador id, su expresión
    y según el tipo, los siguientes atributos (ver los auxiliares para consultar el significado y los posibles valores de estos atributos): 

    variable id, expresión,
    editable.
    constante id, expresión,
    constante, evaluar.
    vector id, expresión,
    vector, tamaño, evaluar.
    algoritmo id, algoritmo,
    inicio, hacer, mientras, evaluar
    función id, expresión,
    dominio, algoritmo, inicio, hacer,
    mientras.
    sucesion id, expresión,
    dominio, algoritmo, inicio, hacer,
    mientras.
    evento id, condición,
    acción, parámetro, ejecución y pos-mensajes
    name=»G_00″name=»G_01″name=»G_02″(Gráficos) value=»espacio=’E00′
    tipo=ecuación expresión=’y=x^2/(4*p)’ color=amarillo»
    Es la configuración de un gráfico.Contiene el tipo de gráfico, la expresión que lo define, el color y los demás parámetros. Todos los gráficos tiene estos atributos:espacio, tipo, fondo, dibujar-si, color, expresión, rastro, familia, s.parámetros.intervalo, s.pasos, texto, decimales, fijo, coord_abs.La tabla enumera los atributos específicos adicionales de cada tipo de gráfico. (Ver Gráficos 2-D para consultar el significado y los posibles valores
    de los atributos): 

    ecuación

    ancho, visible,
    editable, relleno+, relleno
    curva ancho, visible,
    editable, relleno, t.parámetro, t.intervalo, t.pasos
    sucesión tamaño, dominio
    punto tamaño, texto,
    fuente, decimales.
    segmento tamaño, texto,
    fuente, decimales.
    flecha tamaño, texto,
    fuente, decimales, ancho, punta.
    polígono ancho, texto,
    fuente, decimales, relleno.

    arco

    centro,
    radio, inicio, fin, texto,
    fuente, decimales, ancho, relleno.

    relleno

     

    texto


     

    texto

    , fuente, decimales.

    imagen


     

    archivo, animado, frecuencia

    .

    macro


     

    nombre

    .

    name=»S_00″name=»S_01″name=»S_02″(Gráficos) value=»espacio=’E01′ tipo=’Octaedro’ color=’naranja’ color_reverso=’rosa’ aristas=’true’
    rotini='(180,0,30*(1+C.x))’ posini='(0,0,1.5*C.y+1.5)’ modelo=’luz’ cortar=’false'»
    Es la configuración de un gráfico en 3 dimensiones.Contiene el tipo de gráfico, la expresión que lo define, los colores, la posición y la rotación iniciales y los  parámetros de presentación. Todos los gráficos 3D, tienen estos atributos: espacio, tipo, fondo, dibujar-si, nombre, expresión, rotini, posini, color, cortar, ancho.La tabla enumera los atributos específicos adicionales de cada tipo de gráfico en 3D. (Ver Gráficos 3D para consultar el significado y los valores posibles de los atributos): 

    punto texto, fuente,
    decimales, fijo.
    segmento Nu
    curva Nu
    polígono Nu
    triángulo color_reverso,
    aristas, modelo
    cara color_reverso,
    aristas, modelo, Nu

     

    polireg


     

    Nu,
    largo.


     

    superficie


     

    color_reverso,
    aristas, modelo
    , Nu, Nv

    texto


     

    texto, fuente, decimales, fijo.


     

    macro

     
    name=»Animación» value=»id=Animación algoritmo=si inicio=’T=0′ hacer=’T=T+0.05′ mientras=’T<2′ pausa=’80’ auto=si repetir=si controles=no»Es la configuración de la animación. Contiene dos atributos fijos y obligatorios: id=Animación y algoritmo=si y los atributos de un algoritmo: inicio, hacer, mientras.
    Además contiene los atributos pausa, auto, repetir y controles. (ver Animación para consultar el significado y los posibles valores de los atributos)
  • Índice Documentación

    Inicio

    Inicio

    Descartes

    La Comunidad Descartes y su herramienta

    Introducción

    Conceptualización

    ¿Qué es Descartes?

    Intérpretes de Descartes

    Referencia y localización de los intérpretes

    Editores de configuración de Descartes

    Versiones

    Versiones de Descartes

    Versión 1 de Descartes

    Versión 2 de Descartes

    Versión 3 de Descartes

    Descartes Álgebra

    Versión 4 de Descartes

    Plug-in de Descartes

    Bloqueo de escenas en Java

    Versión 5 de Descartes

    Versión DescartesJS

    Otros tipos de escenas

    Discursos de Descartes o Arquímedes

    Ítems de Descartes 

    Ejemplos

    Edición

    Gestor de escenas

    Instalación del gestor de escenas (Java)

    ¿Cómo usar el gestor de escenas? (Java)

    Opción de menú «Archivo»

    Opción de menú «Opciones»

    Opción de menú «Servidores»

    Opción de menú «Ítems»

    Opción de menú «HTML»

    Opción de menú «Editar»

    Opción de menú «Insertar»

    Editor de escenas

    Editor de configuración de escenas en Java

    Editor de configuración de escenas de Descartes 2

    Editor de configuración de escenas de Descartes 5

     Editor de configuración de Discursos

    Editor de configuración de Ítems

    Editor básico de configuración, de líneas, (javascript)

    Cómo editar escenas con el editor básico de líneas (artículo incompleto)

    Editor de configuración de escenas en javascript (artículo incompleto)

    Código de una escena

    Código de una escena

    Sintaxis del código de una escena

    Acceso al código de una escena

    Manejo de escenas

    Copiar y pegar escenas en html

    Ejemplos con «docBase»

    Embeber en blog

    Embeber en Moodle

    Embeber en wikis

    Embeber como ventana emergente

    Embeber como iframe en entorno html

    Embeber como iframe en una escena o discurso

    Diseño web adaptable (responsive) en escenas

    Escenas adaptables

    Unidades didácticas adaptables

    Comunicación entre escenas y con el fichero html que las contiene

    Comunicación entre escenas en espacios HTMLIframe

    Comunicación entre una escena y el fichero html que la contiene

    Comunicación escena-html usando Descartes Java

    Comunicación escena-html usando Descartes JS

    Comunicación de una escena con el html embebido en un HTMLIframe

    Aplicaciones de la comunicación para vídeos interactivos

    Aplicación de la comunicación para integrar cálculo simbólico

    Comunicación de vectores entre escena y html

    Comunicación de matrices entre escena y html

    Paso de parámetros desde una escena Descartes a una web independiente

    Paneles

    Botones

    Botones

    Espacios

    Espacios

    Espacios R2 o bidimensionales

    Espacios R3 o tridimensionales

    Espacios sensibles a los movimientos del ratón

    Espacios AP

    Espacios HTMLIframe

    Audio y vídeo mediante espacios HTMLIframe

    Imágenes de fondo en espacios

    Controles

    Controles

    Controles numéricos

    Imágenes en controles numéricos tipo botón

    Controles gráficos

    Controles de texto

    Controles de Audio – Video

    Audios y vídeos interactivos con Descartes

    Definiciones

    Definiciones

    Variables

    Funciones

    Funciones matemáticas básicas

    Operadores

    Funciones para gestión de cadenas

    Funciones para la comunicación

    Palabras reservadas

    Vectores

    ficheros y vectores

    guardar vectores en ficheros

    Matriz

             ficheros y matrices

             guardar matrices en ficheros

    Programas

    Programa

    Algoritmos

    INICIO

    CALCULOS

    Evento

    Gráficos

    Gráficos

    Punto 2-D

    Segmento 2-D

    Polígono 2-D

    Relleno 2-D

    Arco 2-D

    Flecha 2-D

    Sucesión 2-D

    Ecuación 2-D

    Curva 2-D

    Texto 2-D

    Imágenes en Gráficos 2D 

    Gráficos 3D

    Gráficos 3D

    Punto 3D

    Segmento 3D

    Polígono 3D

    Curva 3D

    Triángulo 3D

    Cara 3D

    Polireg 3D

    Superficie 3D

    Texto 3D

    Otras figuras 3D

    Familias 3D

    Ejercicios con gráficos 3D – Relaciones espaciales

    Animaciones

    Animaciones

    Animaciones – Ejercicio

    Animaciones – La ilusión de Adelson

    Animaciones – Las ilusiones de Koffka y de Haze

    Audios y vídeos interactivos con Descartes

    Otros elementos auxiliares

    Colores

    Colores

    Textos

    Textos y Editor de textos y fórmulas

    Macros

    Macros

    Macros en el editor de configuración Java y en el intérprete Java (queda en el último párrafo enlazar ejemplos)

    Macros en el intérprete DescartesJS

    Relación de macros del sistema (redactar)

    Ficheros

    Ficheros

    Imágenes

    Imágenes de fondo en espacios

    Imágenes en controles numéricos tipo botón

    Imágenes en Gráficos 2D

    Ejemplos de aplicación y utilidades

    Lupa cartesiana (aplicación de espacios y escala en imágenes)

    Aplicación de algoritmos

    Ciclos o bucles anidados

    Recomendaciones, indicaciones y elementos prefabricados

    Audios y vídeos interactivos con Descartes

    Aplicaciones de la comunicación para vídeos interactivos

    Vídeos interactivos en Youtube

    Vídeo interactivo con preguntas de respuesta escrita

    Vídeo interactivo con selección de fragmentos de vídeo

    Vídeo interactivo con preguntas de selección múltiple

    Vídeo interactivo con enlace a otros vídeos

    Vídeo interactivo con enlace a otras escenas de Descartes

    Vídeo interactivo y escena interactiva simultánea

    Vídeos interactivos en local

    Vídeos interactivos con línea de tiempo

    Vídeos interactivos con línea de tiempo (v1)

    Curvas de Bezier en Geogebra y Descartes

    Vídeos interactivos con línea de tiempo (v2)

    Aplicaciones de la comunicación para integrar cálculo simbólico

    Integración de construcciones de Geogebra con Descartes

    Comunicación Descartes-Google Maps

    Libros interactivos con Descartes embebido en «Mouleskine notebook»

    Créditos

    Créditos