Product nurbs surface large-scale space projection solution and geometric design manufacturing method

By using vectorized computation and GPU-optimized NURBS surface solving methods, subdivision trees and point clouds are generated. Combined with KNN and Newton iteration, the problem of low solution efficiency and poor robustness in large and complex models is solved, and efficient spatial projection solution is achieved.

CN116821987BActive Publication Date: 2026-02-10ZHEJIANG UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310668531.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-07
Publication Date
2026-02-10
Estimated Expiration
2043-06-07

AI Technical Summary

Technical Problem

Existing NURBS surface spatial projection solution methods are inefficient and have poor robustness in large and complex 3D models, making it difficult to meet the high-precision requirements of high-end manufacturing.

Method used

By employing vectorized computation and GPU instruction set optimization, and generating NURBS surface subdivision trees and sampled point clouds, combined with the KNN algorithm and Newton's iteration method, spatial projection solution is achieved by performing a coarse query followed by a fine query.

Benefits of technology

It enables real-time calculation of large-scale spatial projection of NURBS surfaces of products, improving calculation efficiency and robustness, and is suitable for high-end manufacturing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116821987B_ABST
    Figure CN116821987B_ABST
Patent Text Reader

Abstract

The application discloses a product NURBS curved surface large-scale space projection solution and geometric design manufacturing method. Product NURBS curved surface information and a group of three-dimensional space query points are acquired; an original curved surface model is generated from the input curved surface information by a general three-dimensional CAD software; the generated curved surface model is subjected to vectorization expression of the NURBS curved surface by a GPU, and is saved in a matrix form; the NURBS curved surface matrix processed in the receiving step is received, and then a subdivision tree of the NURBS curved surface and a discrete point cloud representation are constructed; the three-dimensional points required to be projected and the subdivision tree are traversed, the curved surface section where the target point is possibly projected and the point cloud representing the curved surface section are acquired, then the KNN algorithm is used to find the approximate projection of the target point; finally, the projection of the target point on the NURBS curved surface is obtained by means of Newton iteration. The method can process the super large-scale three-dimensional space point projection solution problem, and achieves real-time in speed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention pertains to a modeling and manufacturing method within the field of Computer-Aided Design (CAD) systems. Specifically, it relates to a method for rapid solution and geometric design manufacturing of large-scale spatial projection of NURBS surfaces based on vectorized computation. Background Technology

[0002] 3D CAD systems are the primary tools for modern industrial product design, mainly used to build and edit CAD models of products. NURBS (Non-Uniform Rational Basis Spline) surfaces are the standard model representation format in modern 3D CAD systems. The spatial projection calculation of NURBS surfaces involves finding the point on the NURBS surface with the minimum distance to a given point in 3D space. This is one of the most fundamental operators in CAD systems, supporting a series of important functions such as surface intersection, collision detection, and point cloud fitting.

[0003] NURBS is an abbreviation for Non-Uniform Rational B-Splines. "Non-uniform" means that the range affected by a control vertex can change; "rational" means that the NURBS surface is defined by a polynomial; and "B-spline" means that the surface is obtained by interpolation between one or more points.

[0004] In mathematics, a NURBS surface S(u, v) of degree p in the u direction and degree q in the v direction is defined as:

[0005]

[0006] P i,j w represents a single control point i,j N represents the weight factor for a single control point. i,p (u) represents a single basis function in the u direction, N j,q (v) denotes a single basis function in the v direction, where {P} i,j} represents the control point grid, {w i,j} represents the set of weight factors corresponding to the control points, {N} i,p (u)} and {N j,q (v)} are the sets of nonrational B-spline basis functions defined by the first node vector U and the second node vector V, respectively. i,j (u, v) represents the combined variable of the control point weighting factor and the basis function, where,

[0007]

[0008]

[0009] n and m are the number of control points in the u and v directions, respectively. N i,p (u) represents the i-th p-th B-spline basis function, which is defined as:

[0010]

[0011]

[0012] The derivative of a NURBS surface is calculated as follows:

[0013]

[0014]

[0015] And among them It can be expressed as N i,p (u) and N i,p The derivative of (v) is calculated as follows:

[0016]

[0017]

[0018] The above iterative formula is known as the de Boor-Cox recursive algorithm.

[0019] The so-called spatial projection solution of NURBS surfaces is to obtain the projection of a point q∈S(u,v) on the surface onto a given three-dimensional point p∈R. 3 The distance is the smallest:

[0020]

[0021] Here, |||2 represents the L2 norm.

[0022] Existing NURBS surface spatial projection calculation methods can be divided into two categories: geometric methods and numerical methods.

[0023] The basic idea of ​​the geometric method is to continuously subdivide the surface until a given tolerance threshold is reached, and then find a subdivided surface segment containing the projection points of a given 3D space point. The parameter value corresponding to any point on this surface can be considered as the parameter value of the projection point. This method can ensure that a globally optimal solution is found and has good robustness. However, to meet the high-precision requirements of CAD modeling (such as 10), -6This method requires a large number of surface subdivision operations, and the validity of the generated subdivision surface segments needs to be screened, which makes the time cost of this method relatively large.

[0024] The basic idea of ​​numerical methods is to directly apply iterative algorithms, such as the Gauss-Newton method, to search for parameter values ​​at the projection points corresponding to points in 3D space across the entire parameter domain. This method has the advantage of fast convergence, but it is prone to getting trapped in local optima, leading to incorrect answers and poor robustness. In the use of numerical methods, the selection of initial values ​​for iteration is a key factor affecting the algorithm's efficiency and robustness.

[0025] In summary, existing methods suffer from low efficiency and poor robustness. They may work for small-scale 3D spatial points, but they are not suitable for large and complex 3D models, especially large assembly models. Summary of the Invention

[0026] To address the shortcomings of the prior art, the present invention aims to provide a method for solving and geometrically designing and manufacturing large-scale spatial projections of NURBS surfaces using vectorized computation and GPU instruction set optimization.

[0027] This invention provides a highly efficient method for solving the spatial projection of NURBS surfaces on high-end manufactured products.

[0028] This invention, based on the NURBS surface information of a product input by the user through the CAD system interface, can handle ultra-large-scale three-dimensional spatial point projection calculation problems after a series of processing steps, achieving real-time speed.

[0029] The products described in this invention are all high-end manufactured products.

[0030] To achieve the above objectives, the technical solution adopted by the present invention is as follows:

[0031] 1) Obtain product NURBS surface information and multiple 3D query points;

[0032] 2) Generate the original surface model based on the product's NURBS surface information, and then re-express the original surface model using NURBS surface quantization;

[0033] 3) Based on the NURBS surface quantization expression, construct the NURBS surface subdivision tree and generate the sampling point cloud of the NURBS surface;

[0034] 4) Based on multiple 3D query points, use the NURBS surface subdivision tree and the sampling point cloud of the NURBS surface to perform NURBS surface projection query, and obtain the surface projection points corresponding to the multiple 3D query points;

[0035] 5) Based on the original surface model and surface projection points, perform geometric design and manufacturing of the product's NURBS surface.

[0036] Specifically, 2) refers to:

[0037] First, a mathematical expression for the NURBS surface is generated based on the surface control point mesh, control point weight factors, and node vectors. Then, the mathematical expression for the NURBS surface is expressed in polynomial form to obtain the NURBS surface quantization expression.

[0038] In step 2), the original surface model is re-expressed using NURBS surface quantization, specifically as follows:

[0039] First, the Oslo algorithm is used to slice the NURBS surface for each node interval of the given node vector to obtain multiple surface slices. Then, the de Boor-Cox recursive formula is used to analytically re-express the NURBS surface on each of the multiple surface slices to obtain the piecewise polynomial of the NURBS surface and use it as the NURBS surface quantization expression.

[0040] Specifically, 3) refers to:

[0041] Parallel and fast calculations of NURBS surface points, normals, and curvature are performed based on the NURBS surface quantization expression to obtain surface parameter calculation results. NURBS surface subdivision tree is generated based on the surface parameter calculation results, and sampling point cloud of NURBS surface is generated after discretization of the surface parameter calculation results.

[0042] In step 3), the NURBS surface subdivision tree is generated based on the surface parameter calculation results, specifically as follows:

[0043] The concavity and convexity of the NURBS surface or its segments are calculated based on the surface parameter calculation results. If the concavity and convexity of the NURBS surface or its segments does not meet the preset conditions, the NURBS surface or its segments are subdivided to obtain subdivided surface segments. The concavity and convexity of each subdivided surface segment is judged. If the concavity and convexity do not meet the preset conditions, the subdivision of each subdivided surface segment is continued until all surface segments meet the preset conditions, thereby constructing and obtaining the NURBS surface subdivision tree.

[0044] The degree of concavity and convexity of each surface segment includes maximum curvature and concavity / convexity. A bounding box for each surface segment is generated based on the position, normal, and curvature information of the sampling points within each surface segment, and the flatness of the bounding box is used as the concavity / convexity of each surface segment. The preset condition is that the maximum curvature of each surface segment is less than or equal to a preset curvature threshold and the concavity / convexity of each surface segment is less than or equal to a preset concavity / convexity threshold.

[0045] Specifically, 4) refers to:

[0046] 4.1) First, traverse between each 3D query point and the NURBS surface subdivision tree to obtain subdivision surface segments that may contain target projection points;

[0047] 4.2) Based on the sampled point cloud of the NURBS surface, local point cloud sampling is performed on the subdivided surface segments that may contain target projection points to obtain local sampled point clouds.

[0048] 4.3) Use the KNN algorithm to find the point in the local sampled point cloud that is closest to the current 3D query point, and record it as the approximate projection point;

[0049] 4.4) Using the approximate projection point as the initial value, the Newton iteration method is used to iteratively solve the problem in the current subdivision surface segment to obtain the accurate projection point of the current 3D query point on the NURBS surface;

[0050] 4.5) Repeat steps 4.1)-4.4) to obtain the precise projection points of the remaining 3D query points on the NURBS surface, and finally obtain the surface projection points corresponding to multiple 3D query points.

[0051] Guided by the NURBS surface information (mainly including surface control point mesh, control point weight factors, and node vectors) input by the user through the CAD system interface and a set of query points, this invention generates a NURBS surface quantization representation that is easy for GPU computing, as well as a NURBS surface subdivision tree and point cloud sampling that are easy for spatial projection calculation. It adopts a method of first coarse query and then fine query to ensure the efficiency of spatial projection calculation, thereby realizing the real-time calculation of large-scale spatial projection of product NURBS surface.

[0052] The beneficial effects of this invention are:

[0053] The method of this invention employs vectorized representation and GPU parallel computing, achieving advantages over existing commercial CAD software in spatial projection calculation of NURBS surfaces and related geometric design and manufacturing.

[0054] The method of this invention can realize real-time calculation of large-scale spatial projection of NURBS surface of product. Attached Figure Description

[0055] Figure 1 This is a flowchart of the method of the present invention.

[0056] Figure 2 Subdivision tree for NURBS surface.

[0057] Figure 3 This is a diagram of the experimental use cases. Detailed Implementation

[0058] The invention will now be further described with reference to the accompanying drawings.

[0059] like Figure 1 As shown, the present invention includes the following steps:

[0060] 1) Obtain product NURBS surface information and multiple 3D query points. These multiple 3D query points represent the 3D spatial positions of a set of query points, which are obtained by the user through the system's CAD user interface. Product NURBS surface information includes the surface control point mesh, control point weight factors, and node vectors.

[0061] 2) Generate the original surface model based on the product's NURBS surface information, and then re-express the original surface model using NURBS surface quantization;

[0062] 2) Specifically:

[0063] First, the mathematical expression of the NURBS surface, i.e. the original surface model, is generated based on the surface control point mesh, control point weight factors, and node vectors. Then, the mathematical expression of the NURBS surface is expressed in polynomial form to obtain the NURBS surface quantization expression.

[0064] In step 2), the original surface model is re-expressed using NURBS surface quantization, specifically as follows:

[0065] First, the Oslo Olso algorithm is used to slice the NURBS surface for each node interval of the given node vector to obtain multiple surface slices. Then, the de Boor-Cox recursive formula is used to analytically re-express the NURBS surface on each of the multiple surface slices to obtain the piecewise polynomial of the NURBS surface, which is used as the NURBS surface quantization expression. Finally, the NURBS surface quantization expression is saved in the computer.

[0066] 3) Based on the NURBS surface quantization expression, construct the NURBS surface subdivision tree and generate the sampling point cloud of the NURBS surface;

[0067] 3) Specifically:

[0068] The GPU module performs parallel and rapid calculations of NURBS surface points, normals, and curvatures based on the NURBS surface quantization expression to obtain the surface parameter calculation results; and generates a NURBS surface subdivision tree based on the surface parameter calculation results, such as... Figure 2 As shown, the sampling point cloud of the NURBS surface is generated after discretizing the surface parameter calculation results.

[0069] In step 3), a NURBS surface subdivision tree is generated based on the surface parameter calculation results, specifically as follows:

[0070] The concavity and convexity of the NURBS surface or its segments are calculated based on the surface parameter calculation results. If the concavity and convexity of the NURBS surface or its segments does not meet the preset conditions, the NURBS surface or its segments are subdivided to obtain subdivided surface segments. The concavity and convexity of each subdivided surface segment is then judged. If the concavity and convexity do not meet the preset conditions, the subdivision of each subdivided surface segment continues until all surface segments meet the preset conditions. The NURBS surface is used as the root node, each surface segment as the parent node, and its corresponding subdivided surface segments as child nodes, thereby constructing and obtaining the NURBS surface subdivision tree.

[0071] The degree of concavity and convexity of each surface segment includes maximum curvature and concavity / convexity. The bounding box of each surface segment is generated based on the position, normal, and curvature information of the sampling points within each surface segment, and the flatness of the bounding box is used as the concavity / convexity of each surface segment. The preset conditions are that the maximum curvature of each surface segment is less than or equal to a preset curvature threshold and the concavity / convexity of each surface segment is less than or equal to a preset concavity / convexity threshold.

[0072] 4) Based on multiple 3D query points, use the NURBS surface subdivision tree and the sampling point cloud of the NURBS surface to perform NURBS surface projection query, and obtain the surface projection points corresponding to the multiple 3D query points;

[0073] 4) Specifically:

[0074] 4.1) First, traverse between each 3D query point and the NURBS surface subdivision tree to obtain subdivision surface segments that may contain target projection points;

[0075] 4.2) Based on the sampled point cloud of the NURBS surface, local point cloud sampling is performed on the subdivided surface segments that may contain target projection points to obtain local sampled point clouds.

[0076] 4.3) Use the KNN algorithm to find the point in the local sampled point cloud that is closest to the current 3D query point, and record it as the approximate projection point;

[0077] 4.4) Using the approximate projection point as the initial value, the existing Newton iteration method is used to iteratively solve the problem in the current subdivided surface segment to obtain the accurate projection point of the current 3D query point on the NURBS surface.

[0078] 4.5) Repeat steps 4.1)-4.4) to obtain the precise projection points of the remaining 3D query points onto the NURBS surface. Finally, obtain the surface projection points corresponding to multiple 3D query points. A typical model that this invention can process is as follows: Figure 3 A, Figure 3 B and Figure 3 As shown in C.

[0079] 5) Based on the original surface model and surface projection points, perform geometric design and manufacturing of the product's NURBS surface.

[0080] Specifically, geometric design is performed using surface projection points to obtain the designed product NURBS surface, and then the designed product NURBS surface is used for actual production and manufacturing.

[0081] Among them, geometric design involves modifying the shape of the NURBS surface in the original surface model based on the surface projection point results. This can be done through existing CAD software interfaces; it can also be processed by CNC machine tools or manufactured using other methods such as 3D printing.

[0082] Guided by the NURBS surface information (mainly including surface control point mesh, control point weight factors, and node vectors) input by the user through the CAD system interface and a set of query points, this invention generates a NURBS surface quantization representation that is easy for GPU computing, as well as a NURBS surface subdivision tree and point cloud sampling that are easy for spatial projection calculation. It adopts a method of first coarse query and then fine query to ensure the efficiency of spatial projection calculation, thereby realizing the real-time calculation of large-scale spatial projection of product NURBS surface.

[0083] This invention first accepts the NURBS surface information processed in the above steps, and then displays it on the user interface for the user to perform further operations. The specific display technology is consistent with existing commercial CAD software.

[0084] The above specific embodiments are used to explain and illustrate the present invention, but not to limit the present invention. Any modifications and changes made to the present invention within the spirit and scope of the claims shall fall within the protection scope of the present invention.

Claims

1. A method for large-scale spatial projection calculation and geometric design manufacturing of NURBS surfaces for products, characterized in that, Includes the following steps: 1) Obtain product NURBS surface information and multiple 3D query points; 2) Generate the original surface model based on the product's NURBS surface information, and then re-express the original surface model using NURBS surface quantization; In step 2), the original surface model is re-expressed using NURBS surface quantization, specifically as follows: First, the Oslo algorithm is used to slice the NURBS surface for each node interval of the given node vector to obtain multiple surface slices. Then, the de Boor-Cox recursive formula is used to analytically re-express the NURBS surface on each of the multiple surface slices to obtain the piecewise polynomial of the NURBS surface and use it as the NURBS surface quantization expression. 3) Based on the NURBS surface quantization expression, construct the NURBS surface subdivision tree and generate the sampling point cloud of the NURBS surface; Specifically, 3) refers to: Parallel and fast calculations of NURBS surface points, normals, and curvature are performed based on the NURBS surface quantization expression to obtain surface parameter calculation results; NURBS surface subdivision tree is generated based on the surface parameter calculation results, and sampling point cloud of NURBS surface is generated after discretization of the surface parameter calculation results; 4) Based on multiple 3D query points, use the NURBS surface subdivision tree and the sampling point cloud of the NURBS surface to perform NURBS surface projection query, and obtain the surface projection points corresponding to the multiple 3D query points; Specifically, 4) refers to: 4.1) First, traverse between each 3D query point and the NURBS surface subdivision tree to obtain subdivision surface segments that may contain target projection points; 4.2) Based on the sampled point cloud of the NURBS surface, local point cloud sampling is performed on the subdivided surface segments that may contain target projection points to obtain local sampled point clouds; 4.3) Use the KNN algorithm to find the point in the local sampled point cloud that is closest to the current 3D query point, and record it as the approximate projection point; 4.4) Using the approximate projection point as the initial value, the Newton iteration method is used to iteratively solve the problem in the current subdivision surface segment to obtain the accurate projection point of the current 3D query point on the NURBS surface; 4.5) Repeat steps 4.1)-4.4) to obtain the precise projection points of the remaining 3D query points on the NURBS surface, and finally obtain the surface projection points corresponding to multiple 3D query points; 5) Based on the original surface model and surface projection points, perform geometric design and manufacturing of the product's NURBS surface.

2. The method for large-scale spatial projection calculation and geometric design manufacturing of NURBS surfaces according to claim 1, characterized in that, Specifically, 2) refers to: First, a mathematical expression for the NURBS surface is generated based on the surface control point mesh, control point weight factors, and node vectors. Then, the mathematical expression for the NURBS surface is expressed in polynomial form to obtain the NURBS surface quantization expression.

3. The method for large-scale spatial projection calculation and geometric design manufacturing of NURBS surfaces according to claim 1, characterized in that, In step 3), the NURBS surface subdivision tree is generated based on the surface parameter calculation results, specifically as follows: The concavity and convexity of the NURBS surface or its segments are calculated based on the surface parameter calculation results. If the concavity and convexity of the NURBS surface or its segments does not meet the preset conditions, the NURBS surface or its segments are subdivided to obtain subdivided surface segments. The concavity and convexity of each subdivided surface segment is judged. If the concavity and convexity do not meet the preset conditions, the subdivision of each subdivided surface segment is continued until all surface segments meet the preset conditions, thereby constructing and obtaining the NURBS surface subdivision tree.

4. The method for large-scale spatial projection calculation and geometric design manufacturing of NURBS surfaces according to claim 3, characterized in that, The degree of concavity and convexity of each surface segment includes maximum curvature and concavity and convexity, wherein a bounding box of each surface segment is generated based on the position, normal and curvature information of the sampling points within each surface segment, and the flatness of the bounding box is used as the concavity and convexity of each surface segment. The preset conditions are specifically that the maximum curvature of each surface segment is less than or equal to a preset curvature threshold and the concavity / convexity of each surface segment is less than or equal to a preset concavity / convexity threshold.