Additional Datasets

By
Dave
Project
Published
27 Aug 2013 22:23
Last Modified
16 Sep 2013 17:05
I wanted to add some additional content to the project, and from a geographic-perspective a set of airline flight paths was a convenient choice, as shown below in Figure 1. Note that the routes are plotted as minor arcs of great circles rather than actual flight-paths, and that the height has been exaggerated for clarity.

Globe flight pathsGlobe flight paths

Figure 1. Flight-path1 data plotted over earth-lights2, filtered by airline as British Airways. Shown in both color and red-cyan anaglyph.

One of the implications of this was that I had to implement the a tile-based earth-renderer for sufficient levels of detail. Fortunately I already had some code for this from another project which required minimal modification.

1Airport, airline and route data credit OpenFlights.

2Earth light data from image created using Suomi NPP VIIRS (http://npp.gsfc.nasa.gov/viirs.html) data provided courtesy of Chris Elvidge (NOAA National Geophysical Data Center, http://www.ngdc.noaa.gov/dmsp/dmsp.html). Suomi NPP is the result of a partnership between NASA, NOAA, and the Department of Defense. Caption by Mike Carlowicz.

Screen Orientation

By
Dave
Project
Published
29 Jan 2013 20:04

Screens have traditionally been oriented vertically to face the user. However, an increasing number of screens are available in horizontal ("table-top") form factors. When desiging a 3D user interface, one of the first tasks is to define the coordinate space (i.e. which direction is "up", "right", and "forward"?).

If we pick a coordinate space that corresponds to the real world, then for vertical screen "up" and "right" are along the screen edges, and "forward" (in a right-hand coordinate system) is out of the screen toward the viewer. A representation of a horizontal surface in the real-world disappears "into" the screen, as shown below in Figure 1.

Vertical

Figure 1. User interface for vertical screen with horizontal plane "into" the screen.

In contrast, for a horizontal screen "up" is out of the screen and "right" and "forward" are along the edges. A representation of a horizontal surface in the real-world is in the same plane as the screen, as shown below in Figure 2.

Horizontal

Figure 2. User interface for horizontal screen with horizontal plane "on" the screen.

In this way, a particular screen orientation therefore lends itself more naturally to certain experiences. For example, a vertical screen behaves as a "virtual window" onto the world such as in a first-person 3D game. A horizontal screen on the other hand, behaves as a "virtual table" for viewing and manipulating objects, or as a view from a third-person game looking "down" onto the world.

This project aims to build an orientation-independant user interface for a holographic display, which would naturally lend itself to the type of display being used. Many apps now support both landscape and portrait modes. I wanted support both horizontal and vertical modes, and since I specify orientation using vectors I can also specify any intermediate angle.

Holographic Display

By
Dave
Project
Published
24 Jan 2013 15:40
Last Modified
15 Mar 2013 23:51

While continuing to explore natural user interaction with 3D data on a 2D display, I also wanted to start a new project to explore interaction with 3D data on a 3D display.

Interaction with a user interface can be in 2 or 3 dimensions. 2D interaction is pervasive with the availability of multitouch-enabled displays, and 3D interaction is becomming more accessible with products such as Microsoft's Kinect for Windows and the Leap Motion controller.

3D displays utilising active shutter glasses have been available as consumer products for some time, though many users remain uncomfortable with wearing 3D glasses. Displays are beginning to emerge for which 3D glasses are not required, such as the Nintendo 3DS. An example of a display used for this project is shown below in Figure 1.

Holographic Display

Figure 1. 3D Display

I've added a couple more images to the gallery.