I suggest you explore curve reconstruction via local feature size. The following figure is essentially an "algorithm without words":
![DCGFig5.9][1]
(Figure from [this textbook][Discrete and Computational Geometry](http://cspress.smithprinceton.edu/~orourke/DCGtitles/9489.html).)