Bolas y muelles

Una gran parte de las simulaciones  físicas que aparece en videojuegos o animaciones, se basa en la ley de Hook, o dicho de forma más coloquial: muelles.

Con dos simples elementos, se pueden hacer cosas muy interesantes. Por un lado necesitamos los citados muelles y por otro algo a lo que agarrarlos, a lo que yo he llamado bolas, aunque no sé si con mucho acierto. Las bolas se conectan entre sí con muelles para formar las estructuras que queramos y el resultado son formas que se comportan de manera elástica.

He hecho tres ejemplos:

  • Un cuadrado: simplemente para ver cómo una estructura geométrica cerrada y libre, se comporta al rebotar contra la pared o el suelo.
  • Una tela: al conectar una rejilla de bolas entre sí, y dejándola suspendida por algunos puntos, se consigue un efecto parecido a un tejido. Por supuesto, el resultado está lejos de ser creíble, pero es un comienzo.
  • Cuerdas: igual que la tela, podemos hacer cuerdas, aunque más bien son gomas elásticas. Se puede apreciar incluso cierta transmisión de ondas si se les hace una pequeña perturbación.

Con el ratón o con el dedo, puedes mover las bolas. En realidad, en la tela y las cuerdas, no se ven las bolas, pero están ahí.

Ver simulación

La manera en la que funciona esto es, haciendo un barrido de todos los muelles para calcular las fuerzas entre las bolas que unen. Una vez que se han calculado todas las fuerzas involucradas en el sistema, se actualizan las velocidades y las posiciones. Por simplicidad, he considerado que todas las bolas tienen la misma masa, igual a 1, aunque esto no dice mucho porque las unidades utilizadas son arbitrarias.

Para hacer figuras como el cuadrado pero más rígidos, hay que abandonar la idea de los muelles, y enfocar el problema de alguna otra forma. Aumentar la constante elástica, debería funcionar en teoría, pero en la práctica se producen valores muy grandes de restitución, que fastidian la simulación. Hay que recordar que estoy usando el método de Euler, que es muy fácil de implementar, pero con muchas limitaciones.