1. A computer-implemented method for navigating a virtual cameras in a three dimensional environments on a mobile device, comprising: (a) accessing, from a memory device, data defining a three dimensional model of an environment; (b) displaying from a perspective of a virtual camera a first view of the three dimensional model on a display of the mobile device; (c) receiving orientation information, the orientation information comprising an angle of the mobile device relative to gravity; (d) determining whether the angle of the mobile device exceeds a threshold orientation of the mobile device relative to gravity; (e) when the angle of the mobile device is determined in (d) to exceed the threshold orientation, orienting the virtual camera in the three dimensional environment according to the angle of the mobile device; and (f) displaying from a perspective of the virtual camera a second view of the three dimensional model on the display of the mobile device based on the orienting (e), the second view being different from the first view, whereby the determining in (d) avoids changes in the perspective of the virtual camera when the angle does not exceed the threshold orientation.