"As-Rigid-As-Possible Shape Manipulation" & "Implementing As-Rigid-As-Possible Shape Manipulation and Surface Flattening" source code