Source: http://www.robots.ox.ac.uk/~victor/pdfs/reco3d_tvcg.pdf