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 [this textbook](http://cs.smith.edu/~orourke/DCG/).)</sup> <hr /> [1]: https://i.sstatic.net/03GTJ.png