Patent ID: 8705892

Claim:
A computer-implemented method for generating a virtual tour from at least one two-dimensional image, comprising: at a processor, establishing a position and orientation for the at least one two-dimensional image in virtual three-dimensional space; at the processor, establishing an initial position, orientation, and zoom level for a virtual camera in the virtual three-dimensional space; at the processor, defining a range of permissible movement of the virtual camera in the virtual three-dimensional space by defining a virtual cage comprising constraints for at least one of the position and orientation of the virtual camera, wherein the initial position of the virtual camera is within the defined virtual cage; at the processor, defining a location of an exit portal of the virtual cage; at the processor, defining a pipe for automated movement of the virtual camera from the exit portal, the pipe having a beginning and an end; at a frame buffer, generating an initial camera view of the at least one two-dimensional image, based on the position and orientation of the at least one two-dimensional image and further based on the initial position, orientation, and zoom level for the virtual camera; outputting the initial camera view at an output device; at the processor, changing at least one of the position, orientation, and zoom level of the virtual camera in the virtual three-dimensional space while ensuring that the virtual camera remains within the defined virtual cage; at the frame buffer, generating a changed camera view of the at least one two-dimensional image, based on the position and orientation of the at least one two-dimensional image and further based on the changed at least one position, orientation, and zoom level for the virtual camera; outputting the changed camera view at the output device; at the processor, determining whether the position of the virtual camera corresponds to the defined location of the exit portal; and responsive to the position of the virtual camera corresponding to the defined location of the exit portal: at the processor, automatically causing the virtual camera to move from the beginning to the end of the pipe; at the frame buffer, generating at least one additional camera view, based on the position and orientation of the at least one two-dimensional image and further based on at least one position, orientation, and zoom level for the virtual camera as it moves through the pipe; and outputting the at least one additional camera view at the output device.