The problem was that by snapping the integer mouse values to lines through the previous point, the angle was slightly off.