Patent ID: 7358969
Filing Date: 2008-04-15
Classification: G06T

Abstract:
1. A method for partitioning a triangle mesh representing the surface of a digital object model into a plurality of patches in order to map a texture, according to the following steps: determining for each scan of the digital object model, the intersection between the triangle mesh of the digital object model and the one or plurality of triangle meshes associated with the scan, at least one triangle mesh being associated with each scan of the digital object model; identifying a patch associated with the triangle meshes of each scan, only one patch being associated with the one or plurality of triangle meshes of each scan; sub-patches associated with the triangle meshes of each scan; none, one or a plurality of sub-patches being associated with each scan; determining for each patch associated with the triangle meshes of each scan, an average normal, said average normal being defined as the average of all normal at mesh triangle vertices, normal being unit vectors perpendicular to the mesh surface; determining for each sub-patch associated with the triangle meshes of each scan: an average normal; and a number of common mesh boundary vertices, said common mesh boundary vertices being defined as mesh vertices lying on the mesh boundary of both a patch and a sub-patch; for each sub-patch: if the number of vertices of the triangle mesh of the sub-patch is less than a specified threshold, adding the sub-patch to the patch that has the largest number of common boundary vertices with the sub-patch irrespective of the value of the angle between the average normal of the patch and sub-patch; if the number of vertices of the triangle mesh of the sub-patch is greater than a specified threshold and if the angle between the average normal of the patch and the average normal of the sub-patch does not exceed a user specified value, adding the sub-patch to the patch that has the largest number of common boundary vertices with the sub-patch; if the angle between the average normal of the patch and the average normal of the sub-patch exceeds a user specified value, adding the sub-patch to another patch having a smatter number of common boundary vertices with the sub-patch; if for all patches, the angle between the average normal of the patch and the average normal of the sub-patch exceeds the user specified value, considering the sub-patch as a new patch; compensating for broken triangles in each patch.