Presenting a view within a three dimensional scene
First Claim
1. A non-transitory computer readable memory medium storing program instructions for presenting a view based on a virtual viewpoint in a three dimensional (3D) scene, wherein the program instructions are executable by a processor to:
- track a user position via a position input device, wherein the user position comprises position and orientation in physical space;
determine a user viewpoint based on said tracking;
determine a user perspective relative to at least one display surface, wherein the user perspective comprises a mapping between angle and orientation of the at least one display surface and a render plane to the user viewpoint, wherein the mapping is based on the tracking of the position of the user, and wherein to determine the user perspective, the program instructions are executable by a processor to;
determine a first user eyepoint based on user position; and
correlate user position to a position of the at least one display surface, wherein the correlation is relative to an angle and orientation of the at least one display surface;
render and display the 3D scene within a virtual space by at least one display, wherein the at least one display comprises the at least one display surface, where said rendering and displaying is based on a projection in virtual space to the render plane, wherein the render plane has a correlation to the position and orientation of the at least one display, and wherein the correlation is based on the user perspective;
determine a first virtual viewpoint, wherein the first virtual viewpoint is controlled by a first position, angle and orientation of at least a portion of a hand of the user in the physical space without use of hand-held tools and corresponds to a first position, angle and orientation in the virtual space;
establish a first field of view and first view volume of the 3D scene, wherein the first field of view and first view volume are based on the first virtual viewpoint;
store the first field of view and first view volume;
determine a second virtual viewpoint, wherein the second virtual viewpoint is controlled by a second position, angle and orientation of the at least a portion of the hand of the user in the physical space without use of hand-held tools and corresponds to a second position, angle and orientation in the virtual space;
establish a second field of view and second view volume of the 3D scene, wherein the second field of view and second view volume are based on the second virtual viewpoint; and
store the second field of view and second view volume.
6 Assignments
0 Petitions
Accused Products
Abstract
Presenting a view based on a virtual viewpoint in a three dimensional (3D) scene. The 3D scene may be presented by at least one display, which includes displaying at least one stereoscopic image of the 3D scene by the display(s). The 3D scene may be presented according to a first viewpoint. A virtual viewpoint may be determined within the 3D scene that is different than the first viewpoint. The view of the 3D scene may be presented on the display(s) according to the virtual viewpoint and/or the first view point. The presentation of the view of the 3D scene is performed concurrently with presenting the 3D scene.
179 Citations
27 Claims
-
1. A non-transitory computer readable memory medium storing program instructions for presenting a view based on a virtual viewpoint in a three dimensional (3D) scene, wherein the program instructions are executable by a processor to:
-
track a user position via a position input device, wherein the user position comprises position and orientation in physical space; determine a user viewpoint based on said tracking; determine a user perspective relative to at least one display surface, wherein the user perspective comprises a mapping between angle and orientation of the at least one display surface and a render plane to the user viewpoint, wherein the mapping is based on the tracking of the position of the user, and wherein to determine the user perspective, the program instructions are executable by a processor to; determine a first user eyepoint based on user position; and correlate user position to a position of the at least one display surface, wherein the correlation is relative to an angle and orientation of the at least one display surface; render and display the 3D scene within a virtual space by at least one display, wherein the at least one display comprises the at least one display surface, where said rendering and displaying is based on a projection in virtual space to the render plane, wherein the render plane has a correlation to the position and orientation of the at least one display, and wherein the correlation is based on the user perspective; determine a first virtual viewpoint, wherein the first virtual viewpoint is controlled by a first position, angle and orientation of at least a portion of a hand of the user in the physical space without use of hand-held tools and corresponds to a first position, angle and orientation in the virtual space; establish a first field of view and first view volume of the 3D scene, wherein the first field of view and first view volume are based on the first virtual viewpoint; store the first field of view and first view volume; determine a second virtual viewpoint, wherein the second virtual viewpoint is controlled by a second position, angle and orientation of the at least a portion of the hand of the user in the physical space without use of hand-held tools and corresponds to a second position, angle and orientation in the virtual space; establish a second field of view and second view volume of the 3D scene, wherein the second field of view and second view volume are based on the second virtual viewpoint; and store the second field of view and second view volume. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory computer readable memory medium storing program instructions for presenting a view based on a virtual viewpoint in a three dimensional (3D) scene, wherein the program instructions are executable by a processor to:
-
determine a first user viewpoint by tracking a first user position via a position input device in the physical space; determine a first user perspective to a display surface of at least one display, wherein said determining comprises assessing a first user eyepoint based on the first user position; render and display the 3D scene on the at least one display based on a first projection in virtual space to a first render plane in physical space according to the first user perspective and the first position, angle and orientation of the display surface, wherein the first user perspective correlates to a corresponding first frustum and the first render plane of the 3D scene; determine a virtual viewpoint in a virtual space, wherein the virtual viewpoint corresponds to a first virtual position, virtual angle, and virtual orientation in the virtual space and is controlled by a first position, angle, and orientation of at least a portion of a hand of the user input device in physical space without use of hand-held tools; establish a first field of view and first view volume of the 3D scene, wherein the first field of view and first view volume are based on the virtual viewpoint; store the first field of view and first view volume; determine a second user viewpoint by tracking a second user position via the position input device in the physical space; determine a second user perspective to the display surface, wherein said determining comprises assessing a second user eyepoint based on the second user position; and determine that the first position, angle, and orientation of the at least a portion of the hand of the user in the physical space has not changed. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A method for presenting a view based on a virtual viewpoint in a three dimensional (3D) scene, comprising:
-
tracking a user position via a position input device, wherein the user position comprises position and orientation in physical space; determining a user viewpoint based on said tracking; determining a user perspective relative to at least one display surface, wherein the user perspective comprises a mapping between angle and orientation of the at least one display surface and a render plane to the user viewpoint, wherein the mapping is based on the tracking of the position of the user, and wherein said determining the user perspective comprises; determining a first user eyepoint based on user position; and correlating user position to a position of the at least one display surface, wherein the correlation is relative to an angle and orientation of the at least one display surface; rendering and displaying the 3D scene within a virtual space by at least one display, wherein the at least one display comprises the at least one display surface, and where said rendering and displaying is based on a projection in virtual space to the render plane, wherein the render plane has a correlation to the position and orientation of the at least one display, and wherein the correlation is based on the user perspective; determine a first virtual viewpoint, wherein the first virtual viewpoint is controlled by a first position, angle and orientation of at least a portion of a hand of the user in the physical space without use of hand-held tools and corresponds to a first position, angle and orientation in the virtual space; establishing a first field of view and first view volume of the 3D scene, wherein the first field of view and first view volume are based on the first virtual viewpoint; storing the first field of view and first view volume; determine a second virtual viewpoint, wherein the second virtual viewpoint is controlled by a second position, angle and orientation of the at least a portion of the hand of the user in the physical space without use of hand-held tools and corresponds to a second position, angle and orientation in the virtual space; establishing a second field of view and second view volume of the 3D scene, wherein the second field of view and second view volume are based on the second virtual viewpoint; and storing the second field of view and second view volume.
-
-
27. A method for presenting a view based on a virtual viewpoint in a three dimensional (3D) scene, comprising:
-
determining a first user viewpoint by tracking a first user position via a position input device in the physical space; determining a first user perspective to a display surface of at least one display, wherein said determining comprises assessing a first user eyepoint based on the first user position; rendering and displaying the 3D scene on the at least one display based on a first projection in virtual space to a first render plane in physical space according to the first user perspective and the first position, angle and orientation of the display surface, wherein the first user perspective correlates to a corresponding first frustum and the first render plane of the 3D scene; determine a virtual viewpoint in a virtual space, wherein the virtual viewpoint corresponds to a first virtual position, virtual angle, and virtual orientation in the virtual space and is controlled by a first position, angle, and orientation of at least a portion of a hand of the user input device in physical space without use of hand-held tools; establishing a first field of view and first view volume of the 3D scene, wherein the first field of view and first view volume are based on the virtual viewpoint; storing the first field of view and first view volume; determining a second user viewpoint by tracking a second user position via the position input device in the physical space; determining a second user perspective to the display surface, wherein said determining comprises assessing a second user eyepoint based on the second user position; and determining that the first position, angle, and orientation of the at least a portion of the hand of the user in the physical space has not changed.
-
Specification