A simple algorithm for surface interpolation is proposed. Its central idea is quadratic interpolation of a curved segment from the position and normal vectors at the end points, with the aid of generalized inverses. It is then used to recover the curvature of triangular or quadrilateral patches. The methodology has the following distinctive features: (i) The algorithm is efficient and completely local, requiring only the position vectors and normals given at the nodes of a patch, and hence it is suitable for parallel processing. (ii) The C0 continuity is always attained, and errors in the normals diminish rapidly with the increase in the number of nodes. (iii) Since the approach can account for discontinuity (multiplicity) of normals, sharp edges and singular points, as well as non-manifolds, can be treated quite easily. (iv) Because of the low degree of the interpolation, it is rather robust and amenable to numerical analyses in comparison with the traditional cubic and more elaborat...