The USPTO grants Geometric patent #7,397,473 for searching 3D models based on shapes. 3DSearchIT works like this:
- Prior to the search, the software generates 3D grids of the 3D models, and then computes 2D projections. The 2D projections are combined into 2D hierarchical representations, and then stored.
- During the search, the software determines the similarity between two 3D shapes by comparing key coefficients of corresponding 2D hierarchical representations.
Want to write your own 3D search engine? You’ll need to be familiar with discrete Fourier transforms, the Harr wavelet transform, and principal component analysis. The patent lists other systems of 3D searching and their limitations:
Statistical shape-based methods sample a large number of sample measures; the drawback is that their discriminating power decreases rapidly with increases in the number of models in the repository.
Graph-based methods generate connected skeletal approximations; the drawback is that it is difficult to adapt this method to models with multiple bodies or with surfaces.
Transform-based methods generated approximations of 3D models; the drawback is that their approximations are too indiscriminating for large repositories of models.
3DSearchIT works with parametric surfaces, polygonal facets, mesh approximations, and point-cloud approximations, from which it derives surface data. Inventor Tathagata Chakraborty has this to say about his method:
It has been observed that a small set of 2D projections, of sufficiently high resolution, can capture many key characteristics of most 3D CAD models, thereby providing a robust as well as an efficient paradigm to compare their shapes.