1. A computer implemented method for simplification of a point cloud that represents one or more three-dimensional objects or surfaces, the point cloud comprising a set of points, the method comprising: receiving the point cloud and storing the point cloud in a memory; implementing, with a processor, recursive spatial partitioning of the set of points into a hierarchy of clusters; for each cluster, calculating with a processor, a tangent plane estimate for the points in the cluster and deriving a confidence factor for the calculated tangent plane estimate, wherein the confidence factor is a measure of the planarity of the points in the cluster; identifying, with a processor, representative points within each cluster in the hierarchy; and, for each representative point, defining a point-pair that consists of the representative point and a representative point of an immediate parent cluster; calculating a contraction error metric for each point-pair that is weighted by the inverse of the confidence factors calculated for the clusters associated with each representative point; and generating, with a processor, a simplified point cloud that that represents the one or more three-dimensional objects or surfaces using a reduced number of points by iteratively contracting the point-pair with the lowest contraction error metric, updating remaining point-pairs as a result of the contraction, and revising the contraction error metric of the updated point-pairs accordingly.