2010-09-13 3 views
14

Je suis à la recherche d'un moteur de physique Java léger et pur pour faire quelques simulations pour le contrôle de mouvement robotique.Open source, pure bibliothèque de physique/dynamique Java

Mes besoins:

  • physique du corps rigide
  • contraintes et les forces conjointes
  • Convex détection de collision objet
  • Léger, Java pur donc il peut être intégré dans mon application
  • Capacité à exécuter des simulations rapidement
  • Manipule confortablement 50 à 100 objets
  • Open source

Plutôt que de réinventer la roue, pouvez-vous recommander des bibliothèques existantes qui correspondent à la facture?

p.s. J'ai déjà googlé - je suis juste désireux d'obtenir des opinions honnêtes de personnes qui ont déjà utilisé ou mis en œuvre de telles choses!

+1

Cela fait longtemps que j'ai utilisé des bibliothèques de physique, donc je n'ai pas utilisé les dernières. JBullet ne fait-il pas la plupart de ceci? http://jbullet.advel.cz/ –

+0

Ouais ça a l'air plutôt bien - probablement le candidat principal en ce moment à moins que quelqu'un ait de meilleures idées! – mikera

+0

Maintenant, il existe un logiciel de recommandations SE: http://softwarerecs.stackexchange.com/ – Trilarion

Répondre

9

J'ai utilisé JBullet et JBox2D. Ils sont tous les deux de bonnes bibliothèques. JBox2D est plus activement en cours de modification, mais JBullet a une base légèrement plus grande. Juste pour le plaisir, j'essayais de simuler un vieux problème de physique récemment, pour lequel j'ai posté les résultats here.

+0

Merci pour les pointeurs! Y a-t-il eu de grandes différences entre JBullet et JBox2D en termes d'approche, de capacités ou de performance? – mikera

+0

En outre, il semble que JBox2D est en 2D seulement ... peut exclure pour certaines de mes applications – mikera

+0

Hmmm, je viens de trouver JBox2D pour être plus facile à travailler - mais c'était probablement simplement parce que le problème exact avec lequel je travaillais était plus aligné sur l'un des exemples JBox2D. Mais oui, JBox2D est 2D seulement, et cela peut être un facteur limitant. Btw, j'ai trouvé la performance de JBox2D * très bonne - en utilisant avec un 100 objets etc. Une comparaison de JBox2D avec un moteur différent (Phys2D) peut être trouvée ici: http://ciardhubh.de/node/15. Cet article mentionne https://jmephysics.dev.java.net/ comme un candidat moteur 3D, mais je n'ai pas travaillé avec. –

2

J'utiliserais aussi JBullet, même si cela fait quelques années que j'ai travaillé avec elle.

Questions connexes