Box2D
Box2D est une bibliothèque logicielle libre de moteur physique 2D écrite en C++ par Erin Catto et publiée sous la licence zlib.
Caractéristiques
Box2D simule un système de corps rigides sur un plan.
Physiquement, un corps rigide peut être simulé par un point (le centre de gravité) avec une position, un angle, une vitesse et une rotation, auquel on applique des forces (gravité, ...) et des impulsions (contacts, …).
Des contraintes peuvent exister entre ces corps, pour représenter une liaison (un pivot, un coulissement… éventuellement avec une résistance ou une force motrice) ou un contact temporaire.
Afin de calculer les contacts entre ces corps, Box2D fournit un détecteur de collision. Chaque corps simulé peut avoir une forme, limité soit à un assemblage de cercles, de polygones convexes (triangle, rectangle…) ou de formes définies par l'utilisateur. En cas de collision on peut alors ajouter des contacts entre les corps et aussi préciser des frottements, une élasticité…
La forme d'un corps peut également servir à calculer la masse et le moment d'inertie du corps rigide.
Interface avec le programme principal
Comme de nombreux moteur physique, Box2D est appelé pour effectuer une simulation sur un certain laps de temps. Le programme principal peut alors se servir des coordonnées et angles calculés pour afficher les objets à l'écran.
Ensuite le programme principal rajoute ou retire des objets, des forces et des contacts (par exemple sur une collision détectée et sur des actions de l'utilisateur), rappelle le moteur et ainsi de suite.
Portabilité/Utilisation
Box2D a été porté dans beaucoup de langages de programmation (entre autres Java, JavaScript, Adobe Flash, Adobe Flex), et est disponible sur un grand nombre de plate-forme.
Box2D est par exemple utilisé pour le jeu vidéo Angry Birds ou pour LÖVE, un moteur de jeu basé sur Lua.
Liens externes
- (en) Site officiel
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.