Is there some well-known algorithm which turns user's drawings into smoothed shapes?
The Douglas-Peucker algorithm is used in geography (to simplify a GPS track for instance) I guess it could be used here as well.
Based on your description I guess you're looking for a vectorization algorithm. Here are some pointers that might help you:
- https://en.wikipedia.org/wiki/Image_tracing
- http://outliner.codeplex.com/ - open source vectorizer of the edges in the raster pictures.
- http://code.google.com/p/shapelogic/wiki/vectorization - describes different vectorization algorithm implementations
- http://cardhouse.com/computer/vector.htm
There are a lot of resources on vectorization algorithms, I'm sure you'll be able to find something that fits your needs. I don't know how complex these algorithms are to implement them, though,