1. A computer-implemented method of manipulating a three-dimensional object displayed in a multi-touch display device, the method comprising: displaying a three-dimensional object in two dimensions on the multi-touch display device by projecting the three-dimensional object onto an image plane of a camera, the three-dimensional object having an initial three-dimensional location and an initial three-dimensional rotational orientation; detecting touching by one or more input mechanisms of one or more touch points on the multi-touch display device; determining, for each touch point, a two-dimensional location of the touch point on the multi-touch display device; determining, for each touch point, a three-dimensional contact point on a surface of the three-dimensional object that is projected for display onto the image plane of the camera at the two-dimensional location of the touch point; detecting a change in applied pressure at a particular one of the touch points based on an application of pressure by the one or more input mechanisms at the particular touch point; accessing a current depth value of a particular one of the three-dimensional contact points on the surface of the object, the particular contact point being projected for display onto the image plane of the camera at the location of the particular touch point and the current depth value of the particular contact point representing a depth of the particular contact point along a Z-axis of the camera away from the image plane; determining a target depth value for the particular contact point based on the current depth value and the detected change in applied pressure at the particular touch point; using a solver to calculate a three-dimensional transformation of the three-dimensional object that specifies at least one of a new three-dimensional rotation and a new three-dimensional location for the three-dimensional object, the three-dimensional transformation being calculated by the solver using an algorithm that reduces deviation between projected two-dimensional locations of the three-dimensional contact points after object transformation and two dimensional locations of their respective touch points while additionally orienting the three-dimensional object to minimize a difference between a depth value of the particular contact point after object transformation and the target depth value; transforming the three-dimensional object using the three-dimensional transformation such that the transformed three-dimensional object is positioned and rotated in accordance with the at least one of the new three-dimensional location and the new three-dimensional rotation; and displaying the transformed three-dimensional object on the multi-touch display device by projecting the transformed three-dimensional object onto the image plane of the camera.