1. A method of creating a surface representation of a three-dimensional object, comprising the steps of: a) scanning the object with the scanner; b) storing scan data in a memory of a computer, the scan data comprising a cloud of points, each point having three-dimensional spatial coordinates; c) constructing, with the computer, an initial triangle from first, second and third points, wherein the first and second points are selected from the scan data and the third point is a weighted average of a set of points in the scan data and the set of points used to construct the third point meet a predetermined criteria; d) marking the points in the set of points used to construct the third point and not using the marked points further in the modeling procedure; e) selecting an open edge in the initial triangle and constructing, within the computer, an adjacent triangle to said initial triangle, said adjacent triangle sharing said open edge with said initial triangle and having a vertex, wherein the vertex is constructed from a weighted average of a set of points in the scan data and wherein the vertex is tested against one or more predetermined selection criteria to minimize surface deviation between the adjacent triangle and the point cloud; f) marking the points in the set of points used to construct the vertex and not using the marked points further in the modeling procedure; and g) successively repeating steps e) and f), to thereby construct within the computer successive adjacent triangles to open edges of previously constructed triangles using remaining undeleted points in the scan data, and forming triangles by open edges of adjacent triangles in accordance with predefined rules for generating adjacent triangles, wherein each of the points of the adjacent triangles except for the first and second points are a weighted average of a set of points in the scan data, whereby a single, weighted average surface is generated from said initial triangle and said successive adjacent triangles.