Many applications produce three-dimensional points that must be further processed to generate a surface. Surface reconstruction algorithms that start with a set of unorganized points are extremely time-consuming. Sometimes, however, points are generated such that additional information is available to the reconstruction algorithms. There are triangulation algorithms based on mapping technology. Of these, some are fit only for nonoverlapping point sets. Some can process overlapping point sets, but they need manual intervention and their efficiency is low. In addition to sample point locations, our algorithm starts with usual information and knowledge of each point's neighbors. Using that information and the base point's normal vector, our algorithm automatically and dynamically partitions points into patches, and then projects 3-D points with more than k neighbors onto 2-D tangent planes. Then using a 2-D triangulation method to get 3-D triangles, and a special method for removing illegal triangles, we finally get our triangulation. An experiment shows that our algorithm can solve overlapping-set problems very well, and its efficiency is high.