Macros



El lector debe consultar la página Macros de la Documentación Técnica de Descartes 3 para estudiar cómo se define y se utiliza un Macro. También conviene revisar la librería de macros en 2 y 3 dimensiones definidos en la propia documentación técnica de Descartes.

En esta lección nos concentraremos en la metodología para la creación de un macro.

Comenzaremos creando un macro muy simple. Será un polígono regular con número de lados, tamaño y color variables. Para ello hay que crear una escena con un objeto gráfico que tenga todas esas características parametrizadas por constantes que se evalúan una sola vez. Conviene además crear unos controles numéricos para modificar esos parámetros y comprobar el funcionamiento del objeto gráfico. La siguiente escena contiene todos estos elementos.

Una vez hecha la escena hay que pulsar “macro” en la ventana de configuración de la escena, copiar el código que aparece:

y guardarlo en un archivo de texto, en este caso lo hemos guardado en mismacros/polireg. El macro ya está creado. Ahora para utilizarlo en otra escena, basta crear un objeto gráfico 2D de tipo macro como se ilustra en la siguiente imagen.

La siguiente escena que parece idéntica a la anterior, utiliza el macro polireg.

Sin embargo hay tres controles más que permiten cambiar la orientación y la posición del macro. Esta es una ventaja “gratuita” de los macros pues permite obtener giros y translaciones de una figura que originalmente sólo se diseñó en una posición y con una orientación fija. La orientación y la posición del macro se controlan con los campos rotini y posini en el panel de configuración de un macro.

Para que los controles de esta escena puedan realmente modificar el macro se ha creado en la escena un algoritmo auxiliar que asigna a los parámetros del macro los valores de los controles, como se ilustra en la imagen.

Las aplicaciones de los macros pueden asignar valores a los parámetros del macro a partir de cálculos diferentes, no necesariamente de los valores de un control, eso se hizo en este ejemplo sólo para demostrar cómo se conectan los parámetros del macro con la escena en donde se aplica.

En el resto de esta lección nos vamos a concentrar en la creación de un macro y en su utilización. Crearemos un macro típico que es un resorte. Lo haremos en una sucesión de escenas. Comenzamos por crear un resorte dependiente de los siguientes parámetros: coordenadas de su extremo “fijo” (X,Y), longitud natural L , elongación dL y ángulo respecto a la vertical a. También usaremos como parámetro el número de vueltas n y la longitud e de los extremos lisos.

Comenzamos creando controles para todos estos parámetros y dibujando el resorte como una curva, como se muestra en esta escena.

El siguiente paso consiste en crear el macro “miresorte” a partir de esta escena. Para ello pulsamos “macro” en la ventana de edición de la escena, copiamos el texto que aparece y lo guardamos en un archivo de texto llamado “miresorte” y lo colocamos en una carpeta, por ejemplos en la carpeta mismacros.

Y ahora en una escena nueva agregamos un macro omo se indica en la siguiente imagen:

Agregando unos controles y un algoritmo donde se asignan valores a los parámetros del macro MIR, se obtiene esta escena en la que el resorte puede girar (moviendo el control a).

La siguiente escena es una modificación de la anterior pero se ha agregado una animación controlada por las ecuaciones de movimiento de una bola atada a un extremo del resorte.

Realizar esta escena sin la ayuda del macro hubiera sido muy difícil pues habría que haber dibujado el resorte en una orientación arbitraria.

Las escenas siguientes muestran aplicaciones útiles de los macros.

En la siguiente escena todos los gráficos son macros.

La escena de sistemas de ecuaciones usa dos macros, uno para dibujar el campo vectorial y otro para realizar los cálculos de la solución.



Ejercicios

  1. Hacer una escena para generar un macro que sea un trapecio, cuidando de definir como constantes que se evalúan una sola vez la altura, la base inferior y la base superior del trapecio.

  2. Crear un macro “trapecio” a partir de la escena del ejercicio 1.

  3. Crear una escena que aproveche el macro trapecio y que permita al usuario girar el trapecio.





Autores: José Luis Abreu León y Tine Stalmans


Autores: José Luis Abreu León y Tine Stalmans