{'fraction_non_alphanumeric': 0.01792573623559539, 'fraction_numerical': 0.0, 'mean_word_length': 5.2023809523809526, '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}}
Using navigation meshes for collision detection

Traditionally, tree-based spatial data structures such as k-d trees or hash-based structures such as spatial hashing are used to accelerate collision detection, and navigation meshes are used for agent path planning. In this paper, we present a series of algorithms to replace the traditional tree-based spatial data structures with the graph-based navigation-mesh. The advantages of using a single data structure for both agent navigation and collision detection acceleration are two-fold. First, the costs of constructing and maintaining two unique data structures are cut in half if a single data structure provides both spatial groupings for rapid collision detection and search space reduction for path planning. Second, using one spatial structure, development time can be shorter and, at runtime, there is generally less memory overhead. We present the results of an experiment that compares a navigation mesh as a collision detection accelerator to two popular and commonly used forms of spatial data structures, the k-d tree and the spatial hash map. We also compare its performance to a world without any spatial data structures to provide a baseline of performance. Our results show a fifty percent decrease in collision detection time between dynamic objects in comparison to k-d trees. In addition, until the number of objects present in the world exceeds three thousand the navigation mesh accelerated collision detection outperforms spatial hashing accelerated collision detection across all tests.