Novedades
(que ofrece Descartes 3 respecto a Descartes 2)


Descartes 3 representa un avance considerable respecto a Descartes 2 en seis aspectos principales:

1) Gráficos en 3-D,
2) Múltiples espacios 2-D o 3-D en una misma escena.
3) Macros que permiten reutilizar gráficos y auxiliares.
4) Textos enriquecidos con fórmulas y cambios de color y fuentes.
5) Nuevos controles numéricos de tipo barra de desplazamiento, menú y botón.
6) Introducción de eventos y acciones que permiten realizar una programación más interactiva.

que amplían su campo de acción a los gráficos 3-D y permiten crear escenas más ricas e interactivas. El propósito de esta página es presentar un resumen de todas estas mejoras y otras más.

Para "abrir boca" presentamos la escena Esta unidad interactiva requiere la máquina virtual de Java JAVA. que es un prototipo de escena educativa interactiva y utiliza las seis principales mejoras de esta versión. Se recomienda al lector abrir la escena y realizar el ejercicio, de preferencia varias veces, para observar cómo se aprovecha la nueva funcionalidad. Esta otra escena Esta unidad interactiva requiere la máquina virtual de Java JAVA. de contenido  más elemental, es también una buena muestra de escena educativa interactiva.


Escena

Espacios 3-D y varios espacios en una misma escena.

Descartes 3 puede tener uno o varios espacios en 2 y 3 dimensiones como muestran estos ejemplos de escenas:  Esta unidad interactiva requiere la máquina virtual de Java JAVA. , Esta unidad interactiva requiere la máquina virtual de Java JAVA. , Esta unidad interactiva requiere la máquina virtual de Java JAVA. , Esta unidad interactiva requiere la máquina virtual de Java JAVA. , Esta unidad interactiva requiere la máquina virtual de Java JAVA. , Esta unidad interactiva requiere la máquina virtual de Java JAVA. .

La documentación de estos hechos puede consultarse en

Nueva interacción del usuario con la escena.

En los espacios 2-D se pueden arrastrar los ejes con el ratón y si se hace con el botón derecho y hacia arriba o hacia abajo se modifica la escala (es decir, se hace "zoom"). Puede hacerlo por ejemplo en esta escena: Esta unidad interactiva requiere la máquina virtual de Java JAVA. . Observe cómo cambian la escala y las coordenadas del origen al arrastrar el ratón.

En las escenas 3-D el usuario puede cambiar el punto de vista del observador arrastrando el ratón sobre la escena. Con el botón izquierdo puede realizar giros y con el derecho puede aumentar y disminuir la escala y acercar o alejar el punto de vista. Puede realizar estos arrastres por ejemplo en  Esta unidad interactiva requiere la máquina virtual de Java JAVA. . Observe cómo cambian las variables de los controles al arrastrar el ratón.

Los controles gráficos y numéricos actúan sobre toda la escena.

Los controles numéricos pueden actual sobre objetos de cualquiera de los espacios de una escena. Los controles gráficos deben estar en una de las ventanas (ya sea de tipo 2-D o de tipo 3-D) pero también pueden actuar sobre los objetos de cualquiera de las  ventanas. En el ejemplo Esta unidad interactiva requiere la máquina virtual de Java JAVA. puede arrastrar el control que aparece en el espacio principal y con ello verá que el octaedro de uno de los espacios de tres dimensiones se mueve.

En cada espacio de una escena puede haber una imagen de fondo.

Como ejemplo puede mirar la escena: Esta unidad interactiva requiere la máquina virtual de Java JAVA. . Los detalles puede hallarlos en Espacios

Escenas en ventanas propias (de tipo "pop-up").

Es posible crear escenas que aparezcan al pulsar un botón en una página web. Hé aquí un ejemplo: Esta unidad interactiva requiere la máquina virtual de Java JAVA. . Casi todas las escenas incluidas en esta página de novedades son de este tipo. Hay dos maneras de crear este tipo de botones de los que salta una ventana con una escena y están documentadas en la página Ventanas.


Controles

Ayudas (tooltips y explicaciones) en los controles.

El autor puede crear ayudas en sus controles numéricos o gráficos. Para ello basta rellenar los campos marcados como tooltip y explicaciones. El "tooltip" aparece al dejar un par de segundos el ratón sobre el control. Las explicaciones aparecen si se hace un clic derecho sobre el control. Ambas cosas aparecen sólo si el autor las ha definido.

Hé aquí una pequeña escena con varios controles, todos ellos con su tooltip y su explicación. Para ver los "tooltips" ponga el ratón sobre cada uno de los controles numéricos y gráficos y manténgalo un par de segundos sin moverse. Para ver las explicaciones haga un click derecho sobre cada uno de los controles numérico y gráficos.

Esta unidad interactiva requiere la máquina virtual de Java JAVA.

Decimales ajustados.

El atributo fijo sirve en los controles numéricos y gráficos y también en todos los objetos gráficos que tiene texto como punto, segmento, flecha, texto, etc.. El atributo fijo está relacionado con los decimales en la escritura de números. Si fijo=si entonces la escritura de los números es con un número fijo de decimales, como había sido siempre en las versiones anteriores. Si fijo=no entonces el número se escribe ajustado, es decir, se quitan 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 . En la siguiente escena se ha desactivado el atributos "fijo" en el control numérico y en el gráfico, en ambos se tiene decimales=2 .

Esta unidad interactiva requiere la máquina virtual de Java JAVA.

Parámetros con valores discretos

Se agregó el atributo discreto a los controles numéricos que obliga a que el parámetro controlado por ese control adquiera sólo valores discretos (enteros, múltiplos de 1/100, etc...) según esté definido su valor inicial y su incremento. Por ejemplo, el control numérico de la siguiente escena obliga a la variable n1 a tomar valores múltiplos de 0.25. Para comprobarlo pruebe a escribir un valor diferente y pulse "intro"

Esta unidad interactiva requiere la máquina virtual de Java JAVA.

Barras de desplazamiento y Menúes desplegables

Se crearon controles numéricos con interfaz de barra de desplazamiento que funcionan igual que los controles numéricos que ya había antes y (ahora se llaman pulsadores). También se crearon controles numéricos con interfaz de menú desplegable que permiten fijar el valor de la variable asociándolo a una palabra.

Esta  escena Esta unidad interactiva requiere la máquina virtual de Java JAVA. usa estos dos nuevos tipos de controles numéricos. Observe que esta escena tiene un espacio 2-D en cuya región interior se colocan las barras de desplazamiento vertical, y un espacio 3_D con el mismo color blanco de fondo, que es el que contiene los poliedros. Observe también que el espacio 3-D es fijo y que las rotaciones y escala de dicho espacio están siendo controladas por las barras de desplazamiento. Lea los "tooltips" y explicaciones de todos los controles.

Botones

Se crearon controles numéricos con interfaz de botón que pueden usarse a la vez para fijar el valor de una variable o para realizar una acción.

Esta escena Esta unidad interactiva requiere la máquina virtual de Java JAVA. muestra 8 botones en un espacio E1 con fondo naranja con las 8 acciones diferentes. Además hay dos botones dentro del espacio E2 que fijan valores del incremento radial de la espiral.

Acciones

Se creó el concepto de acción, que puede ser cualquiera de las siguientes:

mensaje Abre una pequeña ventana con un mensaje de texto cuyo contenido es el del parámetro. La posición de esta ventana puede determinarse con el valor de pos_mensajes.
calcular Realiza los cálculos (asignaciones) indicadas en el parámetro
abrir URL Abre una página Web en una ventana nueva del navegador
abrir Escena Abre una escena de Descartes en una ventana autónoma
créditos Abre la ventana de créditos
config Abre la ventana de configuración
inicio Reinicia la escena
limpiar Borra todos los rastros dejados por los gráficos.
animar Comienza la animación, la pausa o la continúa.
reiniciar animación Inicializa la animación, es decir, la devuelve a su punto inicial.

Regiones

Se crearon tres nuevas regiones para colocar los controles numéricos: oeste, este e interior. En el panel para configurar botones puede decidirse el ancho en pixeles de las regiones oeste y este. La región interior es la propia escena. Cuando un control numérico se encuentra en la región interior, entonces se puede elegir el espacio donde debe colocarse y puede definirse también su posición mediante una expresión (x,y) o su posición y dimensiones mediante una expresión (x,y,ancho,alto). Cuando una barra de desplazamiento se define con alto>ancho, entonces es vertical, pero esto sólo ocurre cuando está en la región interior.

Las escenas anteriores son ejemplos donde se usan controles numéricos en la región interior. Ésta Esta unidad interactiva requiere la máquina virtual de Java JAVA. tiene varios controles (un menú desplegable y varios botones) en las regiones este y oeste.


Auxiliares.

Se crearon dos nuevos tipos de auxiliares: sucesiones y eventos.

Eventos

Los eventos son condiciones booleanas que cuando se cumplen pueden realizar una acción. Las acciones de los eventos son las mismas que las que se pueden asociar a los controles. Esta escena    Esta unidad interactiva requiere la máquina virtual de Java JAVA.     ejemplifica cómo pueden aprovecharse los eventos en la enseñanza.

Sucesiones

Las sucesiones son funciones pero con dominio en los números enteros (negativos y no negativos). Igual que las funciones, pueden estar definidas mediante un algoritmo.

Si S es una sucesión, entonces las ecuaciones y=S(x) y x=S(y) se dibujan sólo para valores enteros del argumento, lo cual permite dibujar gráficas de sucesiones con más facilidad que antes, como se ilustra en este ejemplo:   Esta unidad interactiva requiere la máquina virtual de Java JAVA. , en el que además se utilizan eventos para corregir los errores del alumno o confirmar que ha obtenido la respuesta correcta.

Nota: Se hizo un trabajo especial de programación para que el Descartes dibuje todos los puntos de una ecuación de la forma y=S(x) cuando S es una sucesión. En realidad el programa reconoce que se trata de una sucesión y trata la ecuación de manera especial, pero esto es válido sólo si la ecuación tiene la forma explícita y=S(x), o al menos y=S(f(x)), pero no funcionará en una ecuación de la forma y=f(S(x)) donde f no es una sucesión. Por ejemplo sí funciona para y=S(raíz(x)) pero no para y=raíz(S(x)). La razón es que no es posible para el programa detectar que el dominio es discreto.

Nota: Si se desea que una sucesión sólo sea válida para los números naturales (i.e. los enteros no negativos) entonces hay que definir S con dominio n>=0.

Variables

Las variables, que en realidad son expresiones, pueden ahora ser modificadas por el usuario de una escena. Se agregó un campo "editable" en el panel de configuración de las variables que si se activa hace que aparezca en la parte inferior de la escena un campo de texto en el que el usuario (el alumno) puede modificar la expresión y al dar , el programa la adopta y la usa. Un ejemplo donde se usan variables editables es Esta unidad interactiva requiere la máquina virtual de Java JAVA. .


Gráficos 2-D.

Imágenes como objetos gráficos.

En los espacios de dos dimensiones se pueden utilizar imágenes como objetos gráficos o como fondos de pantalla. En esta escena  Esta unidad interactiva requiere la máquina virtual de Java JAVA.   hay una image utilizada como objeto gráfico y en esta otra  Esta unidad interactiva requiere la máquina virtual de Java JAVA.    una imagen se utiliza como fondo de la escena.

Coordenadas Absolutas

Se agregó la opción coord_abs en los gráficos (2D). Esta opción permite definir el gráfico en pixels con el origen de coordenadas en el vértice superior izquierdo del espacio 2D al que pertenece. Cuando esta opción está activada el punto (x,y) se interpreta como el punto que se encuentra x pixeles a la derecha y y pixeles abajo del vértice superior izquierdo del espacio. Un gráfico definido en coordenadas absolutas permanece inmóvil ante cambios de escala y ante desplazamientos de los ejes de coordenadas, en particular permanece inmóvil cuando el usuario arrastra el ratón sobre la escena. Esta escena Esta unidad interactiva requiere la máquina virtual de Java JAVA. ilustra la utilización de coordenadas absolutas en en rectángulo sobre el que se escribe el texto. El usuario puede comprobar que al mover la escena o cambiar su escala el rectángulo no cambia.

Todos los gráficos excepto los textos tienen esta opción. Los textos siempre se han definido en coordenadas absolutas y por tanto la opción coord_abs no hace falta aplicarla.

En el caso de los macros, los gráficos que los definen deberían ponerse siempre en coordenadas relativas, es decir con coord_abs=No para que el macro mismo pueda usarse en coordenadas relativas o absolutas según lo desee el usuario. Si los gráficos que definen un macro tienen coord_abs=Si entonces el macro siempre se dibujará en coordenadas absolutas independientemente del valor de su atributo coord_abs. Como ejemplo, el rectángulo del ejemplo de arriba es un macro que fue definido como un polígono en coordenadas relativas, pero al usarlo en la escena el macro está en coordenadas absolutas, es decir, con coord_abs=Si.

Nuevas funciones y variables internas.

Descartes 3 tiene definidas internamente las funciones _x(x) y _y(y)que devuelven las coordenadas absolutas del punto (x,y) y las variables _w y _h que devuelven el ancho y el alto de un espacio. Si el espacio tiene nombre nomesp entonces estas funciones y variables son nomesp._x(x), nomesp._y(y),nomesp._w y nomesp._h, respectivamente.
Nota:
No hace falta usar _x(x) y _y(y) para representar un gráfico en coordenadas absolutas, basta elegir la opción coord_abs=Si.

La doumentación actualizada de los gráficos 2-D se puede consultar en Gráficos 2-D

Macros.

En Descartes 3 se pueden crear y utilizar macros como ilustra este ejemplo Esta unidad interactiva requiere la máquina virtual de Java JAVA. en donde todos los gráficos son macros: el muelle, los ejes de coordenadas y los planos cartesianos. Se potenció considerablemente la aplicabilidad de los macros haciendo que puedan tener sus propios auxiliares, incluyendo algoritmos y funciones. En algunos de los ejemplos incluidos en la documentación se explota esta característica de los macros para reutilizar código matemático (ver p.e. Esta unidad interactiva requiere la máquina virtual de Java JAVA. o Esta unidad interactiva requiere la máquina virtual de Java JAVA. ).

Para estudiar todas las posibilidades de los macros es necesario consultar su documentación Macros. Esta versión de Descartes 3 viene acompañada de un Banco de Macros.

Nota: Puede haber macros de 2 y de 3 dimensiones.


Gráficos 3-D.

La introducción de espacios 3-D y gráficos 3-D es uno de los principales avances de Descartes 2 a Descartes 3. Las siguientes escenas contienen espacios y gráficos 3-D: Esta unidad interactiva requiere la máquina virtual de Java JAVA. , Esta unidad interactiva requiere la máquina virtual de Java JAVA. , Esta unidad interactiva requiere la máquina virtual de Java JAVA. , Esta unidad interactiva requiere la máquina virtual de Java JAVA. , Esta unidad interactiva requiere la máquina virtual de Java JAVA. , Esta unidad interactiva requiere la máquina virtual de Java JAVA. .

Los gráficos en 3 dimensiones pueden cortarse entre sí.

Los cuerpos en tres dimensiones se pueden cortar y generar así otros cuerpos. (Ver por ejemplo Esta unidad interactiva requiere la máquina virtual de Java JAVA.    en donde aparecen dos cubos que se cortan entre sí. Detenga la animación y modifique los parámetros a, b y c para ver cómo se modifica el cuerpo resultante. 

Nuevas funciones y variables internas.

Descartes 3 tiene definidas internamente las variables escala, observador, rot.y y rot.z que sirven para controlar el punto de vista del observador. La escena  Esta unidad interactiva requiere la máquina virtual de Java JAVA. ilustra su significado y su uso.

Para conocer estos y otros detalles de los gráficos 3-D es necesario consultar la documentación en  Gráficos 3-D


Textos y Colores.

Textos, fórmulas y caracteres especiales.

Se creó un nuevo sistema de textos para Descartes que enriquece considerablemente los textos, tanto los que se usan como objetos gráficos en 2D y 3D, como los que acompañan a otros objetos gráficos como puntos, segmentos, etc...

Los nuevos textos pueden tener en un mismo texto varios tipos de letra y varios colores, usar letras griegas y otros caracteres especiales (símbolos, operadores, etc...) y pueden incluir fórmulas matemáticas. La siguiente escena es una buena muestra de los que son los nuevos textos.

Esta unidad interactiva requiere la máquina virtual de Java JAVA.

Todos los detalles de los nuevos textos están documentados en las páginas: Textos, Símbolos y Fórmulas.

Cabe mencionar que el editor de fórmulas de Descartes es parte de un nuevo programa educativo que está en proceso de desarrollo y se llama provisionalmente: Tutor de Álgebra.

Colores variables.

Los colores de cualquier gráfico pueden ser variables, se pueden definir como funciones matemáticas. Ver por ejemplo: Esta unidad interactiva requiere la máquina virtual de Java JAVA. en donde hasta el color de fondo de la escena es variable.

Colores transparentes

Se agregó una componente de transparencia a los colores. En esta escena  Esta unidad interactiva requiere la máquina virtual de Java JAVA.   las tres circunferencias móviles son transparentes. y en esta otra Esta unidad interactiva requiere la máquina virtual de Java JAVA. los planos cartesianos también son transparentes.

Es posible que el lector no vea la transparencia. En tal caso se debe a que probablemente está utilizando el JVM de Microsoft, que es el que mejor va para Descartes, sin embargo, el detalle de la transparencia sólo puede apreciarse con las JVM de Sun versiones 1.3 o superior. Al usuario que desee utilizar transparencia en los colores se le recomienda instalar el J2SDK 1.5.0_04 que puede encontrar, por ejemplo, en:
http://recursostic.educacion.es/descartes/web/java_sun/jre-1_5_0_04-windows-i586-p.exe 
(aprox 15,5 MB)

La documentación actualizada sobre colores puede consultarse en Colores.


Nuevo API público de programación para interactuar con JavaScript.

Descartes 3 cuenta con una interfaz pública de programación o API (Application Programming Interface) que puede utilizarse para interactuar con las escenas de Descartes desde las páginas web que las contienen utilizando JavaScript u otros applets de Java (ver API ).


Descartes 3 es compatible con Descartes 2 (pero no con Descartes 1).

Descartes 3 es una extensión de Descartes 2, es decir, Descartes 3 tiene toda la funcionalidad de Descartes 2 y  todas las escenas creadas con Descartes 2 son válidas en Descartes 3. Puede haber algunas escenas que no funcionen debido a que hay algún error en ellas (Descartes 2 era menos estricto con la sintaxis de las expresiones matemáticas, por ejemplo un paréntesis de más no le importaba), pero en tales casos puede buscarse el error y debe poderse corregir para que la escena funcione correctamente con Descartes 3.

Sin embargo las escenas configuradas con Descartes 1 deberán ser transformadas a Descartes 2 para poder ser visualizadas con Descartes 3, es decir, Descartes 3 no cuenta con un conversor directo de escenas de Descartes 1 a Descartes 3.


Conexión al LMS.

Es posible utilizar el sistema de seguimiento de actividades de los alumnos (LMS de Learning Managment System) en las escenas de Descartes. El LMS permite a los tutores de un curso que se realiza por internet o en una red local, revisar con todo detalles las actividades que han realizados los alumnos en aquellos casos que tanto las actividades como los alumnos estén registrados en la base de datos del LMS. Actualment el LMS se está experimentando en Malted, pero podría hacerse también en cursos de matemáticas aprovechando la conexión de Descartes al LMS.

Para activar esta conexión se puso un selector titulado LMS en la ventana de configuraciones. El valor por defecto del selector LMS es NO. Si el selector se activa y también se llena el campo CURSO y se pulsa aplicar, entonces la configuración queda preparada para conecarse al LMS. 

Para que una escena pueda conectarse al LMS es necesario ponerla en un servidor de internet que tenga activado el servidor LMS_Server y además debe incluir el archivo LMS_Learner.jar en un subdirectorio classes del codebase, es decir, de donde se encuentra el archivo Descartes.jar que se usa para la escena.

Además para que se registren las actividades será necesario que el alumno tenga un nombre de usuario y una contraseña del LMS y que los proporcione al programa cunado éste se los pida. Si no proporciona estos datos el programa funcionará como siempre pero no registrará los eventos en el LMS.

Si una escena se prepara adecuadamente para conectarse al LMS entonces funcionará así:
Al abrirse la escena el programa busca si hay una conexión activa al LMS_Server y en tal caso pide al alumno su clave de usuario y su contraseña. Si el alumno da una clave y contraseña válidas entonces a partir de ese momento se registrarán en el LMS todos los eventos y acciones que genere y el tutor podrá revisar esa información. Si el programa no encuentra una conexión activa al LMS_Server o si el alumno no da una clave y contraseña adecuadas, entonces la escena funcionará igualmente, pero no enviará información a la base de datos del LMS.


Otros Cambios

Listas de objetos en los paneles de edición

En las listas de objetos del editor de configuraciones (espacios, controles, auxiliares, gráficos y gráficos 3D) no se permitía crear un nuevo objeto con un identificador que ya existía. Ahora esto ya se permite y además se ha habilitado la posibilidad de cambiar el identificador de los objetos, cosa que antes tampoco se permitía. Aunque esto podría ocasionalmente causar alguna confusión, a veces es útil tener por ejemplo dos controles con el mismo identificador, como sucede en esta escena: Esta unidad interactiva requiere la máquina virtual de Java JAVA. .

Cambios internos

Se unificó el sistema de programación en todos los paneles de edición (usando mjaPair en Controles, Auxiliares y Animación, antes sólo se usaban en Espacios, Gráficos y Gráficos 3D. Esto afecta únicamente el aspecto de los paneles de edición mencionados. Quizás se pierde un poco el control de dónde aparecen los diferentes campos, pero se gana en generalidad y facilidad para el mantenimiento y la extensión de funcionalidad.

Errores corregidos

Se corrigieron varios errores que pueden consultarse en Errores Corregidos, algunos de Descartes 2 y otros de Descartes 3 en versiones anteriores a Descartes 3.5. Algunas de estos errores como:  por ejemplo dibujar-si no funcionaba en 3D, el comportamiento de la acción calcular en los eventos no era efectiva, etc... , disminuían notoriamente la aplicabilidad de las versiones intermedias entre la 3.04 y la 3.4. Confiamos que esta versión 3.5 tendrá menos errores.

Cambios de funcionamiento

Es importante saber que las correcciones de algunos errores pueden haber cambiado un comportamiento accidental de versiones anteriores que en la nueva versión no ocurrirá. Por ejemplo algunas versiones anteriores aceptaban fórmulas con paréntesis de más, cosa que la versión actual ya no acepta, por lo cual una escena con errores de sintaxis en sus expresiones no funcionará en Descartes 3.5. Otro ejemplo: si el número de decimales de un control numérico es 0 y su incremento es menor que 0.5, el control no cambiará nunca el valor pues en la nueva versión el verdadero valor de un número controlado por un control numérico es el que éste muestra, mientras que en versiones anteriores lo que mostraba era sólo una representación cercana del valor. La página Cambios_funcionales incluye los cambios de este tipo que hemos detectado antes de la publicación de esta documentación.

Por tanto, si una escena que funcionaba bien en una versión anterior, no funciona en Descartes 3.5 es posible que tenga algún error. Se recomeinda al autor de escenas buscar esos errores y si no los encuentra, enviar la escena al foro de Descartes para que podamos ayudarle a corrgir el problema.


Autor: José Luis Abreu León