This application is related to and claims priority to U.S. provisional application entitled User Interfaces For Volumetric Displays, having Ser. No. 60/350,952, by Kurtenbach et al, filed Jan. 25, 2002, this application is also related to U.S. application entitled Three Dimensional Volumetric Display Input And Output Configurations, having Ser. No. 10/183,970, by Kurtenbach et al, filed concurrently herewith, to U.S. application entitled Volume Management System For Volumetric Displays, having Ser. No. 10/183,966, by Kurtenbach et al, filed herewith, to U.S. application entitled Graphical User Interface Widgets Viewable And Readable From Multiple Viewpoints In A Volumetric Display, having Ser. No. 10/183,968, by Fitzmaurice et al, filed concurrently herewith, to U.S. application entitled A System For Physical Rotation of Volumetric Display Enclosures To Facilitate Viewing, having Ser. No. 10/188,765, by Balakrishnan et al, filed concurrently herewith, to U.S. application entitled Techniques For Pointing To Locations Within A Volumetric Display, having Ser. No. 10/188,944, by Balakrishnan et al, filed concurrently herewith and all of which are incorporated by reference herein.
1. Field of the Invention
The present invention is directed to providing two-dimensional (2D) widgets in three-dimensional (3D) displays and, more particularly, to mapping a 2D widget into a volumetric display at a position where it can be easily used, such as on the outside surface of the volumetric display inside an enclosure for the display.
2. Description of the Related Art
A class of three-dimensional (3D) displays, called volumetric displays, is currently undergoing rapid advancement. The types of displays in this class include holographic displays, swept volume displays and static volume displays. Volumetric displays allow for 3D graphical scenes to be displayed within a true 3D volume. Such displays can take many shapes, globes, domes, cubes, etc. with a dome being a typical shape. Because the technology of these displays is undergoing rapid development those of skill in the art are concentrating on the engineering of the display itself. As a result, the man-machine interface to or the ways in which people interface with these types of displays is receiving scant attention.
While the volumetric displays allow a user to view different parts of a true 3D scene, the act of viewing the different parts typically requires that the user physically move around (or over) the display or that the display be moved or rotated in front of the user. As the display moves relative to the user, graphical user interface elements, sometimes called widgets may also move relative to the user. This is a particular problem when the widget is a two-dimensional (2D) interface, such as menu, a file tree, a virtual keyboard, or a display/view of a two dimensional document, such as a list or spreadsheet. Assuming that a volumetric display system needs to make use of these two-dimensional widgets, the question arises as to where to place these widgets to allow the user to interact with them.
A solution is to place the 2D widgets anywhere within the display. This can result in the intermingling of widgets and data, which may not be desirable. Additionally, complex 3D selection techniques may be needed if the 2D widget is placed in the 3D scene space to avoid selecting scene elements when the widget is intended.
What is needed is a system that will optimally place two-dimensional widgets on or in a volumetric display to allow direct and simple interaction.
It is an aspect of the present invention to provide a system that allows 2D widgets or graphical user interfaces to be used in a 3D volumetric display.
It is another aspect of the present invention to position widgets within a volumetric display at positions where they are useful for direct and simple interaction.
It is also an aspect of the present invention to provide 3D widgets in a volumetric display that can be used in much the same way 2D widgets are used in conventional 2D display systems.
It is an aspect of the present invention to place the widgets on an outside surface of a volumetric display inside a protective enclosure.
It is an aspect of the present invention to place the widgets on a surface within the volumetric display such as the “floor” of the display, back plane, or non-planar surface to be used in conventional 2D display systems.
The above aspects can be attained by a system that places user interface widgets in positions in a 3D volumetric display where they can be used with ease and directness. The widgets are placed on the shell or outer edge of a volumetric display, in a ring around the outside bottom of the display, in a plane within the display and/or at the users focus of attention. Virtual 2D widgets are mapped to volumetric display voxels and control actions in the 3D volume are mapped to controls of the widgets.
These together with other aspects and advantages which will be subsequently apparent, reside in the details of construction and operation as more fully hereinafter described and claimed, reference being had to the accompanying drawings forming a part hereof, wherein like numerals refer to like parts throughout.
b depict configurations of voxels within a display.
Volumetric displays allow a user to have a true three-dimensional view of a scene 12 and are typically provided in the form of a dome 14, as depicted in
There are a number of different solutions to this problem. One solution is to place the 2D widgets 30 and 32 on the inside surface of the volumetric display enclosure 34, as depicted in
The present invention is typically embodied in a system as depicted in
2D widgets can be represented within a computer system in a number of different ways. A typical way is to represent the widget as a two-dimensional display map of pixels that have a color value and possibly a control value associated with each of the two-dimensional positions within a virtual image area the widget typically occupies. In a 2D display system the widget is mapped from the virtual positions to actual display positions responsive to the position of the widget specified by the system. The system position is often controllable by the user, such as allowing a user to move a GUI to different places on a display with a point and drag type command or action. A volumetric display is comprised of voxels or volume pixels where each voxel has a 3D position as well as a voxel height, width and depth.
In displaying a 2D widget within a volumetric display the pixels of the virtual image must be mapped to corresponding voxels. This can be accomplished by a mapping between the 2D virtual representation and a “layer” of voxels in an appropriate location in the display, such as on the “surface” of the display. For example, a control portion of a 2D widget, such as part of a trashcan icon, might be mapped to the voxels 112-120 in
The voxels used for display need not be limited to displaying a widget. One or more widgets can be displayed in a plane. In fact, the entire 2D desktop work space typically presented to a user on a display, such as a CRT or LCD, can be converted into a three-dimensional plane. The plane can be at the bottom of the volumetric display or at any desired angle or position within the volumetric display. The workspace can also be divided among several planes with different windows/icons/controls tiled or cascaded.
The mapping of the virtual representation of the widget, as depicted in
The widgets can also be texture mapped. In general, the texture mapping procedure includes first having the system determine whether each voxel in the display intersects a surface of the 3D widget. If it does, the system maps the voxel position into a (u,v) local surface position of a texture map for the widget. Using the local surface position, the system samples the texture map for the widget surface. The value of the sample is then assigned to the voxel. When the 3D widget is more than one voxel deep, and depending on the surface intersected, the mapping may sample a front, back or side texture for the widget. The present inventions obtains the texture information from a single, 2D texture map of the original 2D widget. That is, only one texture map of the 2D widget is needed to translate it into voxel space.
Additional 3D characteristics can be obtained from the 2D widgets. For example, shading is commonly used on 2D widgets to give the visual impression of depth. A 3D surface for a widget is derived by analyzing this shading information such that these shaded 2D widgets would actually have true depth in the 3D display. Also pseudo-2D widget behavior is realized as real 3D behavior in the 3D volume. For example, depressing a push button widget actually moves the button in depth in the 3D display. Another aspect about giving 2D widgets volume is rather than synthesizing the depth aspect of a widget, it is simply determined by convention. For example, the convention could be to surround each 2D widget or collection of 2D widgets in the 3D display with a 3D widget “frame” which would give the edge of the widget thickness and thus make viewing and accessing from extreme angles easier. An example of this is that the frame of a 2D window automatically is given thickness in 3D volumetric displays. As a result, the texture of the widget takes on the shape of the surface of the widget. Because the surface can be enlarged or otherwise changed in configuration during the mapping, the texture mapping may use conventional processes to stretch or morph the texture for the surface. Because the mapping of a widget may map from a linear shape to a curved shape associated with the surface of a dome, conventional processes are also used to warp or morph the widget shape and/or texture into the desired shape, such as to make a curved edge of a menu window appear straight in a polar type coordinate system.
Once the 2D widget is initially mapped into the display, the widget is ready for use or interaction with the users. This interaction occurs within the operations associated with creating and projecting a scene within the volumetric display. That is, the GUI operations may be at the beginning or end of a scene projection operation or in the middle based on an interrupt. As depicted in
The discussion above considered a single type of control such as a button being activated. For more complex controls, such as a slider, the loop of
The present invention has been described with respect to taking a 2D representation of a widget and mapping its texture representation into a 3D widget that has volume. It is also possible to construct 3D widget representations, such as a 3D slider, and map them more directly. The present invention has been described with respect to activating a control associated with a cursor or pointer intersecting a voxel corresponding to a control by ray-casting the pointer of the center of the display and selecting a first control that has voxels intersected by the ray. The control discussed herein has been active controls in which the user activates the control. Other types of controls can also be involved, such a dwell controls which are typically used to display help information in a “bubble”. The input discussed herein has included pointing inputs. However, the input can be text from a keyboard that is entered in a window of a widget.
Note that translating a 2D widget to the 3D volumetic display may not require the use of texture maps. Instead, the volumetric-based widget can be reconstituted/created using a core set of drawing primitives library (such as drawline, fill rectangle, draw text) that has been tailored to work on the volumetric display.
As a consequence of the present invention of translating a conventional 2D widget into a volumetric-based widget through the use of texture mapping procedures, the procedures can be reversed to translate or collapse volumetric-based widgets into a 2D widget representation.
The present invention also includes a hybrid display system including a volumetric display 54 and conventional 2D displays 56, such as LCD or CRT screens (see
The system also includes permanent or removable storage, such as magnetic and optical discs, RAM, ROM, etc. on which the process and data structures of the present invention can be stored and distributed. The processes can also be distributed via, for example, downloading over a network such as the Internet.
The many features and advantages of the invention are apparent from the detailed specification and, thus, it is intended by the appended claims to cover all such features and advantages of the invention that fall within the true spirit and scope of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation illustrated and described, and accordingly all suitable modifications and equivalents may be resorted to, falling within the scope of the invention.
Number | Name | Date | Kind |
---|---|---|---|
4134104 | Karras | Jan 1979 | A |
4160973 | Berlin, Jr. | Jul 1979 | A |
5129054 | Alstad et al. | Jul 1992 | A |
5134390 | Kishimoto et al. | Jul 1992 | A |
5257347 | Busbridge et al. | Oct 1993 | A |
5540229 | Collet-Billon et al. | Jul 1996 | A |
5678015 | Goh | Oct 1997 | A |
5717415 | Iue et al. | Feb 1998 | A |
5767854 | Anwar | Jun 1998 | A |
5805137 | Yasutake | Sep 1998 | A |
5850225 | Cosman | Dec 1998 | A |
5854449 | Adkins | Dec 1998 | A |
5861583 | Schediwy et al. | Jan 1999 | A |
5898433 | Hijikata | Apr 1999 | A |
5959614 | Ho | Sep 1999 | A |
6008800 | Pryor | Dec 1999 | A |
6008809 | Brooks | Dec 1999 | A |
6031519 | O'Brien | Feb 2000 | A |
6031541 | Lipscomb et al. | Feb 2000 | A |
6049317 | Thompson et al. | Apr 2000 | A |
6052100 | Soltan et al. | Apr 2000 | A |
6064423 | Geng | May 2000 | A |
6069594 | Barnes et al. | May 2000 | A |
6100862 | Sullivan | Aug 2000 | A |
6115028 | Balakrishnan et al. | Sep 2000 | A |
6152563 | Hutchinson et al. | Nov 2000 | A |
6208318 | Anderson et al. | Mar 2001 | B1 |
6229542 | Miller | May 2001 | B1 |
6271847 | Shum et al. | Aug 2001 | B1 |
6512498 | Favalora et al. | Jan 2003 | B1 |
6575596 | Butt | Jun 2003 | B2 |
6577330 | Tsuda et al. | Jun 2003 | B1 |
6597358 | Miller | Jul 2003 | B2 |
6628298 | Debevec | Sep 2003 | B1 |
6631016 | Klug et al. | Oct 2003 | B1 |
6697034 | Tashman | Feb 2004 | B2 |
6753847 | Kurtenbach et al. | Jun 2004 | B2 |
6765566 | Tsao | Jul 2004 | B1 |
6842175 | Schmalstieg et al. | Jan 2005 | B1 |
6954218 | Stall | Oct 2005 | B2 |
20020008676 | Miyazaki et al. | Jan 2002 | A1 |
20020033849 | Loppini et al. | Mar 2002 | A1 |
20020135539 | Blundell | Sep 2002 | A1 |
20030142136 | Carter et al. | Jul 2003 | A1 |
20040145585 | Fontius | Jul 2004 | A1 |
20040212605 | Fitzmaurice et al. | Oct 2004 | A1 |
20050062684 | Geng | Mar 2005 | A1 |
Number | Date | Country | |
---|---|---|---|
20040001111 A1 | Jan 2004 | US |