Precise collision detection method based on tetrahedron model

Through the precise collision detection method based on the tetrahedral model, the problem of internal object detection in the model in the virtual three-dimensional environment is solved, efficient and accurate collision detection is achieved, and it is suitable for applications such as virtual surgery, improving the stability and authenticity of the detection.

CN119294118APending Publication Date: 2025-01-10HARBIN UNIV OF SCI & TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411481430.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-23
Publication Date
2025-01-10

AI Technical Summary

Technical Problem

Existing collision detection algorithms are difficult to achieve accurate collision detection of internal objects of the model in a virtual three-dimensional environment, especially in software collisions and real-time detection in large-scale complex scenarios.

Method used

Using the precise collision detection method based on the tetrahedral model, the detection process is optimized by pre-processing, narrow phase detection is performed using the center of the tetrahedral and primitive vectors, the support point and penetration distance are calculated, and whether the object has collided, and if necessary When calculating the penetration depth.

Benefits of technology

It realizes accurate collision detection of objects inside the model, maintains high accuracy similar to that of the triangular facet model detection efficiency, is suitable for deformable objects, improves the stability and authenticity of the detection, and is suitable for applications such as virtual surgery.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119294118A_ABST
    Figure CN119294118A_ABST
Patent Text Reader

Abstract

The invention discloses an accurate collision detection method based on a tetrahedron model, and relates to the technical field of computer virtual detection. The problem that a traditional collision detection method does not contain internal detection information is solved, the method is not limited by whether a model is a convex body or not, and self-collision detection of an object can be achieved; and performing numerical calculation on the minimum tetrahedron primitive of the model to realize accurate distance detection of the model. In the detection process, information such as the nearest point, the distance, the collision point and the penetration distance is included, necessary information is provided for follow-up collision response deformation simulation and the like, and the method is particularly suitable for collision detection of deformable objects.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the technical field of computer virtual detection, and in particular relates to a collision detection method for a volume grid model object in a virtual three-dimensional environment. Background Art

[0002] In the virtual environment of computer simulation, the research on collision detection technology has made significant progress, especially in the rigid body collision detection, the relevant algorithms and technologies have become relatively mature. However, there are still many challenges and research space in soft body collision detection, high-precision collision response and real-time collision detection in large-scale complex scenes.

[0003] For collision detection between rigid bodies, existing algorithms such as Bounding Volume Hierarchies (BVHs) and Separating Axis Theorem (SAT) have been widely used and can achieve high efficiency and accuracy. Soft body collision detection involves more complex physical properties and deformation states, which increases the difficulty of collision detection. At present, for collision detection of soft tissues, such as in virtual surgical training, more sophisticated algorithms are needed to simulate the elasticity, plastic deformation and other properties of the material. Researchers are exploring the use of finite element analysis (FEA) and discrete element method (DEM) to improve the accuracy of soft body collision detection. In order to enhance the realism of the virtual environment, in addition to detecting the occurrence of a collision, it is also necessary to accurately calculate the location of the collision and its subsequent physical response. This requires the algorithm to not only detect the collision, but also to accurately simulate the physical behavior after the collision, such as bouncing and deformation.

[0004] According to the logical characteristics of the collision detection algorithm in processing data, it can be divided into a wide-phase detection stage and a narrow-phase detection stage. The wide-phase detection stage is also called the coarse detection stage, which is used to avoid a large number of unnecessary object queries from entering the narrow-phase collision detection, so as to avoid causing the collision detection time to be too long and the calculation to be overloaded. Current games, computer animations and three-dimensional interactive simulations are in urgent need of using a more realistic and faster wide-phase collision detection algorithm. The narrow-phase detection stage is also called the fine detection stage, which is to determine the accurate collision information after the potential collision objects are determined in the wide-phase detection stage, and the information can be used to calculate the penetration depth and collision deformation later. Applications such as cloth simulation and virtual surgery often require a stable and accurate narrow-phase collision detection algorithm. The existing collision detection for the smallest basic unit is usually based on a triangular patch model to perform intersection detection between "triangles" and "triangles"; this method cannot realize collision detection of objects inside the model. The present invention mainly acts on the narrow-phase collision detection stage, and is used to provide accurate collision detection information, including model objects that require internal collision information.

[0005] With the development of virtual reality technology, people have higher and higher requirements for scene authenticity and immersion, which puts higher requirements on the real-time performance of collision detection. With the improvement of computing power and the advancement of graphics processing technology, future collision detection technology will pay more attention to the balance between efficiency and accuracy, while combining parallel processing technology and intelligent algorithms to optimize the collision detection process. In addition, with the application of virtual reality technology in more fields, such as telemedicine, education and training, collision detection technology will continue to expand new application scenarios. Summary of the invention

[0006] [Objective of the invention]

[0007] The present invention considers the collision information of objects inside the model, and is based on a simulation model composed of tetrahedral primitives. It is not restricted by whether the model is a convex body, and is particularly suitable for collision detection of deformable objects, and can realize self-collision detection of the model; it solves the shortcomings of traditional collision detection methods that only consider surface information, while keeping the detection time similar to the intersection detection time between "triangles" and "triangles"; that is, under the condition of ensuring high accuracy, it achieves detection efficiency similar to that of existing methods. Although the method of the present invention focuses on narrow-phase collision detection, when the number of models is small, it can still achieve high-efficiency detection of the overall collision process.

[0008]

Technical solution

[0009] In order to achieve the above purpose, the technical solution used in the present invention is as follows: an accurate collision detection method based on a tetrahedron model proposed in this patent includes the following steps:

[0010] Step 1: Preprocess the tetrahedron model object to be detected; in order to ensure the efficiency and accuracy of collision detection, preprocessing not only helps to optimize the collision detection process, but also improves the authenticity and stability of the simulation, ensuring the reliability and stability of collision detection;

[0011] Step 2: Assume that there are two objects to be detected in the space, and after performing broad-phase collision detection, obtain the potential collision pair [O i ,O j ], where O i , O j They represent the i-th and j-th tetrahedrons in the collision detection set, i, j = 1, 2, ... n, and i ≠ j; all elements in the object to be detected satisfy the dynamic equation, and their positions change continuously with time. The position as a function of time is expressed as:

[0012] x(t)=∫v(t)dt+C x (1)

[0013] Where: v(t) represents the velocity of the point changing with time; Cx is the integration constant, which can be determined by the initial conditions (such as the initial position x0).

[0014] Step 3: Perform narrow phase collision detection to determine whether objects in the potential collision set collide;

[0015] In each collision set, obtain the tetrahedron centroid (z gi ,y gi ,z gi ) and (x gj ,y gj ,z gj ), get the primitive vector {X ij ,Y ij ,Z ij}. Assume that the four vertices of the tetrahedron are A, B, C, and D, and the centroid is expressed as:

[0016]

[0017] The tetrahedron vector is represented as:

[0018] {X ij ,Y ij ,Z ij}={x gj -x gi ,y gj -y gi ,z gj -z gi (3) In order to simplify the complexity of subsequent computer data processing, the tetrahedron vector is normalized to a unit vector, expressed as:

[0019]

[0020] Calculate tetrahedron O i The internal data model is in vector a ij The supremum in the direction, get the support point (x si ,y si ,z si ), calculated by taking the primitive unit vector a ij With {X ki ,Y ki ,Z ki The maximum value of the dot product is:

[0021]

[0022] Where: {X ki ,Y ki ,Z ki} represents tetrahedron O i Internal model data point (x ki ,y ki ,z ki )(k=1,2,……,m i )

[0023] The same calculation method can be used to obtain tetrahedron O j The internal data model is in vector a ij The infimum in the direction, get the support point (x sj ,y sj ,z sj ), the formula is:

[0024]

[0025] Where: {X kj ,Y kj ,Z kj} represents tetrahedron O j Inner object data point (x kj ,y kj ,z kj )(k=1,2,……,m j )

[0026] Then, the support point vector is expressed as:

[0027] {X s ,Y s ,Z s}={x sj -x sj ,y sj -y si ,z sj-z si} (7)

[0028] Determine whether the support point vector is in the same direction as the tetrahedron vector by calculating the positive or negative dot product of the tetrahedron vector and the nearest point vector, that is, calculating a ij ·{X s ,Y s ,Z s} sign to determine whether the two objects collide: If the calculated dot product value is non-negative, that is, a ij ·{X s ,Y s ,Z s}≥0, it indicates that no collision occurs; if the calculated dot product values ​​are all negative, that is, a ij ·{X s ,Y s ,Z s}<0, there are still two possibilities of positional relationships between the two tetrahedrons in space, which requires further calculation.

[0029] When no collision occurs, the closest point is the support vector {X s ,Y s ,Z s} two supporting points (x si ,y si ,z si ) and (x sj ,y sj ,z sj ); Assuming the support point is P, the distance can be expressed as:

[0030]

[0031] when a ij ·{X s ,Y s ,Z s}<0, we need to calculate whether one of the support points intersects with the tetrahedron where the other support point is located. Assume that the four vertices of the tetrahedron are marked as A, B, C, and D, and the support point is marked as point P. First, we need to calculate the normal vector of each face of the tetrahedron. A tetrahedron has four faces, and each face can define a plane through three vertices. For example, the normal vector of face ΔABC can be defined by the vector and The cross product is calculated, and the normal vectors of these four faces are N1, N2, N3, and N4 respectively. The formula is expressed as:

[0032]

[0033] Then, calculate the vector from the point to each face: For each support point P and each face of the tetrahedron, calculate the vector from a vertex of the face (such as point A) to the support point P For each face, calculate the dot product of the vector from the support point P to the face and the face normal vector. The calculation is expressed as the following formula:

[0034]

[0035] If all the dot products in formula (10) have the same sign, the support point P is inside the tetrahedron; this means that the two tetrahedrons collide and penetrate each other, and the collision point is the support point P. The penetration distance is calculated as follows:

[0036] Get the vector formed by the support point P and the four vertices of the tetrahedron Calculate the dot product of the velocity v(P) at the support point P. Take the vertex with the maximum dot product value and record it as point M. Since when penetration occurs, the two tetrahedrons move relative to each other and the direction of penetration must be the direction of their relative motion. The maximum dot product value indicates that the vector formed by the tetrahedron vertex and the support point P is closest to the direction of velocity v(P). The penetration distance is expressed as:

[0037]

[0038] If the dot product value is zero in formula (10), the support point P is on the surface where the normal line with the dot product value of zero is located; in this case, two dot product values ​​of zero indicate that the support point P is on the edge of the tetrahedron, and three dot product values ​​of zero indicate that the support point P is on the vertex of the tetrahedron; in this case, the collision point is the support point P, and the penetration depth is

[0039] If the dot product values ​​in formula (10) have different signs, it means that the support point P is outside the tetrahedron, which means that the two tetrahedrons are separated. The distance between the support point P and the tetrahedron surface is the distance between the support point P and the tetrahedron surface. The closest point is the support point P. At this time, the value with the smallest absolute value in formula (10) is the distance between the support point P and the tetrahedron surface. The formula is expressed as:

[0040]

[0041] In this process, the distance symbol used in the above distance calculation is expressed as:

[0042]

[0043] The beneficial effects of the present invention are:

[0044] The patent of the present invention is based on a tetrahedron model, contains the internal information of the model, and is not limited by the shape of the model; the patent of the present invention also contains information such as the nearest point, the distance between them, the collision point and the penetration distance during the detection process, which provides necessary information for subsequent collision response deformation simulation, etc., and is especially suitable for collision detection of deformable body models. In subsequent work, it can be considered to introduce a mass spring model to directly simulate the deformation effect. Compared with the traditional collision detection method based on the triangular patch model, both methods obtain distance field information through numerical calculation of the smallest primitive, and both are precise distances in computational graphics. Therefore, in the process of collision detection, they both maintain the same calculation accuracy. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] Figure 1 A flowchart of an accurate collision detection method based on a tetrahedron model proposed by the present invention;

[0046] Figure 2 The two tetrahedral primitives are separated from each other during the accurate collision detection in the present invention;

[0047] Figure 3 Two tetrahedral primitives in an intersecting state during precise collision detection in the present invention;

[0048] Figure 4 A dragon model implemented for accurate collision detection in this invention; Figure 4 a is a tetrahedral dragon model, Figure 4 b is the dragon model displayed by surface rendering;

[0049] Figure 5 This is a rendering of the precise collision detection in the present invention; Figure 5 a is the initial state effect diagram of the dragon model. Figure 5 b is the intermediate state effect diagram of the dragon model. DETAILED DESCRIPTION

[0050] The present invention is further described below in conjunction with the accompanying drawings.

[0051] In order to ensure the efficiency and accuracy of collision detection, a series of conditions are proposed for the construction and meshing of the tetrahedron model. These conditions not only help to optimize the collision detection process, but also improve the authenticity and stability of the simulation. The conditions are as follows:

[0052] (1) The tetrahedral mesh size is relatively uniform, and there will be no tetrahedral mesh that is too large or too small;

[0053] (2) There is no collision between adjacent tetrahedral meshes, that is, the two objects being detected will not have self-collision (the phenomenon of one tetrahedron penetrating into another tetrahedron);

[0054] (3) Tetrahedral meshes can only share the same face (the same triangle) and the same edge. That is, multiple tetrahedral meshes cannot share a face of another tetrahedral mesh.

[0055] For models with uneven tetrahedral meshing, some technical means can be used to optimize the mesh to make it more evenly divided and meet the above conditions required by this article. These techniques are usually based on some geometric or topological criteria, and improve the quality and regularity of the mesh by adjusting vertex positions, exchanging edges or faces, etc. Through this optimization, the accuracy and efficiency of model processing can be improved, ensuring the reliability and stability of collision detection.

[0056] In narrow phase collision detection, when two tetrahedrons are identified as possibly intersecting, their positional relationship in space can be divided into two cases: intersecting and separating:

[0057] (1) Intersection: In this case, the two tetrahedrons may be in direct contact or penetrate each other. Contact can be further divided into face-to-face contact (including vertex-to-face contact), edge-to-face contact (also including vertex-to-edge contact), and edge-to-edge contact (also including vertex-to-edge contact). In these contact cases, the Euclidean distance between the two tetrahedrons is zero. When mutual penetration occurs, since the tetrahedron is a standard convex structure, the corner of one tetrahedron will enter the interior of the other tetrahedron. At this time, the penetration distance is equal to the distance from the vertex to a certain face of the other tetrahedron, such as Figure 3 shown.

[0058] (2) Separation: In this case, there is a certain spatial distance between the two tetrahedrons. The shortest distance between them is the distance from the vertex of one tetrahedron to the surface of the other tetrahedron, such as Figure 2 shown.

[0059] Compared to simply determining that two tetrahedrons are separated, identifying the case where they intersect is much more complicated. This is mainly because, in the case of intersection, it is usually necessary to calculate the exact distance from the vertex of one tetrahedron to the surface of another tetrahedron, a process that involves complex geometric calculations. Therefore, when dealing with such problems, a more efficient and clever strategy should be adopted. Instead of investing a lot of time and computing resources to directly calculate the exact distance between the two tetrahedrons at the beginning, it is better to first try to quickly rule out the case where they do not intersect. In this way, complex distance calculations can be avoided in unnecessary situations, thereby greatly improving the efficiency of the entire judgment process.

[0060] According to the above description, the accurate collision detection method based on the tetrahedron model proposed in this patent includes the following steps:

[0061] Step 1: Preprocess the dragon model object to be detected and optimize the tetrahedron model. The effect after optimization is as follows: Figure 4 As shown in (a), it contains 612 vertices and 2787 tetrahedral primitives, satisfying the above conditions for the tetrahedral model.

[0062] Step 2: Use the wide-item collision detection method based on KD-Tree and scan pruning to build a tree structure, scan and prune the leaf nodes, and obtain potential collision pairs. i ,O j ], where O i , O j They represent the i-th and j-th tetrahedrons in the collision detection set, i, j = 1, 2, ... n, and i ≠ j; all elements in the object to be detected satisfy the dynamic equation, and their positions change continuously with time. The position as a function of time is expressed as:

[0063] x(t)=∫v(t)dt+C x (1)

[0064] Where: v(t) represents the speed of a point changing with time; C x is the integration constant and can be determined by the initial conditions (such as the initial position x0).

[0065] Step 3: Perform narrow phase collision detection to determine whether tetrahedral primitives in the potential collision set collide;

[0066] In each collision set, obtain the tetrahedron centroid (x gi ,y gi ,z gi ) and (x gj ,y gj ,z gj ), and obtain the tetrahedral vector {X ij ,Y ij ,Z ij For a tetrahedron with a single tetrahedron as the smallest unit, assuming that the four vertices of the tetrahedron are A, B, C, and D, the centroid is expressed as:

[0067]

[0068] The primitive vector is represented as:

[0069] {X ij ,Y ij ,Z ij}={x gj -x gi ,y gj -y gi ,z gj -z gi(3) In order to simplify the complexity of subsequent computer data processing, the tetrahedron vector is normalized to a unit vector, expressed as:

[0070]

[0071] Calculate tetrahedron O i The internal data model is in vector a ij The supremum in the direction, get the support point (x si ,y si ,z si ), calculated by taking the tetrahedron unit vector a ij With {X ki ,Y ki ,Z ki The maximum value of the dot product is:

[0072]

[0073] Where: {X ki ,Y ki ,Z ki} represents tetrahedron O i Internal model data point (x ki ,y ki ,z ki )(k=1,2,……,m i )

[0074] The same calculation method can be used to obtain tetrahedron O j The internal data model is in vector a ij The infimum in the direction, get the support point (x sj ,y sj ,z sj ), the formula is:

[0075]

[0076] Where: {X kj ,Y kj ,Z kj} represents tetrahedron O j Inner object data point (x kj ,y kj ,z kj )(k=1,2,……,m j )

[0077] Then, the support point vector is expressed as:

[0078] {X s ,Y s ,Z s}={x sj-x si ,y sj -y si ,z sj -z si} (7)

[0079] Determine whether the support point vector is in the same direction as the tetrahedron vector by calculating the positive or negative dot product of the tetrahedron vector and the nearest point vector, that is, calculating a ij ·{X s ,Y s ,Z s} sign to determine whether the two objects collide: If the calculated dot product value is non-negative, that is, a ij ·{X s ,Y s ,Z s}≥0, it indicates that no collision occurs; if the calculated dot product values ​​are all negative, that is, a ij ·{X s ,Y s ,Z s}<0, there are still two possibilities of positional relationships between the two tetrahedrons in space, which requires further calculation.

[0080] When no collision occurs, assuming that the support point is P, the distance can be expressed as:

[0081]

[0082] when a ij ·{X s ,X s ,Z s}<0, we need to calculate whether one of the support points intersects with the tetrahedron where the other support point is located. Assume that the four vertices of the tetrahedron are marked as A, B, C, and D, and the support point is marked as point P. First, we need to calculate the normal vector of each face of the tetrahedron. A tetrahedron has four faces, and each face can define a plane through three vertices. For example, the normal vector of face ΔABC can be defined by the vector and The cross product is calculated, and the normal vectors of these four faces are N1, N2, N3, and N4 respectively. The formula is expressed as:

[0083]

[0084]

[0085] Then, calculate the vector from the point to each face: For each support point P and each face of the tetrahedron, calculate the vector from a vertex of the face (such as point A) to the support point P For each face, calculate the dot product of the vector from the support point P to the face and the face normal vector. The calculation is expressed as the following formula:

[0086]

[0087] If all the dot products in formula (10) have the same sign, the support point P is inside the tetrahedron; this indicates that the two tetrahedrons collide and penetrate each other, and the penetration distance is calculated.

[0088] Get the vector formed by the support point P and the four vertices of the tetrahedron Calculate the dot product of the velocity v(P) at the support point P. Take the vertex with the maximum dot product value and record it as point M. Since when penetration occurs, the two tetrahedrons move relative to each other and the direction of penetration must be the direction of their relative motion. The maximum dot product value indicates that the vector formed by the tetrahedron vertex and the support point P is closest to the direction of velocity v(P). The penetration distance is expressed as:

[0089]

[0090] If the dot product value is zero in formula (10), the support point P is on the surface where the normal line with the dot product value of zero is located; in this case, two dot product values ​​of zero indicate that the support point P is on the edge of the tetrahedron, and three dot product values ​​of zero indicate that the support point P is on the vertex of the tetrahedron; in this case, the collision point is the support point P, and the penetration depth is

[0091] If the dot product values ​​in formula (10) have different signs, it means that the support point P is outside the tetrahedron, which means that the two tetrahedrons are separated. The distance between the support point P and the tetrahedron surface is the distance between the support point P and the tetrahedron surface. The closest point is the support point P. At this time, the value with the smallest absolute value in formula (10) is the distance between the support point P and the tetrahedron surface. The formula is expressed as:

[0092]

[0093] In this process, the symbolic representation of the distance field constructed is:

[0094]

[0095] Finally, the collision detection effect in the implementation scheme is as follows Figure 5 As shown, the initial state is shown in Figure (a), and the total number of tetrahedral primitives contained is 27870. After collision detection, the response effect is shown in Figure (b).

[0096] It should be noted that the specific implementation is only an explanation and description of the technical solution of the present invention, and cannot be used to limit the scope of protection of the rights. Any partial changes made according to the claims and description of the present invention should still fall within the scope of protection of the present invention.

Claims

1. An accurate collision detection method based on a tetrahedron model, characterized in that: The steps include: Step 1: pre-process the tetrahedron model object to be detected; Step 2: Perform broad-phase collision detection to obtain potential collision pairs [O i , O j ], where O i , O j They represent the i-th and j-th tetrahedrons in the collision set, respectively, i, j = 1, 2, ... n, and i ≠ j; Step 3: Perform narrow phase collision detection to determine whether objects in the potential collision set collide, including the following: (1) In each collision set, obtain the centroid (x gi ,y gi , z gi ) and (x gj ,y gj , z gj ), get the primitive vector {X ij , Y ij , Z ij }, the primitive vector is represented as: {X ij ,Y ij ,Z ij }={x gj -x gi ,y gj -y gi ,z gj -z gi } (1) In order to simplify the complexity of subsequent data processing, the primitive vector is normalized to a unit vector, expressed as: (2) Calculate the tetrahedron O i The internal data model is in vector a ij The supremum in the direction, get the support point (x si ,y si , z si ), by calculating the primitive unit vector a ij With {X ki , Y ki , Z ki The maximum value of the dot product is expressed by the formula: Where: {X ki , Y ki , Z ki } represents tetrahedron O i Internal model data point (x ki ,y ki , z ki )(k=1,2,…,m i ) The same calculation method can be used to obtain tetrahedron O j The internal data model is in vector a ij The infimum in the direction, get the support point (x sj ,y sj , z sj ), the formula is: Where: {X kj , Y kj , Z kj } represents tetrahedron O j Inner object data point (x kj ,y kj , z kj )(k=1,2,......,m j ) Then, a support point vector is obtained as: {X s ,Y s ,Z s }={x sj -x si ,y sj -y si ,z sj -z si } (5) Determine whether the support point vector is in the same direction as the primitive vector by calculating the positive or negative dot product of the primitive vector and the support point vector, that is, calculating a ij ·{X s , Y s , Z s } symbol to determine whether two objects collide or not; (3) If the two objects collide, obtain the collision point and calculate the penetration depth; if the two objects do not collide, obtain the closest point and calculate the closest distance; Step 4: Output the detection information between tetrahedral model objects, including the closest point and the distance or the collision point and the penetration distance.

2. The accurate collision detection method based on tetrahedron model according to claim 1, characterized in that: In step 2, part (2), calculate the dot product value a between the primitive vector and the nearest point vector ij ·{X s , Y s , Z s } symbol to determine whether there is a collision or not. The specific implementation method is: If the calculated dot product value is non-negative, that is, a ij ·{X s , Y s , Z s }≥0, it means that the tetrahedral objects do not collide; If the calculated dot product values ​​are all negative, that is, a ij ·{X s , Y s , Z s }<0, then there are still two possibilities of positional relationships between the two tetrahedrons in space, which requires further calculation.

3. The accurate collision detection method based on tetrahedron model according to claim 1 and claim 2, characterized in that: After determining that the objects do not collide in step 2 (2), in step 2 (3), the closest point is the support vector {X s , Y s , Z s } two supporting points (x si ,y si , z si ) and (x sj ,y sj , z sj ) The support point is marked as P, and the closest distance is calculated as:

4. The accurate collision detection method based on tetrahedron model according to claim 1 and claim 2, characterized in that: Step 2, part (2) a ij ·{X s , Y s , Z s }<0, it is necessary to calculate whether one of the support points intersects with the tetrahedron where the other support point is located, including the following: (1) Assume that the four vertices of the tetrahedron are marked as A, B, C, and D, and the first support point is marked as point P; calculate the normal vector of each face of the tetrahedron, and denote the normal vectors of these four faces as N1, N2, N3, and N4 respectively. The formula is expressed as follows: (2) Calculate the vector from the point to each face: For each support point P and each face of the tetrahedron, calculate the vector from a vertex of the face (such as point A) to the support point P. For each face, calculate the dot product of the vector from the support point P to the face and the face normal vector. The calculation is expressed as the following formula: (3) Determine whether a collision occurs by judging the sign of the dot product value in formula (8): If all the dot product values ​​in formula (8) have the same sign, then the support point P is inside the tetrahedron; this means that the two tetrahedrons collide and penetrate each other; If the dot product value is zero in formula (8), the support point P is on the surface where the normal line with the dot product value of zero is located; At this time, two dot product values ​​of zero indicate that the support point P is on the edge of the tetrahedron, and three dot product values ​​of zero indicate that the support point P is on the vertex of the tetrahedron; If the signs of the dot product values ​​in formula (8) are different, it means that the support point P is outside the tetrahedron, which means that the two tetrahedrons are separated.

5. The accurate collision detection method based on tetrahedron model according to claim 1, claim 2 and claim 4, characterized in that: Step 2, part (2) a ij ·{X s , Y s , Z s }<0, when the signs of all the dot product values ​​in formula (8) are the same, the collision point in step 2 (3) is the support point P, and the calculation method of the penetration depth includes the following contents: Get the vector formed by the support point P and the four vertices of the tetrahedron Calculate the dot product of the velocity v(P) at the support point P. The vertex with the maximum dot product value is taken as point M; the penetration distance is expressed as:

6. The accurate collision detection method based on tetrahedron model according to claim 1, claim 2 and claim 4, characterized in that: Step 2, part (2) a ij ·{X s , Y s , Z s }<0, the dot product value in formula (8) is zero, the collision point in step 2 (3) is the support point P, and the penetration depth is 7. The accurate collision detection method based on tetrahedron model according to claim 1, claim 2 and claim 4, characterized in that: Step 2, part (2) a ij ·{X s , Y s , Z s }<0, the signs of the dot product values ​​in formula (8) are different. The nearest point in step 2 (3) is the support point P, and the distance is the distance from the support point P to the tetrahedron surface. At this time, the minimum value of the length of the module in formula (8) is the distance, which is expressed as:

8. The accurate collision detection method based on tetrahedron model according to claim 1, claim 2 and claim 4, characterized in that: The distance symbol when calculating the distance is expressed as: