Box2D

Cet article est une ébauche concernant l’informatique et le jeu vidéo.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

Box2D
Description de l'image Box2D original logo.png.
Description de l'image Box2d-screenshot.png.
Informations
Développé par Erin Catto
Première version
Dernière version 2.3.1 ()
Dépôt github.com/erincatto/Box2DVoir et modifier les données sur Wikidata
Écrit en C++
Système d'exploitation Type UnixVoir et modifier les données sur Wikidata
Environnement Multiplate-forme
Type Moteur physique
Licence Licence zlib
Documentation box2d.org/documentationVoir et modifier les données sur Wikidata
Site web http://box2d.org/

modifier - modifier le code - voir Wikidata (aide) Consultez la documentation du modèle

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é par Angry Birds, ou par LÖVE (un moteur de jeu basé sur lua).

Liens externes

  • (en) Site officiel
v · m
Libres
2D
2,5D
3D
2D et 3D
  • Allegro
  • Godot
  • HPL
  • libGDX (en)
  • Raylib
  • Sokol (wrapper)
  • Spring
Fantasy console
Bibliothèques bas niveau multiplateformes
Propriétaires commercialisés
2D
3D
Fantasy console
Propriétaires utilisés en interne
2D
3D
  • icône décorative Portail du jeu vidéo
  • icône décorative Portail de la programmation informatique
  • icône décorative Portail des logiciels libres