## 1 Introduction
### Recursion of Contact Points  
The previously acquired \(n-1\) contact points should be re-determined when searching for the \(n\)th contact point on the auxiliary plane. The problem of determining the \(n-1\) contact points can be decomposed into two types of subproblems: searching for the \(n-1\)th contact point and determining the previously acquired \(n-2\) contact points. In a similar way, the problem of determining the \(n-2\) contact points can be decomposed into two types of subproblems layerwise: one is to search for a contact point and another is to determine several previously acquired contact points. Furthermore, the same search strategy is employed to determine different contact points, which means that the process of computing the \(n-1\) contact points hierarchically nests the processes of computing each previous contact point. Therefore, re-determining the previously acquired \(n-1\) contact points when searching for the \(n\)th contact point is a recursive process.  
The recursive process of contact points includes both backtracking the previous contact point layerwise and returning to the position and orientation obtained by computing the previous contact point layerwise, as shown in Figure 6. When searching for the \(n\)th contact point, the previous \(n-1\) contact points should be re-determined after the position and the orientation are adjusted, which means that backtracing a new \(n-1\)th contact point to the next layer is required. However, searching for the new \(n-1\)th contact point requires backtracing a new \(n-2\)th contact point as well. Consequently, the previous contact point should be backtracked layerwise in a similar manner. The backtracking process ends if the three contact points on the main mating plane are determined. The acquired position and orientation \(\Omega^{3}\) at the bottom layer of the backtracking process should be returned to the layer above such that the next approaching process of the position and orientation can be carried out. In a similar way, the position and orientation acquired in each layer are returned to the layer above to carry out the progressive-approaching  
Figure 5: Principle of searching for a contact point via progressively approaching position and orientation.  
based determination of the contact point. Consequently, the position and orientation \(\Omega^{n-1}\) determined after re-determining the previously acquired \(n-1\) contact points are considered to be the result obtained by returning to the position and orientation obtained by computing the previous contact points layerwise. According to \(\Omega^{n-1}\), the next approaching process of the position and orientation is performed to search for the \(n\)th contact point. Finally, all the \(n\) contact points and the position and orientation \(\Omega^{n}\) will be acquired by carrying out several approaching processes (i.e., the previous \(n-1\) contact points should be backtracked and returned).  
The previous contact points should be re-determined after each adjustment step when searching for the contact points on each auxiliary plane, which means that all the previous contact points can be backtracked according to a similar principle layerwise. Moreover, the determination of the three contact points on the main mating plane does not depend on the strategy of progressively approaching position and orientation. Thus, the backtracking process is bounded. The position and the orientation are adjusted based on accumulating the adjustment values, which means that the position and the orientation obtained by determining the previous contact points should be the initial position and orientation of each approaching process during the process of searching for a contact point. Consequently, the results of computing the previous contact point layerwise can be returned.