2010-09-13 14 views
14

Estoy buscando un motor de física Java liviano y puro para hacer algunas simulaciones para el control de movimiento robótico.Open source, biblioteca pura de física/dinámica de Java

Mis requisitos:

  • física de cuerpos rígidos
  • limitaciones y las fuerzas conjuntas
  • convexo detección de objetos colisión
  • Ligera Java, pura para que pueda ser incrustado en mi solicitud
  • Capacidad para ejecutar simulaciones rápidamente
  • Mangos 50-100 objetos cómodamente
  • de código abierto

vez de reinventar la rueda, se puede recomendar ninguna bibliotecas existentes que se ajusten a la ley?

p.s. Ya busqué en Google: ¡estoy ansioso por obtener opiniones honestas de personas que ya han usado o implementado tales cosas!

+1

Ha pasado mucho tiempo desde que utilicé las bibliotecas de física, así que no he usado las últimas. ¿JBullet no hace la mayor parte de esto? http://jbullet.advel.cz/ –

+0

Sí, se ve bastante bien, probablemente sea el candidato principal en este momento a menos que alguien tenga mejores ideas. – mikera

+0

Ahora hay un software de recomendaciones SE: http://softwarerecs.stackexchange.com/ – Trilarion

Respuesta

9

He usado JBullet y JBox2D. Ambas son buenas bibliotecas. JBox2D se está cambiando de forma más activa, pero JBullet tiene una base ligeramente mayor.

Solo por diversión, estaba tratando de simular un viejo problema de física recientemente, para el cual publiqué los resultados here.

+0

¡Gracias por los consejos! ¿Hubo alguna gran diferencia entre JBullet y JBox2D en términos de enfoque, capacidades o rendimiento? – mikera

+0

También parece que JBox2D es 2D solo ... puede descartarlo para algunas de mis aplicaciones – mikera

+0

Hmmm, acabo de encontrar que JBox2D es más fácil de trabajar, pero eso fue probablemente porque el problema exacto con el que estaba trabajando era más alineado a uno de los ejemplos de JBox2D. Pero sí, JBox2D es solo 2D, y eso puede ser un factor limitante. Btw, encontré el rendimiento de JBox2D * muy * bueno - usando con 100 objetos, etc. Una comparación de JBox2D con un motor diferente (Phys2D) se puede encontrar aquí: http://ciardhubh.de/node/15. Ese artículo menciona a https://jmephysics.dev.java.net/ como candidato a motor 3D, pero no he trabajado con él. –

2

También usaría JBullet, aunque han pasado un par de años desde la última vez que trabajé con él.