Algorithms For User-Guided Surface Mappings