Deformable Surface

While working as a summer student at HitLabNZ in 2005 one of my projects was to develop a pressure sensitive touch screen. This basically involved adding strain gauges to the corners of an existing 42" touch screen and feeding this output through a custom built PCB (with PIC micro) to a PC (via RS232). To test the setup (which was ultimately plagued by non-uniform sensitivity) I wrote two software demos for it: a paint program where the brush size was adjusted by pressure and a 3D deformable mesh (like a rubber sheet) that became more deformed by added pressure.

The 3D mesh was written using OpenGL, which I learnt by studying NeHe's excellent online tutorials. After finishing the touch screen project I continued to work on the deformable surface, adding features such as mouse panning/zooming, a ball that can roll on the surface, blending etc. Below is a video demo, some screenshots and the source code.

Recorded demo


Below you can see the surface normals showing:

Here blending is turned on:

Source code

The latest version of deformable surface can be found at github. To compile this code on a linux distro you will need glut.

* * *
This page was last updated on January 29, 2017 (GMT+1).