## 2 Natural Interactions
### The Adapted GAF/OAF Methodology  
The interaction between the user and the entities of the control cage takes place through customised gestures. The control cage comprises three types of entities: points, edges, and faces; the latter can be identified by their centroid. For point-like or small-radius spherical entities, the pinch pose is the most suitable as it represents the natural gesture for picking them; for linear or cylindrical entities with a small base radius, the cylindrical pose is the most suitable. To recognise poses, it is necessary to track the position and orientation of each joint and bone of the hand. A pose is recognised if the relative attitude between adjacent bones is within a tolerance range. Once a pose is recognised, it may be used for picking and moving objects by imposing virtual constraints between the real hand and the virtual entities. In [40], the use of the GAF/OAF methodology is presented as a robust and straightforward approach able to be easily implemented in both modelling and simulation environments. In particular, a modified version of the methodology is proposed to better suit the type of entities to be picked and moved, by defining virtual constraints that enhance grip stability and robustness. According to the GAF/OAF methodology, for each type of pose, two reference frames are defined: one on the hand (representing the Grasping Active Feature--GAF) and the other on the object to be grasped (representing the Object Active Feature--OAF). For the cylindrical grip, the reference frame on the hand includes the origin \(\mathbf{O}_{CG}\) and the direction \(\mathbf{z}_{CG}\) of the grasping axis, while the reference frame on the cylindrical object includes the origin \(\mathbf{O}_{Cyl}\) and the axis of the cylindrical surface \(\mathbf{z}_{Cyl}\). As shown in Figure 1a, the cylindrical grip virtual constraint can be imposed if both the coincidence between the origins Equation (1) and the alignment between the axes Equation (2) are fulfilled within predefined tolerances (\(t1\) linear tolerance and \(t2\), angular tolerance):  
\[\left\|\mathbf{O}_{CG}-\mathbf{O}_{Cyl}\right\|\leq t1 \tag{1}\]  
\[1-\left|\mathbf{z}_{CG}\cdot\mathbf{z}_{Cyl}\right|\leq t2 \tag{2}\]  
Equation (1) describes a spherical zone of tolerance and Equation (2) a cylindrical one. These constraints are different from the original GAF/OAF implementation since they can explicitly express the angular tolerance of the alignment between the cylindrical axes, which is a condition easier to be checked and integrated for real-time monitoring. For the pinch grip, the fundamental elements of the two reference frames on the hand and on the virtual object are the origins \(\mathbf{O}_{PG}\)\(\mathbf{e}\)\(\mathbf{O}_{Sph}\), respectively. Figure 1b shows the spherical tolerance, described by Equation (3), within which the constraint can be activated. \[\left\|\mathbf{O}_{PG}-\mathbf{O}_{Sph}\right\|\leq t1 \tag{3}\]  
Figure 1: GAF/OAF methodology adapted for (**a**) cylindrical grasp and (**b**) pinch grasp. The framework that manages the user's intention to grasp is structured as follows:  
* The type of hand pose expresses the user's intention to grasp the object as well as the type of object. The corresponding reference frame (GAF) is activated. * The relative position and orientation between the activated GAF and the OAFs of the objects that can be grasped are checked. * If an OAF meets the corresponding tolerances, the grasp is confirmed, and a constraint condition between the two reference frames is applied. * The object is released when the hand pose changes. The strategy for implementing interactive manipulation of the various geometric entities is based on a procedural scheme in which the user first selects the entities and then modifies their geometric features. With reference to Figure 2, during the AR experience, the hand-tracking system is always active.