Utviklet av | Erin Catto |
---|---|
Første versjon | 11. september 2007 |
Siste versjon | 2.3.1 (5. april 2014) |
Innskudd | github.com/erincatto/Box2D |
Skrevet i | C ++ |
Miljø | Kryssplattform |
Type | Fysikkmotor |
Tillatelse | Zlib-lisens |
Dokumentasjon | box2d.org/documentation |
Nettsted | http://box2d.org/ |
Box2D er en programvare bibliotek fri for fysikk 2D skrevet i C ++ av Erin Catto og utgitt under zlib lisens .
Box2D simulerer et system med stive kropper på et plan.
Fysisk kan et stivt legeme simuleres av et punkt (tyngdepunktet) med en posisjon, en vinkel, en hastighet og en rotasjon, som krefter (tyngdekraft, ...) og impulser (kontakter, ...) er til brukt.
Det kan være begrensninger mellom disse kroppene, for å representere en forbindelse (en pivot, en glidning ... muligens med en motstand eller en drivkraft) eller en midlertidig kontakt.
For å beregne kontaktene mellom disse kroppene, gir Box2D en kollisjonsdetektor. Hver simulerte kropp kan ha en form, begrenset enten til en samling sirkler, konvekse polygoner (trekant, rektangel ...) eller former definert av brukeren. I tilfelle en kollisjon kan vi deretter legge til kontakter mellom kroppene og også spesifisere friksjon, elastisitet, etc.
Formen på en kropp kan også brukes til å beregne massen og treghetsmomentet til den stive kroppen.
Som mange fysikkmotorer er Box2D kalt til å utføre en simulering over en periode. Hovedprogrammet kan deretter bruke de beregnede koordinatene og vinklene til å vise objektene på skjermen.
Deretter legger eller fjerner hovedprogrammet objekter, krefter og kontakter (for eksempel ved en oppdaget kollisjon og brukerhandlinger), husker motoren og så videre.
Box2D har blitt portet til mange programmeringsspråk (inkludert Java , JavaScript , Adobe Flash , Adobe Flex ), og er tilgjengelig på en rekke plattformer.
Box2D brukes for eksempel av Angry Birds , eller av LÖVE (en spillmotor basert på lua ).