I suggest you explore curve reconstruction via [local feature size](http://en.wikipedia.org/wiki/Local_feature_size). The following figure is essentially an "algorithm without words": <hr /> ![DCGFig5.9][1] <br /> <sup>(Figure from [Discrete and Computational Geometry](http://press.princeton.edu/titles/9489.html).)</sup> <hr /> [1]: https://i.sstatic.net/03GTJ.png