Un tensegrity[wikipedia; inglés] es una construcción que está en equilibrio gracias a partes elásticas que estabilizan cada componente con la particularidad de que si se deforma, intentará volver a su forma original o al menos a una forma en equilibrio.
Con unos cuantos palos y unas gomas se puede construir un tensegrity casero [video youtube] que se puede simplificar bastante. Yo he hecho una esfera con sólo seis aristas, no es nada difícil.
La versión del tensegrity [flash] que he liberado es un pequeño flash hecho para probar el nuevo Adobe Flash 9. Tras leer varios comentarios positivos a favor de ActionScript 3.0 (el lenguaje de programación de Flash), decidí programar algo sencillo que consumiera CPU como es este sistema de planetas o más bien átomos.
Cada círculo es atraído por los círculos lejanos y es repelido por los cercanos, así se consiguen estructuras muy estables, moléculas. Cuando dos círculos se repelen, dibujan una línea roja. Las líneas blancas representan la fuerza con la que son atraídos hacia los círculos lejanos. Todos los círculos interactúan con todos por lo que la complejidad del cálculo crece potencialmente para cada círculo que se añade a la escena.
Además hay pequeñas fuerzas en el recuadro que empujan los círculos hacia su centro.
Me ha desilusionado bastante que el IDE (entorno de programación) de Flash siga siendo tan arcaico. He recordado mis tiempos anteriores a Visual Studio en los que para llamar a métodos había que mirar en la ayuda y documentación, cosa que con el Intellisense ha quedado sólo para casos muy concretos. Es básicamente un cuadro de texto. El code-hint sigue siendo una broma.
El rendimiento no me ha sorprendido. Sigue siendo lento al redibujar cuando disparas el número de círculos. Si se necesita hacer un sistema más complejo habrá que irse a programación a más bajo nivel o a librerías capaces de aprovechar tarjetas gráficas.
lunes, 26 de mayo de 2008
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario