scieee AI-readable full text Open interactive document viewer

Introduciendo BlocksCad como recurso didáctico en matemáticas.

Beltrán-Pellicer, Pablo; Muñoz-Escolano, José M.; Rodríguez-Jaso, Carlos

Abstract

BlocksCAD es un entorno web de programación visual por bloques, de aspecto similar a Scratch, para el software libre de modelado en 3D OpenSCAD. Con esta herramienta, los cuerpos en el espacio se describen mediante algoritmos que incluyen la utilización de unas pocas primitivas, como prismas y esferas; transformaciones geométricas y operaciones lógicas y conjuntistas. En este artículo se introduce el recurso y se proponen ejemplos de tareas que se han puesto en práctica con alumnado de segundo ciclo de ESO Beltrán-Pellicer, Pablo; Rodríguez-Jaso, Carlos; Muñoz-Escolano, José M.

Full text

Introduciendo BlocksCAD como recurso didáctico en matemáticas Pablo Beltrán-Pellicer1, 2, Carlos Rodríguez-Jaso3 y José M. Muñoz-Escolano1 1Universidad de Zaragoza, 2CPI Val de la Atalaya, María de Huerva, 3IES Pedro Cerrada, Utebo. Versión post-print para uso personal. Cítese como: Beltrán-Pellicer, P., Rodríguez-Jaso, C., & Muñoz-Escolano, J. M. (2020). Introduciendo BlocksCAD como recurso didáctico en matemáticas. Suma, 93, 39-48. Resumen BlocksCAD es un entorno web de programación visual por bloques, de aspecto similar a Scratch, para el software libre de modelado en 3D OpenSCAD. Con esta herramienta, los cuerpos en el espacio se describen mediante algoritmos que incluyen la utilización de unas pocas primitivas, como prismas y esferas; transformaciones geométricas y operaciones lógicas y conjuntistas. En este artículo se introduce el recurso y se proponen ejemplos de tareas que se han puesto en práctica con alumnado de segundo ciclo de ESO. Palabras clave: recurso didáctico, pensamiento computacional, geometría. Introducing BlocksCAD as an educational resource in mathematics. Abstract BlocksCAD is a scratch-like programming environment to create 3D objects, which offers a web-based interface for the open-source OpenSCAD 3D modeling software. With this tool, bodies in space are described by algorithms that include the use of a few primitives, such as prisms and spheres; geometric transformations and logical and set operations. This article introduces the resource and proposes examples of tasks that have been implemented with students in the second cycle of secondary education in Spain. Keywords: educational resource, computational thinking, geometry. El interés en utilizar herramientas tecnológicas para la enseñanza y aprendizaje de las matemáticas y, específicamente, de la geometría, se puede rastrear desde la aparición del lenguaje LOGO y su célebre tortuga hasta el día de hoy, donde nadie cuestiona las sugerentes aplicaciones didácticas de los entornos de geometría dinámica, cuyo principal Versión post-print para uso personal. Cítese como: Beltrán-Pellicer, P., Rodríguez-Jaso, C., & Muñoz-Escolano, J. M. (2020). Introduciendo BlocksCAD como recurso didáctico en matemáticas. Suma, 93, 39-48. exponente es Geogebra. Si bien la mayoría de las publicaciones existentes hasta ahora se refieren a programas de geometría dinámica plana, Gutiérrez y Jaime (2015) se hacen eco de la reciente aparición de programas de geometría dinámica tridimensional y cómo estos pueden suplir la carencia en los centros educativos de materiales manipulativos apropiados para el aprendizaje de contenidos de geometría espacial. Por otro lado, hay ciertas herramientas tecnológicas sin una orientación a priori tan específica hacia las matemáticas, pero con un gran potencial educativo, que están encontrando rápidamente un hueco en los centros educativos y que merecen nuestra atención. Entre ellas, se encuentran muchas de las que forman parte del flujo de trabajo de la fabricación e impresión en 3D. Estas máquinas han visto disminuir su coste de tal manera (Jones y otros, 2011) que ya son muchos los colegios e institutos que disponen de alguna para realizar actividades en asignaturas como Tecnología (González-Gómez y otros, 2012) y Matemáticas (Beltrán-Pellicer, 2017; Beltrán-Pellicer y Rodríguez-Jaso, 2017, 2018). Una impresora 3D fabrica los objetos de forma aditiva. Esto quiere decir que, tras un proceso software de descomposición laminar, los imprime capa a capa, de abajo arriba. Dichos objetos pueden haber sido descargados de alguno de los repositorios que existen por Internet, como GitHub o Thingiverse en el formato habitual STL (que describe la superficie o mallado del objeto) o haber sido creados directamente por el usuario con un software de diseño asistido por ordenador (CAD). Dentro de los CAD existen múltiples opciones. Por un lado, hay entornos interactivos con mayor o menor grado de complejidad, tales como el 3D Builder de Microsoft, Rhinoceros 3D, Inventor, TinkerCAD (aplicación web gratuita) o la opción libre FreeCAD. En ellos se trabaja a partir de alguna perspectiva tridimensional, pudiendo establecer acotaciones y, en algunos casos, imponer restricciones o parametrizar piezas. Por otro lado, hay alternativas como OpenSCAD, que podría describirse como una herramienta que lee un fichero de texto con la descripción de los objetos 3D para generar el modelo y renderizarlo, de forma que en la pantalla se pueda ver su imagen. En otras palabras, con OpenSCAD se programa el modelo tridimensional a partir de unas primitivas que definen cuerpos básicos y una serie de transformaciones. Si en los entornos interactivos la parametrización aparece como una funcionalidad que proporciona un valor añadido, en OpenSCAD forma parte de su núcleo. Esto permite al diseñador efectuar Versión post-print para uso personal. Cítese como: Beltrán-Pellicer, P., Rodríguez-Jaso, C., & Muñoz-Escolano, J. M. (2020). Introduciendo BlocksCAD como recurso didáctico en matemáticas. Suma, 93, 39-48. cambios en cualquier paso del proceso de modelado, haciendo que los diseños sean fácilmente configurables. Pensemos, por ejemplo, en una rueda dentada. En OpenSCAD escribiríamos un programa que modelaría una rueda de un diámetro d, con n dientes. Coincidimos con autores (Schelly y otros, 2015) en que OpenSCAD resulta sencillo de utilizar, y que realmente bastan 30 minutos de instrucción para aprender el manejo básico. También es verdad que hay algunos aspectos que requieren de una mayor profundización, y que no es trivial, por ejemplo, diseñar objetos complejos de forma recursiva. El hecho de que OpenSCAD sea software libre ha posibilitado que surjan entornos de modelado basados en él. Es el caso de BlocksCAD, que simplemente añade una interfaz de programación visual por bloques similar a la del archiconocido Scratch. Recientes investigaciones señalan el potencial de la programación por bloques de Scratch como recurso didáctico en el aula de matemáticas en secundaria, tanto para la adquisición de contenidos matemáticos como de procesos propios de Pensamiento Matemático Avanzado (abstracción, generalización y formulación y validación de hipótesis) (BaezaAlba, Claros-Mellado y Sánchez-Campaña, 2016; Ferrer, 2011) o para la mejora de la afectividad de los estudiantes hacia las matemáticas (Jorge-Pozo, Jiménez-Gestal y Murillo, 2017). 1. DESCRIPCIÓN DEL RECURSO A continuación, vamos a tratar de describir brevemente el entorno desde una perspectiva didáctica, relacionando lo que se puede hacer con posibles condicionantes. Como hemos dicho, BlocksCAD permite modelar cuerpos en 3D mediante la utilización de bloques que tienen su correspondencia directa con instrucciones textuales en OpenSCAD. La ventaja de emplear estos bloques visuales es que no se pueden cometer errores de sintaxis. Es decir, no hay que estar pendiente de si falta un paréntesis, o los parámetros se introducen separados por comas en lugar de por punto y coma. Así, es posible que el programa final no haga lo que se pretendía, pero por lo menos funciona siempre. Por este motivo, a pesar de que los programadores experimentados perciban estos entornos como menos potentes y capaces, su transparencia y facilidad de uso permite que el alumnado los emplee directamente (Weintrop y Wilensky, 2015). Versión post-print para uso personal. Cítese como: Beltrán-Pellicer, P., Rodríguez-Jaso, C., & Muñoz-Escolano, J. M. (2020). Introduciendo BlocksCAD como recurso didáctico en matemáticas. Suma, 93, 39-48. Los diferentes bloques se agrupan en las siguientes categorías: primitivas (3D y 2D), operaciones con conjuntos, transformaciones geométricas, operaciones matemáticas, lógicas, algorítmicas y herramientas de texto. Nos referiremos a ellos con sus nombres originales en inglés, aunque desde la versión 1.8.3 ya hay una versión traducida al español. Esto nos permitirá distinguir claramente en el presente artículo entre las primitivas, modelos y procedimientos de BlocksCAD y los correspondientes cuerpos en el espacio. Primitivas (3D shapes, 2D shapes) En primer lugar, hay una serie de bloques 3D básicos, que denominaremos primitivas, con los que se pueden modelar cuerpos simples. Son cube, cylinder, sphere y torus. El término cubo designa en geometría un caso concreto de prisma; es decir, un prisma cuadrado y de altura igual al lado de la base. Sin embargo, en BlocksCAD con la primitiva cube se modela un prisma rectangular de dimensiones arbitrarias (Figura 1). Observaremos que, además de especificar las dimensiones en milímetros, se puede elegir entre modelarlo centrado (con centro en el origen de coordenadas) o no centrado (con un vértice en el origen, de manera que el modelo se extiende en la dirección positiva de cada eje). Figura 1. cube(10,10,10) para modelar un cubo de 10 mm de arista. Podríamos sentirnos tentados de emplear primitivas con nombres acordes a los cuerpos geométricos que representan. Aunque siempre es posible cambiar el nombre de cada primitiva por otros más acordes con la definición de referencia (como prisma), esto es algo que repercutiría sobre la reusabilidad de modelos y funciones realizados por otros usuarios, lo cual es uno de los alicientes del entorno. Además, el hecho de que el significado de cube sea diferente al de la palabra cubo que se emplea en geometría, es una ocasión para profundizar en el aula en las propiedades que definen a cubos y prismas. Por Versión post-print para uso personal. Cítese como: Beltrán-Pellicer, P., Rodríguez-Jaso, C., & Muñoz-Escolano, J. M. (2020). Introduciendo BlocksCAD como recurso didáctico en matemáticas. Suma, 93, 39-48. otro lado, BlocksCAD no es el único contexto en el cual la palabra cubo presenta otro significado, ya que en un huerto ese término se utiliza para designar a un recipiente, cuya forma además no suele ser cúbica. Las experiencias que hemos realizado con alumnos muestran que esta posible preocupación por la terminología apenas sale a la luz más allá de la primera vez que se utilizan estas primitivas, resultando en una mera convención pragmática. En la primitiva cylinder observamos que tiene más parámetros de los necesarios para especificar un cilindro. Además del radio y la altura, aparece un segundo radio, un candado y la posibilidad de centrar o no el modelo. Si el candado está cerrado, ambos radios serán iguales, mientras que si el candado está abierto podremos especificar el radio de la base inferior (radius1) y el radio de la base superior (radius2) por separado. Con esto se consigue modelar un tronco de cono y, si uno de los radios es nulo, un cono. Tanto en la opción centrado como no centrado, el centro de los círculos que forman las bases pertenece al eje Z. Si lo centramos, la altura se reparte a partes iguales entre el semieje Z positivo y el semieje Z negativo, mientras que en el caso no centrado la altura se extiende solo a lo largo del semieje positivo. Las otras primitivas 3D son sphere y torus, que permiten modelar una esfera y un toro, respectivamente. Figura 2. sphere(10) para modelar una esfera de radio 10 mm y . torus(4,1,8,16) para modelar un toro de 8 lados y 16 caras. Finalmente, en BlocksCAD nos encontramos con circle y square. La mayoría de las transformaciones y operaciones que describiremos a continuación pueden usarse también sobre ellas. Estas primitivas en 2D resultan de utilidad, por ejemplo, para modelar cuerpos 3D a partir de la extrusión de la forma 2D a lo largo de un eje o camino determinado. Versión post-print para uso personal. Cítese como: Beltrán-Pellicer, P., Rodríguez-Jaso, C., & Muñoz-Escolano, J. M. (2020). Introduciendo BlocksCAD como recurso didáctico en matemáticas. Suma, 93, 39-48. Extrusión es un término del ámbito de la tecnología que hace referencia a la acción y al proceso de extruir; esto es, crear objetos que tengan una sección transversal definida y constante. Un ejemplo cotidiano es la máquina de hacer churros, donde se introduce la masa y, posteriormente, se le obliga a pasar por un orificio con una forma establecida, creando un cuerpo con esa sección constante. En los programas de modelado 3D, cuando se extruye una forma 2D a lo largo de un eje, se obtiene un cuerpo (el modelo de un cuerpo) con esa misma sección. Operaciones con conjuntos (set ops) Dentro de la categoría de operaciones con conjuntos nos encontramos la unión (union), intersección (intersection), diferencia (difference) y el operador hull que comentaremos al final. Todas ellas actúan como operadores sobre objetos creados ya con anterioridad, considerando que las primitivas crean cuerpos macizos. En el caso de las tres primeras se obtiene un nuevo conjunto de puntos en el espacio, que conforma un nuevo objeto resultante de aplicar el operador sobre una serie de objetos preexistentes, respectivamente: • Union: todos los puntos que están en alguno de los objetos. • Intersection: los puntos que están en todos los objetos. • Difference: crea un nuevo objeto compuesto por todos los puntos que están en el primer objeto y no están en los demás. De esta forma, las operaciones con conjuntos y las primitivas 3D permiten modelar diferentes cuerpos: prismas rectangulares, cilindros, conos, esferas, esferas con agujeros con forma de prisma rectangular, etc. Sin embargo, llegados a este punto el lector posiblemente se pregunte cómo modelar otros cuerpos tan elementales como prismas rectos que no sean rectangulares, o cómo hacer pirámides. Una primera respuesta la encontramos en la operación hull, y otras, en el bloque de transformaciones. El operador hull (que en la versión traducida se denomina envoltura convexa) genera el cuerpo convexo mínimo que incluye a los objetos que lo componen. En la Figura 3 se muestra un ejemplo en el que se modela un cubo a partir de sus 8 vértices, los cuales se modelan como pequeñas esferas. Y aquí es conveniente detenerse para remarcar que estamos ante un software de modelado. Como ya se ha mencionado, por un lado, resulta evidente que las esferas que modelan puntos no aparecen como esferas ideales a nuestros Versión post-print para uso personal. Cítese como: Beltrán-Pellicer, P., Rodríguez-Jaso, C., & Muñoz-Escolano, J. M. (2020). Introduciendo BlocksCAD como recurso didáctico en matemáticas. Suma, 93, 39-48. ojos, sino que es posible apreciar el mallado poligonal. Por otro lado, el propósito principal de este software es el de generar modelos para, posteriormente, ser impresos en 3D. Es decir, que una vez se tiene el mallado que representa el modelo, el proceso de fabricación del objeto tiene que pasar por otro software, que en la jerga se conoce como de fileteado (slicing), el cual convierte el modelo en instrucciones que pueden ser entendidas por una máquina de impresión 3D (movimientos de motores, posiciones, extrusiones de plástico, temperaturas, etc.). Algunos ejemplos de este software son Slicer o Cura, y como parámetros de fabricación incluyen otros aspectos, como el porcentaje de relleno (para ahorrar plástico, el interior de estos objetos no es completamente sólido, sino que es una retícula parametrizada según los requerimientos mecánicos de la pieza). La fabricación finaliza con la impresión 3D del modelo, que pasa a convertirse en un cuerpo físico. Por todo esto, realmente, para los propósitos de trabajo con impresoras 3D, no importa si modelamos los puntos como esferas o como cubos. Basta con que estos objetos sean lo suficientemente pequeños como para que la curvatura al realizar el hull sea indistinguible del borde físico que se imprimiría. Estrictamente, conviene observar que en ninguno de los dos casos estaríamos ante un cubo. No obstante, esto se podría conseguir si se modelan los puntos con cubos, calculando las coordenadas de cada uno de ellos para que la envoltura resultante fuera cúbica. Figura 3. Envoltura convexa o hull de los vértices de un cubo, modelados como spheres de radio 0,5 mm (izquierda y centro) y radio 0,01 mm (derecha). De todas maneras, para un cuerpo tan elemental como el cubo ya hay una primitiva que lo modela perfectamente. Sin embargo, la actividad que consistiría en modelar un cubo de esta forma (u otros cuerpos en el espacio) exige calcular de forma previa las Versión post-print para uso personal. Cítese como: Beltrán-Pellicer, P., Rodríguez-Jaso, C., & Muñoz-Escolano, J. M. (2020). Introduciendo BlocksCAD como recurso didáctico en matemáticas. Suma, 93, 39-48. coordenadas de los vértices, lo que conlleva otra forma de abordar el modelado de la pieza, distinta al uso de otras primitivas y operadores. De esta forma, el conocimiento matemático puesto en juego es diferente. Módulos En el modelado del cubo que se mostraba en la Figura 3 se ha hecho uso de un módulo (que hemos denominado point at) que generaba una esfera de un radio parametrizable en unas coordenadas determinadas. Los módulos evitan tener que repetir una serie de bloques que se va a utilizar una y otra vez, encapsulándolos en un bloque específico que puede tener parámetros de entrada y devolver resultados en forma de variables o generar un modelo. Desde la perspectiva del profesor que quiere trabajar un contenido concreto, los módulos permiten proporcionar bloques de código ya hechos para ser utilizados por el alumnado. Por ejemplo, se puede preparar un módulo para hacer una pirámide regular, cuyos parámetros de entrada sean el número de lados de la base, la longitud del lado y la altura. Transformaciones Aquí encontraremos bloques para hacer traslaciones, rotaciones, simetrías, escalados, escalados a lo largo de un eje y cambios de color. A estas transformaciones hemos de añadir extrusiones lineales o rotacionales y la elección del número de lados. Nos centraremos en estas dos últimas, ya que las primeras son autodescriptivas. Una extrusión, en este contexto, permite modelar objetos con sección transversal definida y fija a lo largo de una línea (extrusión lineal) o en torno a un eje (extrusión rotacional). Se usará, por ejemplo, si se pretende modelar una pieza a partir de su planta. De esta manera, se dibuja en 2D la planta y luego se extruye. Por otro lado, el bloque sides es esencial para poder aumentar el rango de cuerpos que se pueden modelar con las primitivas. Si aplicamos el bloque sides a un cilindro, este cilindro ideal pasará a ser modelado por un prisma poligonal inscrito con el número de lados que especifique sides. La Figura 4 muestra, a modo de ejemplo, cómo obtener un prisma hexagonal. Versión post-print para uso personal. Cítese como: Beltrán-Pellicer, P., Rodríguez-Jaso, C., & Muñoz-Escolano, J. M. (2020). Introduciendo BlocksCAD como recurso didáctico en matemáticas. Suma, 93, 39-48. Figura 4. Modelado de un prisma recto hexagonal aplicando la transformación sides(6) sobre un cylinder. Matemáticas, lógica, variables y bucles Cuando resulta necesario realizar cálculos para establecer medidas, parámetros de traslaciones, etc., recurriremos a los bloques que proporciona la categoría math, donde se incluyen operaciones aritméticas, funciones trigonométricas y generadores de números aleatorios. Los resultados de estas operaciones pueden introducirse directamente en los parámetros de las primitivas 3D o de las transformaciones o, por otro lado, asignarse a variables que luego pueden ser utilizadas para diferentes propósitos. La categoría loops permite introducir bucles en los algoritmos, que pueden ser recursivos, mientras que la categoría logic completa la paleta de instrucciones que se pueden añadir a los algoritmos. 2. OBJETIVOS DE APRENDIZAJE Y RELACIÓN CON EL CURRÍCULO Esta forma de modelar cuerpos en el espacio conecta el pensamiento computacional (Wing, 2006) con la visualización y el conocimiento de propiedades de cuerpos y transformaciones en el espacio, así como con las operaciones conjuntistas. Dependiendo de lo que se quiera modelar y cómo, BlocksCAD también enlaza con la geometría analítica, ya que también permite definir trayectorias a partir de ecuaciones paramétricas. Estamos entonces ante un recurso con grandes posibilidades para la enseñanza y el aprendizaje de las matemáticas, con un enfoque muy competencial. Las tareas que se pueden proponer con BlocksCAD persiguen objetivos de aprendizaje que se pueden rastrear en los contenidos especificados en el currículo (MECD, 2015). Sin ir más lejos, en el bloque de procesos, métodos y actitudes en matemáticas, en todos los cursos de la ESO se alude a la utilización de medios tecnológicos para facilitar la comprensión de propiedades geométricas o funcionales y la realización de cálculos de tipo numérico, algebraico o estadístico. Versión post-print para uso personal. Cítese como: Beltrán-Pellicer, P., Rodríguez-Jaso, C., & Muñoz-Escolano, J. M. (2020). Introduciendo BlocksCAD como recurso didáctico en matemáticas. Suma, 93, 39-48. WING, J. M. (2006), «Computational thinking», Communications of the ACM, n.º 49(3), 33-35.