## 4 Results and Discussion
For complex shapes with many local extrema and tens or hundreds of thousands of vertices, the ICP might be much more time consuming (say, 3 min vs. 30 s of our algorithm) and sometimes stuck in the local quasi-optimal solution (yellow and blue shapes do not match each other's after rotation found by the ICP, Figure 3). Two algorithms (the ICP and ours) use different approaches to search for optimal mapping. Our approach is based on structural correspondences of spherical harmonics. It will not catch and, hence, not align the elements that are described by spherical harmonics of high degrees (greater than \(L_{\text{max}}\)). The idea to stop at \(L_{\text{max}}\) is based on the following rationale. We work with a grid, and the errors in calculating coefficients for higher degrees are affected by the errors made for coefficients of lower degrees. The accuracy of our algorithm and the ICP is analyzed in the following way. Initially, we mapped both objects into the sphere of radius 16. The center of the sphere is the centroid of the object's surface, and the farthest from the centroid point of the object mesh lies on the sphere's surface. When we look for the mapping of two objects as input data for the ICP algorithm, we use the point cloud, which contains all the mesh vertices. The number of vertices in the point cloud may reach millions. The mapping error is the average of all the distances from the mesh vertices of the first object to the surface of the second object after mapping. Suppose the ICP is converged to the global extremum. In that case, the average mapping error is usually small, around \(10^{-9}\) and less, and running time, on average, is around 0.18 s (we used Open3D implementation of the ICP). If the ICP converged to the incorrect optimum, the error could be arbitrarily huge, and the time to complete the run could reach up to 30 min for huge STL files (Figure 3, top and middle row examples). For our algorithm implementation, the computation time varies from 8 s for relatively not very complex meshes (<50,000 vertices) to below a minute for a huge mesh with more than 1M vertices. This time includes reading the STL file of the model, which could reach a hundred megabytes and even gigabytes in size. To compare the ICP and our method, we chose the Princeton dataset [78] and a threshold of 0.14 for the maximum mapping error ME (Table 1). This threshold is an average value for ME for the dataset [78] when using our approach. It divides the dataset approximately by half. For 53% of the objects in the dataset, the ICP has the maximum ME  
Figure 3: ICP vs. our algorithm. Left side: The results of mapping rotated blue and original gold objects by the ICP. Right side: Mapping of rotated green and original red objects using our algorithm. below this threshold, and other cases demonstrate relatively high errors. Suppose we do not consider these two datasets separately. In that case, the error received in the second case can make the average error of the ICP method extremely high despite great accuracy for the other half of the data samples. Table 1 shows that our algorithm gave an average error (average distance to the surface) below 0.2 with a standard deviation of this value of less than 0.1. The maximum point-wise deviation for the whole dataset used was below 3. We can see that if we compare our approach with the ICP for the entire dataset, our method looks more accurate. Unfortunately, this commonly accepted type of analysis does not consider that the ICP has two clusters with different behaviors, as Table 1 shows. Methods with the same setting should be considered to compare the accuracy and efficiency of different approaches correctly. That is why we checked the validity of our algorithm by comparing it with the ICP (which performs a mapping of point clouds and not subsampled data, as neural networks do; see Section 4.1). The ICP appeared to be the best method for comparison, but unfortunately, the settings of both methods are not perfectly the same.