Projects

Holographic Display

Holographic Display This project is currently exploring interaction with a holographic display.

NUIverse

NUIverse NUIverse is an application, written to give me a sandbox for exploring "Natural User Interaction" with a large, multi-dimensional dataset, in this case the solar system and surrounding universe.

Key features demonstrated in this project include multitouch gestures, multi-user and multi-directional user interface, and object-interaction with transparent Byte Tags on a PixelSense device.

This project was an excuse to learn the basics of the XNA framework, game development and solar-system dynamics.

Kinect

Kinect This project is currently exploring the Kinect for Windows API to collect and render 3-dimensional datasets.

Surface Physics

NUIverse Surface Physics demonstrates how multitouch and object interaction on a PixelSense device can blend the virtual and physical worlds.

The project was an opportunity to explore the Surface SDK, and build a basic physics engine exposed through a WPF layout control.

Multitouch Manipulation

Multitouch Manipulation Multitouch manipulation is increasingly important for touch-based interfaces. This project builds a framework for abstracting and processing multiple forms of input in a game-loop, rather than event-based model.

Rotation, scale, translation, momentum and intertia are explored, along with different manipulation origins.

Blog Engine

Blog Engine This site runs a custom, lightweight content-management and blog engine supporting image galleries and reader-comments. The development provided an opportunity to explore the ASP.NET MVC framework.

This project remains under active development as and when further features are required.

Digital Displays

Digital Display This project explores how to render digital displays.

Surface Autostereograms

Surface Autostereograms Surface Autostereograms explores a method for simultaneous depth-perception from opposite sides of a horizontally-mounted 2D-display, without the use 3D-glasses.

Tile-based and random-dot autostereograms are rendered using a DirectX 9 shader and a multitouch XNA application running on a PixelSense device.

Vector Fonts

Vector Fonts Vector-based fonts are a useful alternative to raster-based fonts. This project extracts a set of characters as line-primitves, and expands them to variable thickness.

Virtual Earth Telemetry

Virtual Earth Telemetry This project explores how to automate 3D Virtual Earth data, to provide virtual cameras for visualising ground-based GPS-telemetry data.