Source: https://shura.shu.ac.uk/5037/1/2011-MICCAI-Tutorial-3D-Surface-Reconstruction-M.Rodrigues.pdf