Source: http://www.cs.wisc.edu/graphics/Courses/cs-838-1999/Papers/ency.pdf