Box2D is a free open-source C++ game engine designed in mind with simulating rigid bodies in 2D, essentially, providing an experience with multiple supported interactions between objects.
Among its features, Box2D comes with continuous collision detection, convex polygons and circles, reliable pair management, continuous physics with time of impact solver, contact, friction, persistent body-joint-contact graph, etc.
Weeks ago, Ubuntu's Ken VanDine released QML-Box2D, namely, QML bindings for the powerful 2D gaming engine.
Ubuntu's Michael Hall shared on Google+ several video-demos of QML-Box2D running on a Nexus 7 (powered by Ubuntu Touch), demos exposing the exciting functionalities of the gaming engine.
QML-Box2D is available for installation via Ubuntu SDK Apps Collection's official PPA (Raring).