Two-handed Image Navigation in Fran

Conal Elliott


Work done at Microsoft Research. Appeared in the 1998 Glasgow Functional Programming Workshop.


This paper describes a program for allowing a user to navigate smoothly in a 2D (possibly animated) image, performing pan, zoom and rotation. The program is written in Haskell, using the Fran interactive animation library. The idea is that when a hand grasps the image, the image stuck to the hand at the grasped location. When only one hand is grasping, the image pans (translates). When two hands are grasping, the image pans, zooms and rotates as required in order to keep the two grasped locations under the hands. While the C++ program that inspired this exercise is quite long and complex, the Fran version is short, modular and we feel captures the essence of the behavior being modeled.



pan.gif (16176 bytes)

Pan only

pzr.gif (69198 bytes)

Pan, zoom, and rotate


  author       = {Conal Elliott},
  title        = {Two-handed Image Navigation in {Fran}},
  url          = {},
  booktitle    = {The Glasgow Functional Programming Workshop},
  year         = 1998