Three-dimensional CAD model collision detection method based on BVH and quadratic sum planning

Through the BVH and square sum planning method, the problem of inefficient minimum distance calculation of geometric objects in the three-dimensional CAD model is solved, efficient collision detection and accurate distance calculation are realized, and it is suitable for three-dimensional CAD systems of complex geometric objects.

CN119129183AActive Publication Date: 2024-12-13ZHEJIANG UNIV

Patent Information

Application Number
CN202411050729.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-01
Publication Date
2024-12-13
Estimated Expiration
2044-08-01

AI Technical Summary

Technical Problem

The algorithm for solving the minimum distance between geometric objects in the existing three-dimensional CAD model is inefficient, especially for complex geometric types of objects, which requires designing a variety of different algorithms, resulting in overall inefficiency.

Method used

Using a method based on BVH and sum of square planning, the number of node pairs is reduced by building a BVH tree and recursively reducing the number of node pairs, the square sum of square planning solution model is used to calculate the minimum distance, and collision detection is performed in combination with Newton's iterative method.

Benefits of technology

It realizes efficient calculation of the minimum distance between various geometric objects, improves the efficiency and accuracy of collision detection, simplifies the algorithm process, and is suitable for collision detection and picking operations in three-dimensional CAD systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119129183A_ABST
    Figure CN119129183A_ABST
Patent Text Reader

Abstract

The invention discloses a three-dimensional CAD model collision detection method based on BVH and quadratic sum planning. The method comprises the steps that firstly, BVH is constructed for two geometric objects; secondly, the minimum distance and the maximum distance between AABB bounding boxes of BVH leaf nodes of the two nodes are calculated, the minimum maximum distance is recorded, and all node pairs with the minimum distance smaller than or equal to the minimum maximum distance are stored; then, according to information in each node pair, a quadratic sum plan is set to solve an objective function of a minimum distance, a variable and a constraint, the quadratic sum plan is converted into semi-definite planning for solving by utilizing an optimization solver, and the minimum distance of one node pair is obtained, so that the minimum distance between the two geometric objects is obtained; and finally, comparing the minimum distance with a threshold value in an actual collision detection scene, and judging whether the two geometric objects collide or not. According to the method, a unified algorithm process is designed for solving the minimum distance between various types of geometric objects.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the field of three-dimensional CAD model query calculation, and in particular relates to a three-dimensional CAD model collision detection method based on BVH and square sum planning. Background Art

[0002] Modeling software is developing rapidly, and many industries need to use 3D modeling tools, such as games, film and television, architecture, industrial design and other industries. In these industries, 3D modeling tools can easily help developers create 3D models and simplify product design processes. In these processes, developers often encounter the problem of solving the minimum distance between two geometric elements.

[0003] 3D CAD software uses precise mathematical models to represent 3D objects. These models can be constructed geometry (CSG), boundary representation model (B-Rep), etc. The goal of solving the minimum distance is to calculate the distance between the geometric objects that make up the geometric entity and find the two points that are closest to each other, including the distance between points, points and lines, points and surfaces, lines and lines, lines and surfaces, or surfaces and surfaces.

[0004] Exact geometry algorithms can be used to calculate the exact distance between two geometric objects, but they have specific requirements for the expression form and geometric structure of geometric objects. They are generally used for geometric objects such as straight lines, circles, ellipses, planes, spheres, etc. that can be represented by explicit or implicit equations, and the minimum distance between them is solved by analytical algorithms.

[0005] For general geometric objects, consider two sets A and B consisting of objects, and find the minimum distance between A and B. The naive solution is to perform a double loop traversal of the elements in A and B to find the distance between each pair of elements, and update the currently calculated minimum distance to get the result. If |A|=m, |B|=n, then the time complexity is O(mn), which is relatively inefficient. If the types of the two geometric objects are different, different algorithms often need to be designed. For example, for point-curve, point-surface, curve-curve, curve-surface, and surface-surface, the algorithm flows are often different, and some are even very complicated, which leads to overall inefficiency.

[0006] A bounding box hierarchy (BVH) is a space partitioning data structure commonly used in computer graphics and collision detection. It is used to efficiently organize and query objects in three-dimensional space, especially in scenes where distances between objects need to be quickly retrieved or collisions need to be detected. A BVH is constructed by recursively dividing a collection of objects into two subsets and computing a new bounding box for each subset. This process starts with all objects in the scene and continues until the number of objects in each subset reaches a certain threshold or the objects in each subset can be compactly surrounded by a single bounding box. BVH is widely used in real-time rendering systems, physics engines, animation, and simulation software to accelerate collision detection, ray casting, occlusion queries, etc.

[0007] Sum of Squares Programming (SOSP) is a mathematical technique for solving polynomial optimization problems. It uses the property that polynomials can be expressed as sums of squares to transform and solve optimization problems that are otherwise difficult to handle. Polynomial optimization problems usually involve minimizing or maximizing a polynomial objective function under polynomial constraints. Such problems arise in many practical applications, such as control theory, economics, and engineering design. The core idea of ​​Sum of Squares Programming is to transform a polynomial optimization problem that is difficult to solve directly into a problem that can be solved using Semidefinite Programming (SDP).

[0008] Solving the minimum distance problem can use BVH and SOSP to improve the efficiency of the algorithm and the accuracy of the results. In a 3D CAD system, solving the minimum distance can be applied to collision detection to determine whether two geometrically intersecting objects intersect or overlap. Summary of the invention

[0009] In view of the deficiencies in the prior art, the object of the present invention is to provide a three-dimensional CAD model collision detection method based on BVH and square sum programming.

[0010] The object of the present invention is achieved through the following technical solution: a three-dimensional CAD model collision detection method based on BVH and square sum programming, the specific steps are as follows:

[0011] 1. The 3D CAD system models the two geometric objects A and B for which the minimum distance needs to be solved, or directly imports the information of models A and B, constructs the BVH of the geometric objects, and determines the appropriate height of the BVH tree according to the size of the geometric objects in the actual physical space and the parameter range. Generally speaking, the more complex the geometric objects are and the larger the actual represented volume is, the higher the height of the BVH is set. Then initialize the parameter node pairs, each node contains the geometric information of the geometric object to which it belongs and the divided parameter range;

[0012] 2. Select all leaf nodes in the BVH of two geometric objects, calculate the minimum distance and maximum distance between AABBs, calculate the minimum maximum distance minMaxDist between all leaf node bounding boxes of the two geometric objects, save all node pairs with a minimum distance less than or equal to minMaxDist into a structure array, and recursively replace adjacent nodes with their parent nodes to reduce the total number of node pairs; the structure array contains node geometry information, parameter range and minimum distance;

[0013] 3. Substitute the parameter equations, parameter ranges, and corresponding constraints on the shape of the geometric objects calculated in step 2 into the square sum planning solver model, calculate the minimum distance between each node pair, and update the global minimum distance, and finally obtain the minimum distance between the two geometric objects.

[0014] 4. The minimum distance calculated in step 3 is compared with the threshold in the actual collision detection scenario. If the minimum distance is less than the threshold, it means that the geometric objects A and B collide. Furthermore, if it is necessary to solve the intersection area of ​​A and B, the point with the closest distance between A and B can be used as the initial point for subsequent Newton iteration method and other algorithm processes; if the minimum distance is greater than or equal to the threshold, it means that the geometric objects A and B do not collide. Further, the subsequent intersection algorithm and other processes can be avoided.

[0015] Furthermore, the geometric information in step 1 is specifically: parametric equations of curves and surfaces, the curves include straight lines, circles, ellipses, and B-spline curves, and the surfaces include planes, cylinders, cones, spheres, tori, and B-spline surfaces.

[0016] Furthermore, for any of the curve or surface types, it is necessary to construct a suitable BVH structure according to the corresponding data structure and divide it into nodes of appropriate sizes, and then apply the node pairs that may have the closest distance to the square sum programming model for solving.

[0017] Furthermore, the B-spline curve is decomposed and calculated segment by segment to calculate the polynomial expression between each node. For example, for a quadratic B-spline curve with ten control points, according to the relationship between the number of control points of the B-spline curve and the knot vector (knot), it can be decomposed into eight segments of curves that satisfy the quadratic function. The result is q(t)=at 2+bt+c,i∈[1,8],t∈[knot[i],knot[i+1]]; the B-spline surface is decomposed piece by piece to calculate the polynomial expression of the surface pieces between adjacent nodes. A k×l-order B-spline surface containing (m+1)×(n+1) control points can be decomposed into (m-k+1)×(n-l+1) k×l-order parametric polynomial surfaces.

[0018] Furthermore, step 2 is divided into the following sub-steps:

[0019] 2.1. Select all leaf nodes in the BVH of geometric objects A and B, denoted as S(A) and S(B) respectively; each node represents an AABB bounding box; the minimum distance and maximum distance between the AABB bounding boxes are obtained by calculating the distance between the eight vertices of the two bounding boxes, denoted by a∈S(A), b∈S(B), where a represents a leaf node of geometric object A and b represents a leaf node of geometric object B. Record the minimum distance minDist between the bounding boxes of nodes a and b. ab and the maximum distance maxDist ab ;

[0020] 2.2. Traverse S(A) and S(B), first calculate the maximum distance maxDist between a and b through a double loop ab , update the minimum maximum distance minMaxDistGlobal between the global BVH nodes, and then save the minimum distance minDist between a and b ab And the a and b node information into a structure array minDistStruct[];

[0021] 2.3. Sort the structure array minDistStruct[] described in step 2.2 in ascending order according to the size of the structure member minDist by quick sorting, and let the element sets whose structure member minDist is less than or equal to minMaxDistGlobal be T(A) and T(B); for the elements in T(A) and T(B), if there are adjacent node pairs, use the parent node to replace the adjacent node. For example, if there is a node pair {nodeA l ,nodeB l}, {nodeA r ,nodeB r}, then modify it to {nodeA,nodeB}, nodeA, nodeB are the parent nodes of these nodes. Generally speaking, this is a recursive process to achieve the purpose of reducing the number of node pairs in T.

[0022] Furthermore, step 3 is divided into the following sub-steps:

[0023] 3.1. Traverse T(A) and T(B) in step 2, record a∈T(A), b∈T(B), and set the parameter range of a to be [pMin a ,pMax a ], the parameter range of b is [pMin b ,pMax b ]; According to Putinar's theorem, any strictly positive polynomial f(u) in its domain can be decomposed into Where si(i∈[0,m]) is an arbitrary polynomial, gi is a non-negative polynomial in the domain; if there are equality constraints, then f(u) is decomposed into Where pi is an arbitrary polynomial, hi is a polynomial that is zero on the domain;

[0024] 3.2. For the minimum distance problem, use the square sum programming to solve the minimum distance between two geometric objects. Assume that the domain of object one is The domain of object 2 is let where q j It is a related constraint used to limit the shape of geometric objects; define two geometric objects as x 1 (u 1 ) and x 2 (u 2 ), so the distance between the two can be defined as Require the minimum distance, that is, find f * =minf(u 1 ,u 2 ), and to find the corresponding points of the two geometric objects with the closest distance, that is, to find u * =argminf(u 1 ,u 2 ).

[0025] The parameter range pairs of each node pair calculated in the previous step, the corresponding parameter equations, and the constraint relationship used to restrict the shape of the geometric object are substituted into the square sum programming solver model. The constraint solvers such as YALMIP and MOSEK are used to convert them into semidefinite programming for solution. The minimum distance between each node pair is calculated, and the global minimum distance is updated to finally obtain the minimum distance between two geometric objects.

[0026] The beneficial effects of the present invention are as follows: the present invention accelerates the search for node pairs that may have the minimum distance based on BVH, narrows the parameter range of two geometric objects, and uses square sum planning to solve the minimum distance problem. A unified algorithm process is designed for solving the minimum distance between various types of geometric objects. The algorithm can be applied to collision detection in a three-dimensional CAD system and determine whether two geometric objects have an intersecting or overlapping relationship, as well as quickly finding the geometric object closest to the current mouse position in a picking operation so as to edit it. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] Figure 1 It is a flow chart of the present invention. DETAILED DESCRIPTION

[0028] In various modeling engines, explicit equations or implicit equations are usually used to represent various types of geometric objects such as curves or surfaces. Explicit equations directly give a parametric representation of geometric objects. The advantage of this method is that it is intuitive, easy to understand and easy to implement, but the computational complexity may be high in some cases. Implicit equations can describe more complex geometric shapes, such as Bezier surfaces or nonlinear curves. The advantage of implicit equations is that they can express complex geometric shapes concisely, but analytical solutions may be difficult. Regardless of the representation method, if you want to calculate the minimum distance between two geometric objects, you can narrow the parameter range by constructing a BVH and calculating the distance between two BVH nodes, and then use the square sum programming optimization algorithm to solve the minimum distance between the two geometric objects on a small parameter domain.

[0029] like Figure 1 As shown, the present invention proposes a three-dimensional CAD model collision detection method based on BVH and square sum planning, and the detailed process of the method is as follows.

[0030] Step 1, import or construct two geometric objects A and B in a 3D CAD system, preprocess them, select a certain depth of hierarchy to construct BVH, and the BVH construction process is as follows: first determine the depth of the BVH tree, then construct the BVH tree from bottom to top, decompose the geometric object into multiple nodes according to the depth, calculate the bounding box for each node, and store this information, then create parent nodes for these leaf nodes, merge adjacent leaf nodes, and calculate the bounding box of the merged node, store it in the parent node, then use these parent nodes as child nodes, create parent nodes for them, until only one node is left, as the root node of the BVH. Among them, for B-spline curves or B-spline surfaces, in the process of constructing BVH, the nodes are divided with the knots of the curves and surfaces as the dividing points, so that each curve segment or surface piece divided out can be expressed as a parametric curve or surface, realizing the decomposition of the entire parameter expression of the B-spline curve or surface into parameter expressions on multiple small parameter domains, which is convenient for application to the square sum planning solution process and obtaining more accurate results. Taking a quadratic B-spline curve with six control points as an example, according to the basis function definition, it is decomposed into four segments of cubic parametric curves, such as f(t) = at 2 +bt+c, a, b, c are the coefficients of the parameter curve from the highest order to the zeroth order, t is the parameter on this section of the curve, the bounding box is calculated for these four curves and then the BVH is constructed. The specific decomposition process is as follows:

[0031] According to the definition of B-spline curve Where P i is the control point, N i,k is the basis function, k represents the degree of the B-spline curve, n represents the number of control points of the B-spline curve, N i,k The specific definition is:

[0032]

[0033] knot[i]≤t <knot[i+1]

[0034] According to the recursive condition, the non-zero basis functions on [knot[i], knot[i+1]] are expanded to obtain a quadratic equation about t. Further, after multiplying with the control point P, three parametric equations about the three directions of x, y, and z are obtained. Define the double array param_a[3], param_b[3], param_c[3] to store the intermediate variables of the coefficients of the parametric equations of x, y, and z about t after the basis functions are expanded on the interval. The calculation yields:

[0035]

[0036]

[0037] Then a loop is used to calculate the parameters of the parametric equation of the actual point coordinates about t, which is defined as std::vector <double>coefficientX, coefficientY, coefficientZ. coefficientX+={param_a[j]*P[ij].x,param_b[j]*P[ij].x,param_c*P[ij].x},j∈[0,2], coefficientY and coefficientZ are the same. Finally, std::vector <std::vector <double>> coefficients_i = {coefficientX, coefficientY, coefficientZ} added to a std::vector used to store the coefficients of the parametric equation for each curve segment <std::vector<std::vector <double>>>In curveParams, the decomposition of the quadratic B-spline curve is completed.

[0038] Step 2: Select all leaf nodes from the two BVHs constructed in step 1 and record them as node sets S A and S B , for two S a and S B Traverse and calculate the maximum distance between the bounding boxes of each two nodes, update the minimum maximum distance minMaxDistance, and use a structure array (minDistStruct[]) to save the minimum distance minDist between the bounding boxes of each two nodes and the pointer to the corresponding two nodes. Then use quick sort to sort minDistStruct[] in ascending order according to minDist, and find the element set T whose minimum distance is less than or equal to minMaxDistance. Further process the elements in T. If there are node pairs of adjacent nodes, replace them with parent node pairs. The specific operation is: if T contains element T i , T j , T i Contains node node_a i and node_b i ,T j Contains node node_a j and node_b j , node_a represents the BVH node belonging to geometric object A, node_b represents the BVH node belonging to geometric object B, if node_a i and node_a j For the same parent node node_a parent The child node of node_b i and node_b j For the same parent node node_b parent child nodes, then you can i , T j Merge into T new , the node information contained is updated to node_a parent and node_b parebt , looping through the list until there are no more pairs of elements that can be merged.

[0039] Step 3: further process the elements in the set T obtained in step 2 whose minimum distance between bounding box pairs is less than or equal to minMaxDistance, find the specific node and restore the relevant information (specific parameter expression and parameter range) belonging to the original geometric object according to the pointer to the BVH node contained in each element, and substitute it into the square sum planning solution model. In the present invention, the MOSEK optimization solver is used to solve the square sum planning, and the fusion API of MOSEK is called to construct an SOS model for solving the minimum distance, and then the specific constraint information is substituted into the model and converted into a problem solved by semidefinite programming for solution.

[0040] Taking solving the minimum distance between two B-spline curves as an example, according to the curveParams information obtained in step 1, the coordinates of the point [x, y, z] on the curve can be expressed as Where t∈[t0, t1], assuming that the point on curve A is a point on curve b, it can be expressed as q(t), so the objective function is The objective of the sum-of-squares program is f * =minf(t 1 ,t 2 ), and find t * =minargf(t 1 ,t 2 ). Use the interface provided by MOSEK to set variables, equality and inequality constraints. For example, set the point on curve A to P. A ={X A ,Y A ,Z A }, where X A =Expr::add(Expr::mul(curveParams[i][0],Expr::mul(t,t)),Expr::add(Expr::mul(cur veParams[i][1],t),curveParams[i][2])), Y A ,Z A Similarly. Set the constraint condition M->constraint(Expr::vstack(u1,diff_X),Domain::inQCone()), where diff_X represents the difference in the X values ​​of the two coordinates. The same is true for u2, u3, diff_Y, and diff_Z. Set the objective function to dist_sq = Expr::add(Expr::add(u1,u2), u3); then call the solve function to calculate the minimum distance between the two curves and save it to an array. Finally, find the minimum value in the array to determine the minimum distance between the two B-spline curves. According to the corresponding t * Inversely find the points on the two curves that correspond to the minimum distance.

[0041] In the collision detection scenario, the minimum distance obtained above is compared with a preset threshold. If the minimum distance is less than the threshold, it indicates that the geometric objects A and B collide. Furthermore, if it is necessary to solve the intersection area of ​​A and B, the point closest to A and B can be used as the initial point for subsequent algorithm processes such as Newton's iteration method. If the minimum distance is greater than or equal to the threshold, it indicates that the geometric objects A and B do not collide. Furthermore, subsequent intersection algorithm processes can be avoided.

[0042] So far, the collision detection method of 3D CAD model based on BVH and square sum programming has been given in detail. The present invention realizes the calculation of the minimum distance between geometric objects such as points, curves, and surfaces, performs certain special processing on B-spline curves and surfaces, and finally obtains the result of collision detection between two geometric objects. After sufficient testing, the algorithm of the present invention meets the requirements of current mainstream modeling software in terms of efficiency and accuracy.< / double> < / double> < / double>

Claims

1. A collision detection method for a 3D CAD model based on BVH and square sum programming, characterized in that: The steps include: (1) Import the geometric objects A and B that need to be collided, construct the BVH of the geometric objects A and B, and initialize the parameter node pairs. Each node contains the geometric information of the geometric object and the divided parameter range. (2) Select all leaf nodes in the BVH, calculate the minimum distance and maximum distance between AABB bounding boxes, calculate the minimum maximum distance minMaxDist between all leaf node bounding boxes of geometric objects A and B, save all node pairs with minimum distance less than or equal to minMaxDist into a structure array, and recursively replace adjacent nodes with the parent nodes of the nodes to reduce the total number of node pairs; the structure array contains node geometry information, parameter range and minimum distance; (3) Construct a sum-of-squares program for solving the minimum distance. Substitute the parameter equations and parameter ranges of the node pairs calculated in step (2) and the corresponding constraint relationships that restrict the shape of the geometric objects into the sum-of-squares program solving model. Convert the sum-of-squares program into a semidefinite program. Use an optimization solver to solve the semidefinite program problem. Calculate the minimum distance between each node pair and update the global minimum distance. Finally, obtain the minimum distance between the geometric objects A and B. (4) Compare the minimum distance obtained in step (3) with a preset threshold. If the minimum distance is greater than or equal to the threshold, it indicates that the geometric objects A and B have not collided. If the minimum distance is less than the threshold, it indicates that the geometric objects A and B have collided.

2. The three-dimensional CAD model collision detection method based on BVH and square sum programming according to claim 1 is characterized in that: The geometric information in step (1) is specifically: parametric equations of curves and surfaces, the curves include straight lines, circles, ellipses, and B-spline curves, and the surfaces include planes, cylinders, cones, spheres, tori, and B-spline surfaces.

3. The three-dimensional CAD model collision detection method based on BVH and square sum programming according to claim 2 is characterized in that: The curve or surface needs to construct a BVH structure and divide it into nodes according to the corresponding data structure, and then apply the node pairs with the closest distance to the square sum planning model for solving.

4. The three-dimensional CAD model collision detection method based on BVH and square sum programming according to claim 2 is characterized in that: The B-spline curve is calculated by decomposing it piece by piece to calculate the polynomial expression between each node; the B-spline surface is calculated by decomposing it piece by piece according to the node to calculate the polynomial expression of the surface piece between adjacent nodes.

5. The three-dimensional CAD model collision detection method based on BVH and square sum programming according to claim 1, characterized in that: The step (2) is divided into the following sub-steps: (2.1) Select all leaf nodes in the BVH of geometric objects A and B, denoted as S(A) and S(B) respectively; each node represents an AABB bounding box; the minimum distance and maximum distance between the AABB bounding boxes are obtained by calculating the distances between the eight vertices of the two bounding boxes, denoted as a∈S(A), b∈S(B), where a represents a leaf node of geometric object A and b represents a leaf node of geometric object B, and the minimum distance and maximum distance between a and b are recorded; (2.2) Traverse S(A) and S(B), first calculate the maximum distance between a and b through a double loop, update the minimum maximum distance minMaxDistGlobal between the global BVH nodes, and then save the minimum distance between a and b and the node information of a and b into a structure array; (2.3) Arrange the structure array described in step (2.2) in ascending order according to the size of the structure members by quick sort, and let the set of elements whose structure members are less than or equal to minMaxDistGlobal be T(A) and T(B); for the elements in T(A) and T(B), if there are adjacent node pairs, use the parent node to replace the adjacent node.

6. The three-dimensional CAD model collision detection method based on BVH and square sum programming according to claim 1, characterized in that: The step (3) is divided into the following sub-steps: (3.1) Traverse T(A) and T(B), let a∈T(A), b∈T(B), and let the parameter range of a be [pMin a ,pMax a ], the parameter range of b is [pMin b ,pMax b ]; According to Putinar's theorem, any strictly positive polynomial f(u) in its domain can be decomposed into Where u represents the parameters of the geometric object, m represents the number of non-negative polynomials taken on the domain of f(u), and s i (u) represents a square sum polynomial of degree not exceeding f(u), g i is a non-negative polynomial in the domain; if there are equality constraints, then f(u) is decomposed into where p i is any polynomial, h i is a polynomial that is zero over its domain; (3.2) Use square sum programming to solve the minimum distance between geometric objects A and B. Suppose the domain of geometric object A is The domain of the geometric object B is The domains of geometric objects A and B are where u 1 ,u 2 are the parameters of A and B, is the parametric equation of A and B, q j It is a constraint used to limit the shape of geometric objects; define geometric objects A and B as x 1 (u 1 ) and x 2 (u 2 ), the distance between them is Get the minimum distance solution formula between geometric objects A and B: f * =minf(u 1 ,u 2 ), the corresponding points of the geometric objects A and B that are closest to each other are: u * =argminf(u 1 ,u 2 ); Substitute the parameter polynomial and parameter range of the node pair calculated in step (2) into the square sum planning solution model to form a series of constraints of the square sum planning. Use the optimization solver to transform the square sum planning into a semidefinite planning solution, calculate the minimum distance between each node pair, and update the global minimum distance, and finally obtain the minimum distance between two geometric objects.

Citation Information

Patent Citations

  • Early warning method for collision in offshore pile sinking construction process

    CN112632686A

  • BIM-based method for quickly calculating distance between polyhedrons

    CN115908542A

  • Adaptive distance field construction method based on bounding volume hierarchy

    CN116310119A

  • Measurement method and device based on lightweight three-dimensional model and electronic equipment

    CN116385522A

  • Collision detection algorithm based on AABB bounding box model segmentation and iteration

    CN116386025A

Cited By

  • Parallel BVH minimum distance query algorithm based on CUDA

    CN119917683A