Source: https://www.cs.cmu.edu/~16385/s17/Slides/5.3_Hough_Transform.pdf