{'fraction_non_alphanumeric': 0.01969796454366382, 'fraction_numerical': 0.001969796454366382, 'mean_word_length': 5.245901639344262, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
An efficient intersection algorithm for polyhedral cellular decompositions

Cellular decompositions of E3, in which space is subdivided into cellular volumes, are used to represent aggregates of solids. When two such aggregate solids are combined, by placement in the same workspace at abutting faces, the cellular decompositions must be intersected to produce a new decomposition of the workspace. An algorithm that computes this intersection cleanly and efficierttly is presented. Two polyhedral objects are positioned by specifying a pair of mating faces. The new decomposition is created by processing only faces and cells from the two input decompositions, such that the faces overlap and the cells subdivide the interiors of each other. The remaining cells, those that lie completely inside cells of the other decomposition, are simply copied to the other decomposition in a postprocessing stage, The data structure and data manipulation operators are simple extensions to those used to represent the boundaries of single solids. The complete adjacency topology is maintained at all times. The number of 3-D cell-cell intersections (each cell-cell intersection could involve a quadratic number of face-face intersection tests) and 2-D face-face intersections performed are worst-case linear in the number of output cells and faces respectively. The complexity of the search, that detects the cells and faces to be intersected, is worst-case linear in the number of edge-face relationships in the output decomposition.