Previous research on qualitative reasoning about shape and fit laid the foundations to determine whether two objects fit together. Continued investigation has refined the theory and has produced a functioning implementation. This paper describes extensions to the theory and the details of the implementation.
The reasoning process has been divided into five layers: grouping, topology, orientation, matching, and confirmation. The grouping layer clusters features such as cubes or cylinders into groups for each surface of an object. The topology layer recognizes patterns formed by the groups on each surface, and describes the pattern in terms of topological structures. The orientation layer selects promising surfaces from the two objects and attempts to align the two surfaces. If the orientation layer aligns the topological structures on the two surfaces, the matching layer tries to pair the features within the topological structures. The confirmation layer inspects paired features to determine whether the surfaces are compatible. If the surfaces are compatible, then the two objects qualitatively fit together.