PhysicsJS es una biblioteca aún en etapa alpha, pero ya se ve impresionante. Basta verla en acción para que se le antoje a uno escribir una aplicación usando esta biblioteca de funciones. Y no sólo es divertido, sino que además, es fácil hacer esto. Los motores de software para simulación física siempre son divertidos. Se colocan algunos parámetros y rápidamente se tiene una animación convincente con el mundo real, prácticamente de inmediato. Se tienen pues recompensas casi sin esforzarse.

¿Quieres poner una pelota a rebotar? fácil. ¿quieres que gire y rote como una pelota con spin (giro), no hay problemas. Es sensacional para juegos, presentaciones y cosas serias como las que en muchas situaciones se estudian en física, incluyendo simulaciones del mundo real. Cabe sin embargo, decir que todos estos motores de simulación se acercan a lo que pasa en las leyes de la física, aunque en ocasiones no es 100% preciso.

PhysicsJS no es el único motor de física en Javascript, pero probablemente es de los pocos que se escribió en Javascript y no se portó de C++ u otro lenguaje. Lo que significa es que el API está orientado a Javascript y que no son funciones o llamadas a un API basado en objetos. Si eres un programador de Javascript, esta herramienta puede ser la diferencia entre una simulación adecuada o mala. Además, se puede extender el código para que el sistema haga exactamente lo que queremos.

La versión actual es la alpha 0.5.1, y es modular. Sólo hay que cargar 31 KBytes de la biblioteca del núcleo. Puede dar los resultados de los cálculos en DOM, Canvas o en la forma que se quieran usar. No sólo soporta las formas simples, círculos y cuadrados, sino que puede extenderse a polígonos convexos. Esto hace la creación de cuerpos complejos una labor mucho más sencilla. Tiene extensiones para trabajar con gravedad constante, por ejemplo, cuerpos que caen, cuerpos en el espacio, etcétera.

Las posibilidades pueden verse en las demostraciones, que empiezan con las pelotas que rebotan o que se mueven en ciertas órbitas planetarias. Hay colisiones e incluso hay un demostración de una tela que se jala y termina con la simulación de un par de árboles que pierden sus hojas cuando se les molesta.

Lo mejor es que la biblioteca es de código abierto (Licencia MIT), y si piensas que ésta es una buena idea, se puede ayudar a su autor, “wellcaffeinated”, Jasper Palfree, quien agradecerá cualquier colaboración a su proyecto. Éste es un nuevo proyecto que empezó el 10 de septiembre y que podría sin duda crecer.

Referencias:

PhysicsJS