3. Cinderella.2: Base teórica

No vamos a hacer aquí un completo estudio de todas las características de Cinderella.2. La versión completa del manual de más de 400 páginas se encarga de ello. Pero sí vamos a presentar, tomado del manual, las bases matemáticas más importantes que tienen implicaciones en la construcción de mecanismos articulados y la generación de curvas por parte de dichos mecanismos que son las que nos decidieron por la utilización de Cinderella.2 para este trabajo.

Según los autores, un SGD debe cumplir una serie de condiciones:

  • debe ser fácil de usar
  • el usuario no puede ser distraído por comportamientos inesperados del programa
  • el usuario no debe ser atormentado por la necesidad de introducir datos innecesarios
  • los resultados obtenidos deben ser correctos

Sin embargo, ocurre muchas veces que estos condicionantes se convierten en algo difícil de conseguir debido, principalmente, a dos razones:

  • hay problemas que provienen de casos especiales que se dan incluso en una construcción estática
  • hay problemas que tienen una naturaleza genuinamente dinámica

Si nos fijamos en los problemas estáticos que dan lugar a casos especiales, podemos considerar multitud de situaciones: dos rectas puedes ser secantes o paralelas, dos circunferencias pueden tener dos, uno o ningún punto de intersección, ... Así, es difícil deducir un resultado correcto y razonable para estos casos especiales. Por ejemplo ¿cuál es la bisectriz entre dos paralelas? ¿No existe? ¿Puede ser una recta paralela a las dos iniciales? ¿será equidistante?

Estos problemas fueron estudiados desde hace mucho tiempo. Los geómetras del siglo XIX se ocuparon de ellos y los resolvieron en su mayoría. La clave fue extender la geometría euclídea incluyendo en el plano al infinito llegando a la geometría proyectiva y ampliar la estructura algebraica subyacente con los números complejos. Esto resuelve la mayoría de los problemas anteriormente expuestos.

Hacia 1870 estas ideas desembocaron en un sistema completo y consistente que explica perfectamente las propiedades de la geometría euclídea y las no euclídeas como la geometría hiperbólica. Hoy en día es conocida como la Geometría de Cayley-Klein. El fundamento matemático en la implementación de Cinderella.2 se basa en este modelo. Así se puede trabajar con casos especiales así como en geometrías euclídea, hiperbólica y elíptica.

Dibujos de Durero estudiando la perspectiva en un cubo. (Fuente: Underweysung der messung, mit den zirckel un richtscheyt, in Linien ebnen unnd gantzen corporen. Albrecht Dürer)

El primer paso y quizás el más importante para una disposición geométrica consistente es extender el plano euclídeo al infinito. En la frase 'dos rectas paralelas se cortan en el infinito' subyace la idea principal de la Geometría Proyectiva. Puede considerarse su origen histórico en los estudios sobre perspectiva de Alberto Durero (1471 - 1528) y Leonardo da Vinci (1452 - 1519). Su origen matemático se debe a Gaspard Monge (1746 - 1818), matemático francés que desarrolló el método de la geometría descriptiva que permite representar objetos tridimensionales sobre una superficie bidimensional. Existen distintos sistemas de representación en este sentido como la perspectiva cónica o el sistema de planos acotados pero, quizás, el más importante es el sistema diédrico desarrollado por Monge en 1799. Observó que muchas propiedades de configuraciones geométricas planas se podían inferir al considerar estas configuraciones como proyecciones de configuraciones en el espacio. El plano proyectivo incluye todos los puntos del plano eucídeo tradicional al que se le añade un punto infinito en todas las direcciones posibles. Las rectas del plano proyectivo incluyen las rectas del plano euclídeo más una recta en el infinito. El primero en formalizar el plano proyectivo fue Victor Poncelet (1788 - 1867), discípulo de Monge.

El plano euclídeo inmerso en el espacio proyectivo mediante el uso de coordenadas homogéneas. (Fuente: Wikipedia)

Dos rectas paralelas y una secante en Cinderella.2 en vista euclídea (arriba) y esférica (abajo). (Fuente: elaboración propia)

El incluir elementos del infinito elimina muchas situaciones especiales de la geometría euclídea clásica. En Cinderella.2 el plano euclídeo está inmerso en el plano proyectivo. Sin embargo, en un ordenador no podemos usar objetos geométricos como tales. Un punto o una recta debe ser representado mediante números, sus coordenadas. Generalmente, un punto se describe por dos coordenadas (x, y) y una recta por tres (a, b, c) que definen su ecuación ax + by + c = 0. Pero si queremos hacerlo mediante geometría proyectiva, esto no vale. Un par de coordenadas (x, y) definen un punto pero así no hay forma de representar los puntos del infinito. A mediados del siglo XIX se fue llegando a la solución de este problema, primero con las coordenadas baricéntricas de Möbius, pasando por el conjunto de coordenadas homogéneas de Plücker llegando al álgebra multilinear de Grassmann. Tomando las palabras de Julius Plücker acerca del sistema de coordenadas homogéneas:

'Ich habe bei den folgenden Entwicklungen nur die Absicht gehabt, an Beispielen zu zeigen, dass die neue Methode einerseits zum Beweise vorgelegter einzelner Sätze und zur Darstellung allgemeiner Theorien sich sehr geschmeidig zeigt, und dass sie andrerseits Resultate finden lehrt, wenn man sie aus allgemeinen analytischen Gesichtspunkten betrachtet'

lo que en román paladino viene a indicar lo propio que es el nuevo sistema de coordenadas homogéneas para demostrar teoremas y ayudar a obtener nuevos resultados.

El uso de coordenadas homogéneas unido al principio de continuidad de Poncelet que establece que 'si una figura deriva de otra mediante un cambio continuo, toda propiedad de la primera vale para la segunda', constituyen, entre otros, la base teórica subyacente en Cinderella.2. Vamos a ver un par de ejemplos concretos de aplicación en el programa de estas teorías.

Al realizar construcciones dinámicas, es deseable que haya un comportamiento continuo del programa en el sentido de que, al realizar un mínimo movimiento de un punto libre, los elementos dependientes de este punto realicen también mínimos movimientos. Esto puede comprobarse en el siguiente vídeo:

Este hecho va en contra del comportamiento continuo deseado en un SGD: pequeños movimientos no pueden producir saltos de este tipo. Además, de cara a la concatenación de movimientos en un sistema articulado, esto no es lo más deseable ya que otros movimientos pueden depender del movimiento de este punto. Cinderella.2 resuelve esta situación en base a una teoría que es capaz de prevenir saltos de este tipo. En el siguiente vídeo se puede comprobar:

Así, Cinderella.2 está programado en base a un algoritmo de continuidad que impide comportamientos inesperados en forma de saltos.

Además, Cinderella.2 está programado en base a números complejos lo que resulta muy útil de cara a construcciones en las que, gracias a los valores complejos, hay elementos que no desaparecen. Un ejemplo claro de esta situación es el de los puntos de corte de dos circunferencias. Estos pueden ser dos, uno o ninguno. En el siguiente vídeo se puede comprobar este efecto:

Encontrar los puntos de intersección de dos circunferencias implica resolver una ecuación cuadrática que, en los números reales, puede no tener solución. En este caso, las circunferencias no son secantes. Sin embargo, en los números complejos, siempre hay solución así que aunque gráficamente no haya intersección, las intersecciones siguen existiendo solo que con coordenadas complejas por lo que no se ven en el plano real. Además, las soluciones complejas de una ecuación cuadrática con coeficientes reales son conjugadas por lo que los puntos de intersección de dos circunferencias tienen coordenadas complejas conjugadas. Así, la recta que los une es real sin importar donde estén colocadas las circunferencias incluso si los puntos de intersección son complejos y, por lo tanto, invisibles. Al estar Cinderella.2 completamente implementado sobre números complejos, al mover las circunferencias de forma que ya no sean secantes, seguirá representando la recta de intersección. Esto se puede comprobar en el siguiente vídeo:

Esto es de esencial importancia a la hora de representar los loci de las construcciones mecánicas ya que las barras de un mecanismo articulado gemerado en un SGD suelen ser segmentos que unen intersecciones de circunferencias. Así Cinderella.2 permite que, aunque se llegue a una configuración degenerada del mecanismo articulado (circunferencias sin puntos de corte), la trayectoria sea perfectamente calculada y representada en su totalidad.

La misma construcción, un mecanismo de tres barras, realizada en Cinderella.2 (izquierda) y Geogebra (derecha). Se puede ver que Cinderella.2 genera completamente el locus mientras que Geogebra genera solo la mitad. (Fuente: elaboración propia)

Estas funcionalidades hacen de Cinderella.2 el SGD más adecuado para la construcción de los mecanismos articulados presentados en esta web.

Referencias:

Underweysung der messung, mit den zirckel un richtscheyt, in Linien ebnen unnd gantzen corporen. Albrecht Dürer

Géométrie Descriptive. Gaspard Monge

Traité des propriétés projectives des figures. J. V. Poncelet

Theorie der algebraischen Curven, gegründet auf eine neue Behandlungsweise der analytischen Geometrie von Julius Plücker

Foundations of Dynamic Geometry. Ulrich Kortenkamp

1. SISTEMAS DE GEOMETRÍA DINÁMICA

2. CINDERELLA.2: BREVE HISTORIA