Digital slope representation

One can approximate a line of any slope h as in the picture below by a sequence of segments on a square grid (such as a digital display device). The vertical distance moved at the n^^{th} horizontal position is Floor[n h] - Floor[(n-1) h], and the sequence obtained from this (which contains only terms Floor[h] and Floor[h]+1) provides a unique representation for h. As discussed on page 903 this sequence can be generated by applying substitution rules derived from the continued fraction form of h. If h is rational, the sequence is repetitive, while if h is a quadratic irrational, it is nested. Given a sequence of length n, an approximation to h can be reconstructed using

Max[MapIndexed[#1/First[#2] &, FoldList[Plus, First[list], Rest[list]]]]

The fractional part of the result obtained is always an element of the Farey sequence

Union[Flatten[Table[a/b, {b, n}, {a, 0, b}]]]