A variational method to model G 1 surfaces over triangular meshes of arbitrary topology in R 3 (ACM transactions on graphics)