LOGO 3D: IDEAS Y FORMAS

LOGO 3D

Vivimos, al menos en lo que el universo de la imagen animada, la era 3 D. Es un buen momento para repasar la potencialidad de la tortuga Logo para describir cuerpos en 3 dimensiones en el plano de la pantalla. Para ello es menester contar con algunos comandos adicionales que “calculen” y desplacen a la tortuga según las reglas de la perspectiva. Este tipo de comandos están incluidos en el FMS LOGO una de las alternativas que disponemos los amantes del LOGO.

En FMS LOGO para switchear el entorno gráfico bidimensional al tridimensional, es necesario utilizar el comando PERSPECTIVA.

Supongamos que creamos un procedimiento CARA que dibuje un rectángulo con alto y ancho variables:

para cara :alto :ancho
repite 2 [av :alto gd 90 av :ancho gd 90]
fin

Si ejecutamos la orden cara 200 300 obtenemos el siguiente resultado (las letras fueron agregadas para identificar los vértices)

Pero si previamente activamos el comando PERSPECTIVA obtendremos el siguiente resultado:

PERSPECTIVA CARA 200 300

El mismo procedimiento provoca una imagen en perspectiva. En consecuencia vemos que los lados opuestos no son ahora del mismo tamaño ni son paralelos. El plano del rectángulo aparece ahora rebatido respecto al de la pantalla. El ojo del observador está sobre la línea BC ya que ésta se ve más larga que su paralela AD, ambas líneas determinan un punto de fuga hacia la izquierda de la pantalla. Por otra parte el lado CD está más cerca del ojo que el opuesto AB, ambas líneas determinan un 2º punto de fuga, abajo de la pantalla en este caso.

IDEAS Y FORMAS

El sistema tridimensional de la tortuga es un desarrollo del Ing. Horacio C. Reggini, quien publicó en 1985 sus ideas, proyectos y el código de los comandos en el libro IDEAS Y FORMAS. Comparto unos párrafos importantes y actuales de la introducción del Ing. Reggini,

Este libro invita al lector a participar activamente en el trabajo y papel del “constructor de formas”, llámase artista – pintor o escultor -, artesano – carpintero u herrero-, arquitecto o ingeniero, induciéndolo a una excursión intelectual en el campo de la creación y manejo de formas tridimensionales.

Su propósito es tender un puente entre las maneras tradicionales de descripción y representación de objetos tridimensionales, y las posibilidades que proporcionan para este mismo fin las computadoras modernas… Al enseñarle a la máquina a producir objetos tridimensionales, el lector obtiene un mayor discernimiento y una mayor comprensíon de la elegancia y la complejidad de las formas en el espacio.

La computadora es utilizada aquí en este sentido, como vehículo para la expresión humana, ya sea de naturaleza intelectual o artística, brindando la oportunidad al que la usa de experimentar la emoción y la alegría del acto creativo. Los conocimientos acerca de la modalidad Logo requeridos son mínimos y se refierne, sobre todo, a la capacidad de definir nuevas palabras o procedimientos. Las órdenes que hacen posible la realización de figuras tridimensionales son muy sencillas y se enseñan en forma progresiva.

La implementación en Logo de órdenes primitivas que permiten manejar a la tortuga en el espacio surgió de la idea de organizar un microcosmos en donde el conocimiento del espacio y la realización de figuras espaciales fuera parte de un proceso natural y egosintónico. Por medio de estas órdenes, es posible dibujar objetos tridimensionales en la pantalla de la computadora de una manera simple. Las imágenes se forman y ensamblan por el movimiento de la tortuga en un espacio de tres dimensiones; la representación en el plano de la pantalla de esas imágenes – a través de una perspectiva cónica central – queda a cargo del sistema.

Una de las ideas poderosas que sirven de punto de partida a la realización de gráficos con la tortuga Logo es la idea de sintonicidad corporal. Esta idea de sintonicidad corporal – de importancia educativa – permita apoyarse en el conocimiento corporal para describir cualquier objeto. Así, para la realización del dibujo de un objeto espacial, no es necesario conocer las leyes de la representación, sino solamente los movimientos que deberían hacerse para describirlo. Dicho de otra manera, la descripción de la sucesión de los movimientos produce en la pantalla el dibujo.

Además, la incorporación de una dimensión espacial al microcosmos de la tortuga implica un salto cualitativo importante en la concepción de la tortuga como “objeto con el cual pensar”, ya que sus movimientos, al no estar limitados solo a los desplazamientos y giros sobre una superficie plana, alcanzan una complejidad mayor y, al mismo tiempo, un acercamiento más real a los verdaderos movimientos corporales.

LA REALIDAD NO ES LO QUE SE VE

Me parece importante resaltar que en el sistema LOGO 3D se debe describir el objeto con sus propiedades geométricas, sus longitudes y ángulos. Es decir el objeto como es, no como se lo vería según alguna ley de perspectiva que, en el caso del sistema diseñado por el Ing, Reggini, es una perspectiva cónica. La representación de cómo se vería el objeto es un trabajo de los comandos tridimensionales.

No es algo menor esta confrontación cognitiva entre lo que es y lo que se ve. Claro que no se hace falta una computadora para generar tal confrontación. Pidamos a un alumno de 12 años que observe el vértice que forma el techo del aula con las 2 paredes concurrentes. Preguntemos cuál es el ángulo que forman un par de aristas. Todos afirmarán que son ángulos de 90º. Pidámosle a continuación que dibujen las aristas en un pizarrón. Es significativo y a veces gracioso ver sus infructuosos intentos por solucionar el problema utilizando ángulos de 90º. La paradoja es que en la realidad tridimensional difícilmente nuestros ojos vean un ángulo de 90º, sin embargo el cerebro afirma que son de 90º. Así en una clásica gráfica de los 3 ejes ortogonales ninguno de los ángulos se ve como un ángulo recto.

VOLAR O NAVEGAR EN EL ESPACIO 3D

En el mismo libro el Ing. Reggini reformula la imagen mental de la tortuga: “En lugar del clásico triángulo que esquematizaba a la tortuga bidimensional, es necesario imaginar ahora una forma cualquiera adecuada para la tortuga tridimensional, por ejemplo”:

La tortuga 3d o un avioncito de papel

Aunque parecen avioncitos de papel, los comandos tridimensionales que se agregaron son términos marineros: Rolar y Cabecear. Trataré de explicarlos en este sencillo vídeo onde reduciré el principio de egosintonicidad corporal al movimiento de la mano. (Los logueros solemos utilizar la mano para representar los movimientos de la tortuga).

En definitiva los comandos principales de la tortuga tridimensional son: Los ya conocidos comandos de traslación y rotación en el plano

AV N (Avanza N pasos)

RE N (Retrocede N pasos)

GD A (Gira derecha Aº )

GI A (Gira izquierda Aº )

A los que se agregan

BALANCEADERECHA A o RIGHTROLL A (Rola a la derecha Aº)

BALANCEAIZQUIERDA A o LEFTROLL A (Rola a la izquierda Aº)

BAJANARIZ A o DOWNPITCH A (Cabecea hacia abajo Aº)

CABECEA A o UPPITCH A (Cabecea hacia arriba Aº)

Donde Aº son siempre grados sexagesimales y N son pasos de tortuga.

PERSPECTIVA (Instala el espacio tridimensional)

MODOVUELTA (Instala el espacio bidimensional)

Hay otros comandos tridimensionales, por ejemplo los relacionados con el posicionamiento cartesiano, pero no serán utilizados en esta entrada.

GENERACIÓN DE UN PRISMA

Trabajaremos en esta sección con la graficación 3d de prismas regulares (caras iguales) y ortogonales (Caras perpendiculares a las bases).

para cara :alto :ancho
repite 2 [av :alto gd 90 av :ancho gd 90]
fin

para desarrolloprisma :caras :alto :ancho
repite :caras [cara :alto :ancho gd 90 av :ancho gi 90]
fin

El comando desarrolloprisma 6 250 80 da como resultado

Si pasamos al entorno tridimensional: PERSPECTIVA desarrolloprisma 6 250 80 obtenemos:

Para cerrar el prisma solo necesitaríamos rolar las caras. Veamos el vídeo, Para cerrar el prisma agregamos al procedimiento el comando rolar (utilizaré los mandos en inglés rightroll, leftroll, downpitch y uppitch)

El vídeo se ve tal como se ve en tiempo real en FMS LOGO. Fue generado guardando como BMP cada una de las 115 figuras ( 18 + 18 + 20 + 30 + 20 +9) generadas por el procedimiento animacion1. Los BMP fueron luego importados a un generador de vídeo (Movie Maker por ejemplo). Esta técnica de animación recibe el nombre de top motion. Para generar estos “cuadros” se modifica el procedimiento animacion1 intercalando después de la graficación del prisma un procedimiento que llamé savepris, cuya función es guardar el gráfico generado como un archivo de imagen bmp. para animacion1 (Se agrega el procedimiento savepris que guarda cada imagen generada como archivo bmp)

para ANIMACIONPRISMA
bp sl re 100 bl
make “n 1
repite 18[limpia prisma 20 140 50 av 10 savepris espera 5 downpitch -20 leftroll -5]
repite 18[limpia prisma 20 140 50 savepris espera 5 uppitch azar 10 leftroll -5]
repite 20[limpia prisma 20 140 50 savepris espera 5 sl uppitch 5 re 30 bl ]
repite 30[limpia prisma 20 140 50 savepris espera 5 sl downpitch 5 av 30 bl ]
repite 20[limpia prisma 20 140 50 savepris espera 5 sl re 100 bl ]
repite 9[limpia prisma 20 140 50 savepris espera 5 gd 10 bl ]
fin

para savepris

guardadib (palabra “pris :n “.bmp)
make “n :n + 1
fin

Todas las animaciones de esta entrada están hechas con la misma técnica con el único propósito de que puedan ser vistas por los lectores. Pero vuelvo a repetir que se ven casi igual que la ejecución del procedimiento Logo que generó los cuadros. La diferencia claro está radica en que el procedimiento puede generar infinitas animaciones por cambio de los parámetros y que ocupa unos pocos bytes, a diferencia de AVIS o WMV que una vez definidos no se pueden modificar y ocupan varios Mb.

ASPAS: GENERANDO HÉLICES

Consideremos un sencillo programa 3d:

ANIMACIÓN DE UN SOLIDO

Aplicando la técnica de animación y definiendo el procedimiento ANIMASOLIDO1 50 45. Este es un programa recursivo donde en cada ciclo la tortuga gira 10º y el valor de :alfa aumenta en 5º.PARA ANIMASOLIDO1 :NUM :ALFA (:num = cantidad de generatrices)
SOLIDO1 :NUM :ALFA
ESPERA 5
SI :ALFA > 300 [ALTO]
LIMPIA
GD 10
ANIMASOLIDO1 :NUM :ALFA + 5
FIN

PEQUEÑAS DIFERENCIAS – GRANDES CONSECUENCIAS

Apliquemos al procedimiento GENERATRIZ1 un pequeño cambio de manera que no sea transparente (Estado final <> Estado inicial). Por ejemplo que el último giro no sea :ALFA sino un 95% de :ALFA.

para GENERATRIZ1 :ALFA
GD :ALFA AV 100 GI 90 AV 150 GD 135 AV 120 GI 100 AV 150
RE 150 GD 100 RE 120 GI 135 RE 150 GD 90 RE 100 GI :ALFA * 0.95
fin

La animación resultante será inesperadamente muy diferente y quizás mucho más interesante.

PIRÁMIDES: ADMINISTRACIÓN DE CONOCIMIENTOS

… una mente no puede en realidad crecer demasiado mediante la mera acumulación de conocimientos. Debe también desarrollar mejores formas de utilizar lo que ya sabe. Este principio merece una denominación. Principio de Papert: Algunos de los avances más cruciales en el desarrollo mental se basan, no en la simple adquisición de nuevas destrezas, sino en la adquisición de nuevas formas administrativas de utilizar lo que uno ya sabe.

La Sociedad de la Mente de Marvin Misky

Es posible, aunque en estos días sería algo utópico, utilizar la graficación con Logo para “enseñar” contenidos matemáticos o más específicamente geométricos. Aunque no lo he explicitado, confío en que el lector haya imaginado aunque sea en parte la gran diversidad de contenidos geométricos y matemáticos incluidos en los trabajos de programación que he expuesto en esta entrada. Pero mi valoración del Logo no pasa tanto por enseñar nuevos contenidos matemáticos, sino en la posibilidad de administrar los conocimientos previos y potenciarlos en la resolución de problemas y en la producción de soluciones. La tortuga sería en este caso una prolongación de mi mente, un medio con el cual mis conocimientos se proyectarían en la resolución del problema y devolverían un placer por la búsqueda y la conquista del mismo.

Proyecto en esta valoración mi propia experiencia, cuando por primera vez programé un círculo y veía en mi mente los diferenciales de la curvatura en cada paso de la tortuga. Percibía algo que ya me era familiar y que me ayudaba a estructurar la imagen sensible que la tortuga formaba en la pantalla. Este conocimiento previo es tanto más importante en la graficación tridimensional porque la representación mental de la forma espacial es más compleja, tanto como la posibilidad de sintonizar a la tortuga en su posición y orientación. Por otra parte la programación implica en cierta forma que el programador es el maestro de la tortuga y por lo tanto no se puede programar (enseñar) lo que no se sabe. La resolución de una pirámide (regular) es de mayor complejidad que la de un prisma (regular), aunque el prisma es una pirámide de altura infinita, esta propiedad hace que las caras del prisma sean paralelas y en los casos que hemos mostrado (prismas ortogonales) las caras son también perpendiculares a la base.

Otro problema es determinar las variables que necesitan ser determinadas para que la pirámide quede definida. En nuestro caso determinaremos 3 variables: la cantidad de lados de la base ) o caras dela pirámide), el tamaño del lado de la base y la altura de la pirámide.

SEGMENTOS DETERMINADOS

OC = Altura de la pirámide (:h)

AB= Lado de la base (:l)

SEGMENTOS A CALCULAR

AO = BO = Lado de la cara (:gz)

OM = Altura de la cara (:hcara)

CM = Apotema de la base (:apo)

AC = BC = Radio de la base (:ra)

ÁNGULOS A DETERMINAR

OMC = Ángulo que forma la cara con la base (:pitch)

A = B = Ángulo de la cara (triángulo equilátero AOB)

C = Ángulo del vértice de la cara

A`= Complemento de A

B` = Complemento de B

O” = Suplemento de O

ALFAINT = Ángulo interno del polígono de la base

ALFAEXT = Ángulo externo del polígono de la base (El que gira la tortuga para crear la base)

para piramide :n :h :l
perspectiva
make “alfaext 360/:n
make “alfaint 180 – :alfaext
make “alfaradio :alfaint/2

make “apo (tan :alfaradio) * :l / 2
make “hc raizcuadrada (:h*:h + :apo*:apo)
MAKE “gz RAIZCUADRADA (:hc*:hc + :l*:l/4)
make “alfapit arctan :h/:apo
make “betagd 90 – arctan :hc*2/:l

DOWNPITCH 90
BASEPI :n :l

REPITE :n [gd :alfaint – 90
uppitch :alfapit
gd :betagd
av :gz
gd 180 – 2*:betagd
av :gz
GD 90 + :BETAGD
AV :L rightroll :alfapit
gd :alfaext av :l
gd :alfaext]
fin

para basepi :n :l
repite :n [av :l gd :alfaext]
fin

ANIMACIÓN: CORONACIÓN PIRAMIDAL

para openfaces :n :h :l :apertura

si :apertura > 480 [alto]
bp
piramidopen :n :h :l :apertura
espera 5
openfaces :n :h :l :apertura+ 5
fin

para piramideopen :n :h :l :apertura

perspectiva
make “alfaext 360/:n
make “alfaint 180 – :alfaext
make “alfaradio :alfaint/2

make “apo (tan :alfaradio) * :l / 2
make “hc raizcuadrada (:h*:h + :apo*:apo)
MAKE “gz RAIZCUADRADA (:hc*:hc + :l*:l/4)
make “alfapit arctan :h/:apo
make “betagd 90 – arctan :hc*2/:l

DOWNPITCH 90
BASEPI :n :l

REPITE :n [gd :alfaint – 90
uppitch :alfapit
gd :betagd
av :gz
gd 180 – 2*:betagd
av :gz
GD 90 + :BETAGD
AV :L rightroll :apertura
gd :alfaext av :l
gd :alfaext]
fin

Openfaces 8 240 90 0

LAS MASTABAS

Claro que más sencillo sería resolver un caso particular de pirámide, la mastaba maya, una pirámide escalonada que podemos pensar como una sucesión de prismas escalonados que se van reduciendo en forma seriada.

para cara :a :b
repite 2 [av :a gd 90 av :b gd 90]
gd 90 av :b gi 90
fin

para prisma :a :b

repite 4 [cara :a :b rightroll 90]

fin

para pira :placas :a :b
si :placas < 1 [alto]
prisma :a :b
av :a
gd 90
sl av :dismi * :b ; (:dismi es la mitad de la variación porcentual entre placa y placa)
gi 90
downpitch 90
av :dismi * :b
uppitch 90
bl
pira :placas – 1 :a :b*:serie (:serie es la variación porcentual entre placa y placa. La placa superior es :serie * tamaño de la placa inferior)
fin

para mastaba :placas :a :b :por

make “serie :por
make “dismi (1 – :por) / 2
pira :placas :a :b
fin

bp sl re 320 bl leftroll -90

mastaba 25 20 400 0.9 (grafica una mastaba de 25v placas de 20 de alto y 400 de alto con una variación porcentual de 0.9 entre placa y placa)

Si reducimos la variación porcentual a 0.7 obtenemos:

mastaba 25 20 400 0.7

Si aplicamos una variación porcentual de 0.98 el resultado es

mastaba 25 20 400 0.98

FIGURACIÓN 3D

Prismas, pirámides, sólidos de revolución, todo un universo geométrico tridimensional se abre a la navegación de nuestra querida y vieja tortuga Logo, y desafía nuestra mente y nuestros conocimientos. Las aplicaciones en el mundo de la escuela son inmensas. Los conceptos geométricos, matemáticos, relacionales, físicos, computacionales, contenidos en estas propuestas son variados, intensos y ricos en bifurcaciones. Proyectos más figurativos pueden encararse en un contexto adecuado. Como muestra presento algunos ejemplos incluidos en ese libro fundacional que fue Ideas y Formas.

En el trabajo con Logo la tortuga da forma a las ideas y las formas generan nuevas ideas. Esta definición es mucho más que un juego de palabras. Para entenderlo solo hay que empezar a navegar por el espacio.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s