1. A computer-implemented method for panning a virtual camera in a three dimensional environment, comprising: (a) determining a first point on a three dimensional model in the three dimensional environment; (b) 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; (c) determining a second point on the virtual surface; and (d) changing a location of the three dimensional model according to the first point and the second point.