1. A computer-based system for smoothing a mesh model of a three-dimensional object or surface, the mesh model having a set of connected faces, each face being a geometric shape with a predetermined number of vertices and a corresponding number of edges, each edge connecting two of the predetermined number of vertices, each vertex being a data point describing the object or surface, the computer, including a processor coupled to a memory, the system comprising: a subdivision element to check a first edge against a predetermined subdivision criteria; an insertion element to insert a new subdivision point along the first edge, when the first edge does not meet the predetermined subdivision criteria; and an extrusion element to extrude the new subdivision point so that it lies on a curve, wherein the curve passes through the vertices connected by the first edge orthogonal to normal vectors at the vertices.