Patent ID: 8248408

Claim:
A computer-implemented method for uniformizing surface normals of a three-dimensional (3D) model, the method comprising: (a) receiving data of the 3D model comprising a plurality of surfaces of the 3D model from a storage device of a computing system; (b) determining edges of each of the plurality of surfaces, and determining coordinate points of each of the edges; (c) determining an intersection surface group of each of the plurality of surfaces according to a predetermined tolerance and the coordinate points of each of the edges; (d) determining one or more inconsistent surfaces from the plurality of surfaces according to the intersection surface group of each of the plurality of surfaces and a predetermined reference surface, wherein the inconsistent surfaces are the surfaces to which surface normals are inconsistent with a surface normal to the predetermined reference surface, and wherein block (d) comprises: (d1) inputting a reference surface from a reference surface group; (d2) inputting an intersection surface of the reference surface; (d3) checking if an intersection edge and a nearest point of the reference surface, an intersection edge and a nearest point of the intersection surface of the reference surface are determined; (d4) determining if the intersection surface of the reference surface is an inconsistent surface according to the intersection edge and the nearest point of the reference surface, and the intersection edge and the nearest point of the intersection surface of the reference surface upon condition that an intersection edge and a nearest point of the reference surface, an intersection edge and a nearest point of the intersection surface of the reference surface are determined; (d5) updating an inconsistent surface group if the intersection surface of the reference surface is an inconsistent surface; (d6) repeating from block (d2) to block (d5) upon condition that there are one or more intersection surfaces of the reference surface that have not been input; (d7) repeating from block (d1) to block (d6) upon condition that there are one or more reference surfaces that have not been input; and (d8) storing the one or more inconsistent surfaces into the storage device; and (e) reversing surface normals to the one or more inconsistent surfaces by changing relevant data of the 3D model, and storing the changed data of the 3D model into the storage device.