C3D PolyShaper can validate meshes generated by 3D scanning, topology optimization, and other methods.
When it is known in advance that objects should match (for example, when comparing a CAD model to a 3D scanned model), we can apply automatic or semi-automatic object matching for subsequent comparison.
Another approach is reverse engineering when a polygonal model is converted into a solid. For this, analytic surfaces are approximated with the least squares method. The surface type is either auto-detected or selected by the user, such as plane, cylinder, cone, sphere, or torus. The mesh sensitivity to noise can be adjusted to meet various criteria. The shape control tool aims to prevent the creation of surfaces that are close to degenerate, such as nearly flat or nearly cylindrical cones. The inputs are a set of triangles and the desired accuracy.
Another area involves the automatic conversion of mostly free-form models into a shell composed of NURBS patches.
As a rule, what we require is not just the mesh itself, but rather the mesh with its facets logically divided into some groups. The segmentation builds the topology of the polygonal model similar to conventional B-Rep models. The difference is that the faces consist of connected groups of facets, while the edges are composed of sequences of mesh edges. Each topology segment may have an attribute. The attribute can be a number, vector, surface, or arbitrary data structure.