Transitioning between top-down maps and local navigation of reconstructed 3-D scenes
Technologies are described herein for transitioning between a top-down map of a reconstructed structure within a 3-D scene and an associated local-navigation display. An application transitions between the top-down map and the local-navigation display by animating a view in a display window over a period of time while interpolating camera parameters from values representing a starting camera view to values representing an ending camera view. In one embodiment, the starting camera view is the top-down map view and the ending camera view is the camera view associated with a target photograph. In another embodiment, the starting camera view is the camera view associated with a currently-viewed photograph in the local-navigation display and the ending camera view is the top-down map.
1. An apparatus comprising:
a computer processing device; and
a memory configured to execute computer-executable instructions that, when executed by the computer processing device perform an animated transition between
a top-down map display generated from a 3-D point cloud computed from a collection of photographs and
a local-navigation display showing a photograph from the collection of photographs,
wherein the starting camera view is associated with a currently-viewed photograph in the local-navigation display, the ending camera view is associated with the top-down map display, and interpolating the camera parameters comprises
interpolate camera position and orientation parameters of the camera view in a first stage from starting values associated with the currently-viewed photograph to ending values associated with the top-down map display; and
interpolate a field-of-view parameter of the camera view in a second stage from a starting value associated with the currently-viewed photograph to an ending value associated with the top-down map display.
2. The apparatus of claim 1 , wherein the animated transition is created by animating a view in a display window over a period of time while interpolating camera parameters from values representing a starting camera view to values representing an ending camera view.
3. The apparatus of claim 2 , wherein the interpolation of the camera parameters is performed utilizing linear functions over the period of time.
4. The apparatus of claim 2 , wherein the interpolation of the camera parameters is performed utilizing sigmoid-based functions over the period of time.
5. The apparatus of claim 2 , wherein the interpolation of the camera parameters is performed in multiple stages.
6. The apparatus of claim 5 , wherein the starting camera view is associated with the top-down map display, the ending camera view is associated with a target photograph to be shown in the local-navigation display, and interpolating the camera parameters comprises:
interpolate a roll parameter of the camera view in a first stage from a starting value associated with the top-down map display to an ending value reflecting a camera-up orientation of the top-down map in regard to the target photograph;
interpolate a field-of-view parameter of the camera view in a second stage from a starting value associated with the top-down map display to an ending value associated with the target photograph;
interpolate camera position and orientation parameters of the camera view in a third stage from starting values associated with the top-down map display to ending values reflecting an interim camera position and orientation related to the target photograph; and
interpolate camera position and orientation parameters of the camera view in a fourth stage from starting values reflecting the interim camera position and orientation to ending values associated with the target photograph.
7. The apparatus of claim 6 , wherein the animated transition further comprises causing neighboring photographs to fade into view of the local-navigation display as the transition approaches the target photograph.
8. The apparatus of claim 2 , wherein the starting camera view is associated with a currently-viewed photograph in the local-navigation display, the ending camera view is associated with a target photograph to be shown in the local-navigation display, and the animated transition comprises:
an animated transition from the currently-viewed photograph in the local-navigation display to the top-down map display; and
an animated transition from the top-down map display to the target photograph in the local-navigation display.
9. A computer-implemented method comprising:
performing, by a computing device, a transition between a top-down map display generated from a 3-D point cloud computed from a collection of photographs and a local-navigation display showing a photograph from the collection of photographs; and
animating, by a computing device, a view in a display window over a period of time while interpolating, by a computing device, camera parameters from values representing a starting camera view to values representing an ending camera view,
wherein the starting camera view is associated with a currently-viewed photograph in the local-navigation display, the ending camera view is associated with the top-down map display, and interpolating the camera parameters comprises
interpolating camera position and orientation parameters of the camera view in a first stage from starting values associated with the currently-viewed photograph to ending values associated with the top-down map display; and
interpolating a field-of-view parameter of the camera view in a second stage from a starting value associated with the currently-viewed photograph to an ending value associated with the top-down map display.
10. The computer-implemented method of claim 9 , wherein the interpolation of the camera parameters is performed utilizing linear functions over the period of time.
11. The computer-implemented method of claim 9 , wherein the interpolation of the camera parameters is performed utilizing sigmoid-based functions over the period of time.
12. The computer-implemented method of claim 9 , wherein the interpolation of the camera parameters is performed in multiple stages.
13. The computer-implemented method of claim 12 , wherein the starting camera view is associated with the top-down map display, the ending camera view is associated with a target photograph to be shown in the local-navigation display, and interpolating the camera parameters comprises:
interpolating a roll parameter of the camera view in a first stage from a starting value associated with the top-down map display to an ending value reflecting a camera-up orientation of the top-down map in regard to the target photograph;
interpolating a field-of-view parameter of the camera view in a second stage from a starting value associated with the top-down map display to an ending value associated with the target photograph;
interpolating camera position and orientation parameters of the camera view in a third stage from starting values associated with the top-down map display to ending values reflecting an interim camera position and orientation related to the target photograph; and
interpolating camera position and orientation parameters of the camera view in a fourth stage from starting values reflecting the interim camera position and orientation to ending values associated with the target photograph.
14. A system comprising:
a user computer connected to a display device; and
a visualization client executing on a processor of the user computer and configured to
provide transitions between a top-down map display generated from a 3-D point cloud computed from a collection of photographs and a local-navigation display showing a photograph from the collection of photographs, and
animate a view in a display window on the display device over a period of time while interpolating camera parameters from values representing a starting camera view to values representing an ending camera view,
wherein the starting camera view is associated with a currently-viewed photograph in the local-navigation display, the ending camera view is associated with the top-down map display, and interpolating the camera parameters comprises
interpolating camera position and orientation parameters of the camera view in a first stage from starting values associated with the currently-viewed photograph to ending values associated with the top-down map display; and
interpolating a field-of-view parameter of the camera view in a second stage from a starting value associated with the currently-viewed photograph to an ending value associated with the top-down map display.
15. The system claim 14 , wherein the interpolation of the camera parameters is performed utilizing one or more of linear functions and sigmoid-based functions over the period of time.
16. The system claim 14 , wherein the interpolation of the camera parameters is performed in multiple stages.
17. The system claim 16 , wherein the starting camera view is associated with the top-down map display, the ending camera view is associated with a target photograph to be shown in the local-navigation display, and interpolating the camera parameters comprises:
interpolating a roll parameter of the camera view in a first stage from a starting value associated with the top-down map display to an ending value reflecting a camera-up orientation of the top-down map in regard to the target photograph;
interpolating a field-of-view parameter of the camera view in a second stage from a starting value associated with the top-down map display to an ending value associated with the target photograph;
interpolating camera position and orientation parameters of the camera view in a third stage from starting values associated with the top-down map display to ending values reflecting an interim camera position and orientation related to the target photograph; and
interpolating camera position and orientation parameters of the camera view in a fourth stage from starting values reflecting the interim camera position and orientation to ending values associated with the target photograph.