# Virtual Reality Collision Detection Based on Improved Ant Colony Algorithm
## 1 Introduction  
Collision detection, also known as interference detection or contact detection, is a classic problem in the field of system simulation, computer graphics and other research fields. The primary task of collision detection is to detect whether there is contact between objects in a virtual scene, that is, to detect whether they occupy an identical space. When they occupy an identical space, it means that there is a collision between the models [1; 2]. Since the last century, many researchers have studied the technology of collision detection, but due to the influence of the level of computer hardware, the collision detection algorithms at that time generally could not fulfill the real-time needs of application scenarios. In recent years, with the development of science and technology, real-time collision detection technology has evolved swiftly. At the same time, with the development of computer graphics technology, real-time simulations of intricate scenes have received extensive attention, and the real-time and precision requirements of collision detection algorithms are also rising. There are two main types of collision algorithms: those based on the time domain and those based on the space domain [3]. The traditional collision detection algorithm has several problems when detecting collisions in complex virtual scenes. The number of model patches in complex scenes is large, and the detection time is long and cannot ensure the real-time performance of collision detection. When the parts are moving, the position is constantly changing, and the efficiency of collision detection is low [4]. Therefore, many scholars are constantly researching and optimizing collision detection technology. For example, in order to improve the safety of digital subtraction angiography (DSA) equipment in the treatment of cardiovascular diseases, [PERSON] combined the oriented bounding box (OBB) algorithm with the GJK algorithm and proposed a hybrid collision detection algorithm based on separation distance [5]. A collision detection system named SOLTD, which was based on an AABB bounding box level developed by Eindhoven University in the Netherlands, used a simplified separationaxis test method to perform overlapping tests between AABBs to improve the efficiency of detecting collisions. Bergen adopted the basic idea of GJK and developed SLTF by combining the incremental culling technology based on axial bounding box sweeping and cutting. The algorithm improved the efficiency of the algorithm by caching the separation axis of the previous frame's object pair and using the coherence between frames to judge the potentially intersecting object pairs [6]. [PERSON] performed interval subdivision on the polyhedron and constructed the corresponding region for each feature, thereby creating a feature-based collision detection algorithm [7]. In addition to the above research directions, many scholars have introduced an intelligent group algorithm for detecting depth based on bounding volume hierarchy technology: [PERSON] used a bounding box and a particle swarm optimization algorithm for detecting collisions in virtual reality and used a binary tree structure to store the cross-space features of a bounding box, which effectively improved the accuracy of detecting collisions. However, the particle swarm optimization algorithm is not efficient for searching; therefore, the algorithm is not suitable for large-scale scenarios. [PERSON] proposed an algorithm for detecting collisions between convex polyhedrons based on a genetic algorithm. He mainly discussed the method of calculating the shortest distance in collision detection, that is, the calculation of the shortest distance was summed up as an optimal solution to a nonlinear programming problem with constraints. According to experiments to verify the surface, the genetic algorithm has fast calculation speed and high calculation accuracy, but it is only suitable for detecting collisions between convex polyhedrons.