1. A computer-implemented method for panning a virtual camera in a three dimensional environment, comprising: determining a first point located on a panning sphere in a three dimensional model in the three dimensional environment; determining a virtual surface according to the first point, the three dimensional model, and a position of the virtual camera in the three dimensional environment; determining a second point located on the panning sphere; determining a third point located on the virtual surface, wherein the second point on the panning sphere is associated with the third point on the virtual surface, and wherein the distance between the virtual camera and the third point is less than the distance between the virtual camera and the second point; and changing a location of the three dimensional model by rotating the three dimensional model according to the third point, wherein the rotation of the three dimensional model according to the third point is less than a rotation of the three dimensional model according to the second point, and wherein the determining of the virtual surface comprises fitting the virtual surface to the panning sphere so that the virtual surface is a concave surface from a perspective of the virtual camera.