Unstructured high-order grid generation method based on Loop subdivision format

By combining Bézier surfaces and asymptotic iterative approximation methods, and using the Loop subdivision format to generate unstructured high-order meshes, the problem of converting discrete triangular mesh models into high-order parametric surfaces is solved, achieving efficient and smooth surface reconstruction, which is suitable for CAD/CAM systems.

CN121502967APending Publication Date: 2026-02-10HANGZHOU DIANZI UNIV
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202511678739.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-17
Publication Date
2026-02-10

AI Technical Summary

Technical Problem

Existing technologies struggle to efficiently convert discrete triangular mesh models into high-order continuous parametric surfaces, resulting in insufficient accuracy or calculation errors in Boolean operations, surface intersection calculations, and CNC machining path planning.

Method used

Combining Bézier surfaces and the progressive iterative approximation (PIA) method, an unstructured high-order mesh is generated through the Loop subdivision format to gradually approximate the target sampling point set, and the C1 continuity is guaranteed by the collinearity constraint of shared edges.

Benefits of technology

It enables efficient and automated generation of high-quality high-order smooth surfaces from discrete data, is suitable for CAD/CAM systems, avoids solving large linear equation systems, and is suitable for large-scale point cloud fitting.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121502967A_ABST
    Figure CN121502967A_ABST
Patent Text Reader

Abstract

The invention discloses an unstructured high-order grid generation method based on a Loop subdivision format, and the method comprises the steps: firstly reading a linear triangular grid as a basic topological structure, and reading sampling point set data of a target model; secondly, initializing each triangular patch in the basic topological structure into a quartic triangular Bezier surface patch based on a Loop subdivision rule, establishing a mapping relation, and splicing all the surface patches into an initial high-order surface; establishing a sampling point-patch association index through a k-d tree acceleration structure, and updating the global control point based on the mapping relation to obtain a preliminarily optimized global control point; and finally, applying continuous coplanar constraint to the global control points, forming a final parameter curved surface, generating a triangular mesh model and outputting the triangular mesh model. According to the method, the rough linear triangular mesh can be efficiently converted into the continuous high-order curved surface capable of approaching the target sampling data, and the obtained curved surface is high in smoothness and small in fitting error.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the fields of computer-aided geometric design (CAGD) and industrial manufacturing, and particularly relates to a method for converting discrete triangular mesh models into continuous high-order parametric surfaces. Background Technology

[0002] In fields such as industrial design, reverse engineering, mold manufacturing, and aerodynamic simulation, it is often necessary to convert discrete triangular meshes (Mesh) generated through 3D scanning or preliminary CAD modeling into meshes with higher-order continuity (C). 1 Parametric surfaces (such as Bézier or NURBS surfaces) are used to convert discrete meshes into high-quality parametric surfaces. These triangular mesh models lack precise parametric representation, leading to insufficient accuracy or calculation errors when performing Boolean operations, surface intersection, CNC machining path planning, or fluid dynamics analysis. Therefore, a method is urgently needed to automatically convert discrete meshes into high-quality parametric surfaces.

[0003] Traditional methods are mainly divided into two categories: interpolation methods and approximation methods. While interpolation methods can ensure that the surface passes through the original data points, they are prone to generating unnecessary fluctuations and oscillations between data points, resulting in poor surface quality. Global approximation methods can obtain smooth surfaces by minimizing the global error functional, but they often require solving a large-scale system of linear equations, which is computationally expensive and inefficient when processing large-scale point cloud data generated by industrial scanning.

[0004] Therefore, how to efficiently and automatically generate high-order smooth surfaces from discrete data that can be used for engineering analysis and manufacturing has become a technical problem that urgently needs to be solved in fields such as CAD and reverse engineering. Summary of the Invention

[0005] The purpose of this invention is to overcome the shortcomings of existing technologies and propose a method for generating unstructured high-order meshes based on the Loop subdivision format. This invention combines the Bézier surface format, widely used in CAD systems and possessing strong expressive power, with the efficiency of Iterative Approximation (PIA), developing a new method capable of accurately fitting complex freeform surfaces. It is applicable to triangular mesh models obtained from CAD systems, 3D scanning data (reverse engineering), or polygon modeling software, and ultimately generates high-order Bézier surfaces suitable for downstream CAD / CAM systems.

[0006] This invention proposes an unstructured high-order mesh generation method based on the Loop subdivision scheme: First, using a common triangular mesh model as input, a quadratic triangular Bézier control point structure is generated for each triangular facet under the Loop subdivision scheme; then, PIA is used to iteratively update the global control points, so that the reconstructed surface gradually approximates the target sampling point set, and the collinearity constraint of shared edges ensures C 1Continuity is maintained, ultimately resulting in a high-quality triangular mesh model.

[0007] The input model can originate from the discretization results of CAD surfaces, or from mesh data generated by 3D scanning or modeling software. This method is insensitive to the input source; a Loop subdivision control structure can be directly established on the mesh and entered into the fitting process.

[0008] The specific technical steps of this invention are as follows:

[0009] Step 1: Read a coarse linear triangular mesh and use it as the basic topology T1; and read the high-precision sample point set data S of the target model. The output of this step is the basic topology T1 and the sample point set data S, which will be used as the input for subsequent steps.

[0010] Step 2: Using the basic topology T1 obtained in Step 1, initialize each triangular patch as a quartic Bézier surface patch based on the Loop subdivision rule, and establish a mapping relationship G_map. Then, stitch all the Bézier surface patches together to form a continuous initial higher-order surface B0. The output of this step is the initial higher-order surface B0 and the mapping relationship G_map.

[0011] Step 3: Using the sample point set data S obtained in Step 1 and the initial high-order surface B0 generated in Step 2, a kd-tree acceleration structure based on the center points of a linear triangular mesh is constructed to quickly match each sample point in S to its nearest neighbor patch on B0, and a sample point-pattern association index Idx_map is established. The output of this step is the association index Idx_map, which associates the sample point data with the surface topology.

[0012] Step 4: Using the association index Idx_map established in Step 3, traverse the sampling point set data S from Step 1, and calculate the residual vector d between each sampling point and the corresponding projection point on the current Bézier surface patch. Then, weight and converge the residual vector d according to the Bernstein basis function, and accumulate it to the fitted vector of the global control point through the mapping relationship G_map established in Step 2, finally updating the global control point. Repeat this iteration until the error meets the threshold, and obtain the initially optimized global control point G_opt1.

[0013] Step 5: To improve the continuity of adjacent patches, apply C to the preliminarily optimized global control point G_opt1 obtained in Step 4. 1 The continuity coplanar constraint ensures that adjacent facets share a common tangent plane by adjusting the position of the control points, thereby improving the overall smoothness and obtaining the final optimized global control point G_final.

[0014] Step 6: Update the final optimized global control points G_final obtained in Step 5 to each local surface patch to form the final parametric surface. Subsequently, perform parametric evaluation and triangulation on the parametric surface to generate a fine, smooth, high-quality triangular mesh model and output it.

[0015] As a preferred method, the linear triangular mesh is initialized as a higher-order Bézier surface in step 2 as follows:

[0016] Step 2.1: For each triangular facet in T1, construct a computation template containing information about its 1-neighborhood vertices (the template contains h vertices), and organize the coordinates of these h vertices into an initial template matrix P.

[0017] Step 2.2: Using the predefined Loop subdivision matrices M1 and M2, perform matrix multiplication on the initial template matrix P obtained in Step 2.1 to obtain the template matrix after secondary subdivision: P2 = M2M1P.

[0018] Step 2.3: Based on the template matrix P2, use the limit subdivision matrix M ∞ Calculate the limiting position matrix P of the Loop subdivision surface corresponding to the current triangular facet at n uniformly distributed parameter points. ∞ :P ∞ =M ∞ P2.

[0019] Step 2.4, M B Given a fixed Bézier basis transformation matrix, the transformation equations M based on the Bernstein basis are solved. B B = P ∞ This yields the matrix B of n local Bézier control points corresponding to the current triangular facet:

[0020] Step 2.5: Traverse all faces, and for all control points (i.e., rows in the matrix) that coincide geometrically in the local Bézier control point matrix B calculated in Step 2.4, merge shared corner and edge points to unify them into global control points, and establish a local-to-global mapping relationship G_map to ensure the overall C of the surface. 0 Continuity.

[0021] Step 2.6: Traverse the mapping relationship G_map and stitch the Bézier surface patches into a continuous initial higher-order surface B0.

[0022] Preferably, in step 4, the update method for iterative fitting includes:

[0023] Step 4.1: In the k-th iteration, for each sampling point Q... iCalculate its relationship with the current Bézier surface patch P. [k] Difference vector between projected points

[0024] Step 4.2, for each control point P j [k] Calculate a fitted vector This vector is at control point P. j [k] The weighted sum of all difference vectors within the support domain, weighted by Bernstein basis functions.

[0025] Step 4.3: According to the iteration format Update the global control point, where λ is the relaxation factor and P j [k] This represents the control point after the k-th update.

[0026] Step 4.4: Calculate the root mean square error between the updated Bézier surface patch and the sampling point set data S, and determine whether the convergence condition is met.

[0027] This invention has the following characteristics and beneficial effects:

[0028] (1) The theory of generating high-order surfaces based on Loop subdivision is innovatively combined with the fitting idea of ​​progressive iterative approximation (PIA), which can efficiently convert coarse linear triangular meshes into continuous high-order Bézier surfaces that can approximate the target sampling data. The resulting surfaces have high smoothness and small fitting error.

[0029] (2) An iterative format is adopted, which avoids solving large linear equation systems, making the algorithm robust and efficient. The final Bézier surface model can be directly applied to downstream CAD / CAM systems without complex format conversion.

[0030] (3) The control point update process is stable and has good convergence performance, making it suitable for large-scale point cloud fitting. Attached Figure Description

[0031] Figure 1 This is a flowchart of the present invention;

[0032] Figure 2 A schematic diagram of an 18-vertex loop subdivision template used to calculate Bézier control points;

[0033] Figure 3(a) shows a schematic diagram of the sub-mesh after one subdivision and its vertex labels;

[0034] Figure 3(b) shows a schematic diagram of the sub-mesh after two subdivisions and its vertex labels;

[0035] Figure 4(a) is a schematic diagram of the initial naive traversal method from the sampling point to the nearest face;

[0036] Figure 4(b) is a schematic diagram of the kd-tree acceleration method based on local neighborhood;

[0037] Figure 5(a) is a schematic diagram of the calculation of the difference vector (residual vector);

[0038] Figure 5(b) is a schematic diagram of the convergence of fitted vectors;

[0039] Figure 5(c) is a schematic diagram of the iterative update of control points;

[0040] Figure 6(a) shows the input coarse triangular mesh;

[0041] Figure 6(b) shows the final high-quality triangular mesh generated by the method of the present invention. Detailed Implementation

[0042] The implementation process of the present invention will be described in detail below with reference to the accompanying drawings. This embodiment uses a common triangular mesh model as input. In the fields of CAD and reverse engineering, this input model can be a discretized mesh of a CAD entity (such as B-rep), or a mesh model generated after surface reconstruction from raw point cloud data obtained by an industrial 3D scanner.

[0043] like Figure 1 As shown, this embodiment of the invention provides a method for generating and fitting high-order meshes based on a Loop subdivision format, including the following steps:

[0044] Step 1: Input the initial model, discretize the model to generate a coarse linear triangular mesh, and use it as the basic topology T1; and read the sample point set data S of the model from an external file as the target for final fitting.

[0045] Step 2: Using the basic topology T1 obtained in Step 1, traverse each of its triangular faces, and calculate and generate a set of 15 corresponding fourth-order Beéier surface control points for each face based on the Loop subdivision rule. Then, stitch all the faces together into a continuous initial high-order surface B0. To ensure the C-order of this surface... 0 To ensure continuity, this step also constructs a global control point list, merges overlapping local control points, and establishes a local-global control point mapping relationship G_map.

[0046] Specifically, in step 2, a set of Bézier surface control points are generated for each triangular facet of the coarse mesh T1 using the Loop-based subdivision rule, and a mapping relationship from local control points to the global control points is established:

[0047] The goal of step 2 is to generate a quartic triangular Bézier surface B4(r,s,t) for each triangular patch τ.

[0048] Step 2.1: For any triangular facet τ = (p0, p1, p2) in the coarse mesh T1, first define a computational template containing its own and 1-neighborhood information. This template consists of 18 vertices (e.g., ...). Figure 2 (As shown). Figure 2 This paper demonstrates a Loop subdivision template structure for calculating control points. The template consists of a central triangle and its 18 vertices in a 1-neighborhood, used to define the local topological relationships during patch subdivision. The coordinates of these 18 vertices, along with the Loop subdivision limit positions of the three vertices p0, p1, and p2 of the central patch τ, are then used. Together they form a 21-dimensional initial template matrix P.

[0049] in The position can be obtained from the formula for the limiting position of the Loop subdivision:

[0050]

[0051] Where n is the vertex degree, ω n The extreme position weight coefficient is determined by n.

[0052] Step 2.2: To obtain the interpolation point information required for the Bézier surface patch, the calculation template P is subdivided into two loops:

[0053] (1) First, the initial template matrix P is transformed into a subdivided template matrix P1 through a Loop subdivision. Referring to Figure 3(a), this figure is a schematic diagram of the sub-mesh P1 extracted after a Loop subdivision of the initial template matrix P in this embodiment of the invention, and its vertex labels. It intuitively shows the geometric structure corresponding to this step. Specifically, the gray area in the figure represents the area of ​​the original triangular facet. The solid line represents the topological boundary and connection relationship of the original 1-neighborhood. The dashed line represents the newly generated edges after a Loop subdivision. These new edges connect the newly generated "edge points" with the updated "vertices", together forming a finer sub-mesh. Vertex labels (v0 to v) 17 ): The v0 to v shown in the figure 17 There are 18 vertices in total, which together form the submesh P1 after one subdivision. v0, v3, and v5 are the three corner points originating from the original face (their positions have been updated according to the Loop subdivision rules). v1, v2, and v4 are newly generated "edge points" on the three edges of the original face. The remaining vertices are the corresponding "vertices" and "edge points" in their 1-neighborhoods. This process can be represented as matrix operations:

[0054] P1 = M1P

[0055] Where M1 is a 21×21 subdivision matrix, and its non-zero elements are determined by the vertex update rule and edge generation rule of the Loop subdivision. The vertex update rule of the Loop subdivision is as follows:

[0056]

[0057] Where n is the degree (valence) of vertex p0, i.e., the number of vertices adjacent to p0, and α n These are weighting coefficients related to n.

[0058] The rules for generating edge points in the Loop subdivision are as follows:

[0059] Where p0 and p1 are the two endpoints of the edge, and p2 and p3 are the opposite vertices of the two triangular faces that share the edge.

[0060] (2) Subsequently, a second Loop subdivision is performed on P1 to obtain the control vector P2 after secondary subdivision. Referring to Figure 3(b), this figure is a schematic diagram of the extracted sub-mesh P2 and its vertex labels after the second Loop subdivision of the sub-mesh P1 after the first subdivision in this embodiment of the invention. It intuitively shows the geometric structure corresponding to the second subdivision matrix operation. Specifically, the gray area in the figure represents the area originating from the original triangular facet, which has now been subdivided twice. The dashed lines represent the newly generated edges in the second Loop subdivision process, which constitute a finer mesh topology than that in Figure 3(a). Vertex labels (v0 to v) 26 ): The v0 to v shown in the figure 26 There are 27 vertices in total, which together constitute the geometric vertex portion of the submesh P2 after secondary subdivision. Among them, v0 to v... 14 These are the 15 vertices located within the original triangular facet region. 15 to v 26 These are the 12 vertices located in its 1-neighborhood. This process can also be represented as a matrix operation:

[0061] P2 = M2P1

[0062] M2 is a 30×21 subdivision matrix, defined in a similar manner to M1.

[0063] Step 2.3: Calculate the limit interpolation point:

[0064] The template P2 after the second subdivision contains all the information needed to calculate the Bézier surface (i.e., the extreme positions of the 15 internal vertices of the triangular patch τ obtained after two subdivisions). These extreme interpolation points constitute the vector P. ∞ This can be obtained by applying the limit position calculation rule to P2:

[0065] P ∞ =M ∞ P2

[0066] Where M ∞ It is a 15×30 matrix, whose non-zero elements are also determined by the limit position formula of Loop subdivision in step 2.1.

[0067] Step 2.4, Solve for the Bézier control points:

[0068] 15 Bézier control point vectors B and 15 limit interpolation point vectors P ∞ Between them, through a fixed Bézier basis transformation matrix M B Establishing relationships:

[0069] M B B = P ∞

[0070] Where matrix M B The element M in row u and column v B (u,v) is defined as: the v-th quartic Bernstein basis function At the u-th preset parameter point (r) u ,s u ,t u The value that can be taken on ).

[0071] By solving this system of linear equations, the Bézier control points can be obtained. Substituting the results from steps 2.2 and 2.3 into the equations, the final formula for calculating the 15 Bézier control points is obtained:

[0072]

[0073] This completes the calculation of generating 15 Bézier control points for a single triangular facet. Using this method, the coarse mesh T1 can ultimately be elevated to a higher-order surface B composed of multiple quartic Bézier triangular facets. The Loop subdivision template, after two subdivisions, can be directly converted into a Bézier surface control mesh. Each original triangular facet generates 15 control points through matrix mapping, forming a quartic triangular Bézier surface patch, achieving the format conversion from a linear mesh to a higher-order continuous surface.

[0074] After calculating local control points for all faces, a globally unique list of control points is created. All local control points are iterated through, shared corner and edge points are merged, and an index mapping table from local vertices to global control points is established to ensure the overall continuity of the surface.

[0075] Step 3: To efficiently associate millions of sampling points with corresponding Bézier faces, a kd-tree is first constructed about the center points of all triangular faces. Then, for each target sampling point, the kd-tree is used to quickly find several candidate nearest neighbor faces, and the nearest triangular face to the sampling point is accurately calculated from them. The index of each sampling point is mapped to and stored with the handle of its nearest triangular face. At the same time, to facilitate subsequent calculations, a reverse mapping is also established from the triangular face to the indices of all its associated sampling points. Referring to Figures 4(a) and 4(b), these two figures compare and illustrate the difference between the kd-tree acceleration strategy and the naive traversal method used in Step 3 of this invention to achieve efficient association between sampling points and faces. Figure 4(a) shows the naive traversal method. In this method, to determine a target sampling point (the center black dot Q in the figure)... i To find the nearest neighbor facet of a point Q, the algorithm must traverse all triangular faces in the coarse mesh T1 and calculate the distance from each point to every facet. As shown by the dashed arrows in the figure, this global search results in a high computational complexity of O(N·M) (N is the number of sampling points, M is the number of faces), which is inefficient when the point cloud and mesh size are large. Figure 4(b) shows the kd-tree acceleration method used in this invention. In step 3 of this invention, a kd-tree spatial index structure is first pre-constructed for the center points of all triangular faces (the dashed rectangles in the figure represent the spatial partitioning of the kd-tree). When matching the same sampling point Q... i At this time, the algorithm utilizes the kd-tree structure to quickly limit the search range to the local space containing the point and its neighboring space. As shown by the solid arrow in the figure, the algorithm only needs to calculate the distance with a few candidate faces in this neighborhood to accurately find the nearest neighbor face (F_closest). In this way, the present invention transforms the global search problem into an efficient neighborhood search problem, significantly reducing the time complexity of step 3 to O(N·logM), thus laying a high-performance foundation for the large-scale iterative fitting in the subsequent step 4.

[0076] Step 4: For each patch, calculate the "difference vector" between its associated sampling points and the corresponding projection points on the current Bézier surface. Then, weighted according to the Bernstein basis function, distribute the contribution of these difference vectors to the 15 control points of that patch, forming their respective "fit vectors". Accumulate and average the calculated local "fit vectors" of all patches to the corresponding global control points through a mapping relationship. Adjust the update step size using a relaxation factor λ (set to 0.1 here) to complete a unified update of all global control points. Calculate the root mean square error between the current Bézier surface and the target sampling point set. If the error is less than a preset threshold (set to 0.005 here) or reaches the maximum number of iterations (set to 50 here), the loop terminates.

[0077] Specifically, in step 4, the control points are updated using an iterative fitting method that incorporates the idea of ​​incremental iterative approximation, in order to gradually approximate the target point set data. The specific implementation is as follows:

[0078] Figures 5(a), 5(b), and 5(c) together illustrate the core iterative mechanism of step 4 of this invention: Progressive Iterative Approximation (PIA). This process is divided into three sub-stages in each iteration: Figure 5(a) – Difference Vector Calculation: This figure shows the stage for calculating the fitting error. For a Bézier patch, the algorithm traverses all its associated sampling points (solid dots in the figure). Simultaneously, it calculates the projection point of each sampling point onto the current surface (hollow dots in the figure). As shown by the arrows in the figure, the difference vector d... i Defined as from projection point P i Pointing to sampling point Q i The vector (i.e., d) i =Q i -P(u i ,v i This vector visually represents the local fitting error of the current surface at this point. Figure 5(b) – Fitting Vector Convergence: This figure illustrates the stage of local error convergence. All the difference vectors calculated in Figure 5(a) are not directly used to update the control points. Instead, each difference vector d i Based on its parameter position on the surface, and using Bernstein basis functions as weights, its contribution is distributed to 15 control points of the surface (taking corner points B1, B2, and B3 as examples in the figure). As shown in the figure, each control point B... j The fitted vector δ on j (The thick arrow in the diagram) represents the weighted sum of all difference vectors affecting this control point. This vector aggregates all local errors and indicates the appropriate measures to be taken at control point B to reduce these errors. jThe average direction and magnitude of the movement are required. Figure 5(c) – Control point update: This figure shows the stages of progressive correction of the Bézier surface patch. The fitted vector δ for all control points is calculated in Figure 4(b). j Then, the algorithm follows the PIA iteration format P [k+1] =P [k] +λδ [k] The control point positions are updated. As shown in the figure, the original control points B1, B2, and B3 move along the direction of their respective fitted vectors by a step size controlled by the relaxation factor λ, reaching new positions B′1, B′2, and B′3. This is repeated... Figures 5(a) to 5(c) Through a complete iteration, the entire Bézier surface gradually and steadily approximates the target sampling point cloud until convergence. These three diagrams visually illustrate that this step is an iterative process. At the beginning of the k-th iteration, the higher-order surface B is controlled by a set of global control points {P}. j [k]} Definition. The goal of the iteration is to compute the next generation of control points {P}. j [k+1] This makes the surface more closely resemble the target sampling point set S.

[0079] Step 4.1: For each target sampling point Q i ∈S, first calculate its surface P in the k-th iteration. [k] The corresponding projection point P on (s,t) [k] (s i ,t i Sampling point Q i Its projection point P [k] (s i ,t i The difference between them is defined as their difference vector.

[0080]

[0081] Where (s) i ,t i ) is point Q i The parametric coordinates on the surface. This vector intuitively represents the current surface coordinates at point Q. i The fitting error at that point.

[0082] Step 4.2, for each control point P j [k] Calculate a "fit vector" This vector is the difference vector of all factors affecting this control point. Using Berstein basis functions B j For the weighted sum of the weights:

[0083]

[0084] Where I j At control point P j The set of indices of all sampling points within the support domain. Fitted vector. The local errors were summarized, and control point P was specified as a control point to reduce these errors. j [k] The direction and magnitude of the movement are required.

[0085] Step 4.3: After obtaining the local fitting vector for each patch, the contributions of these local vectors are accumulated to the corresponding global control point using the mapping relationship established in Step 2. For control points shared by multiple patches, the final fitting vector is the weighted average of all relevant local fitting vectors, where the weights are calculated based on the patch area. Subsequently, each global control point is updated according to the following iterative format:

[0086]

[0087] Here, λ is a relaxation factor or normalization weight used to adjust the update step size to ensure the stability and convergence of the iterative process. This formula forms the core of asymptotic iterative approximation; it does not directly solve for the final position, but approximates the target through gradual corrections.

[0088] Step 4.4: After updating all global control points, a new higher-order surface P is formed. [k+1] (s,t). At this point, calculate the root mean square error between the current surface and the target sampling point set:

[0089]

[0090] Compare this error with a preset convergence threshold. If the error is less than the threshold, or the number of iterations has reached the preset upper limit, the iteration process terminates and proceeds to the post-processing stage in step 5. Otherwise, increment the iteration count by 1, return to step 4.1, and begin a new round of iterative fitting.

[0091] Step 5: After the iterative fitting in Step 4 converges, in order to further improve the surface quality and eliminate potential creases between surfaces, this invention performs C on the initially optimized global control point (G_opt1). 1 Continuity constraint. This step enforces a collinearity constraint by traversing all internal shared edges and iteratively adjusting the control point positions: ensuring that for any shared edge, the tangential control points of adjacent Bézier faces on both sides are collinear with the common control point on the shared edge. Mathematically, this collinearity constraint guarantees that adjacent faces have a unique and continuous tangent plane at the shared edge, thus achieving the C-axis continuity of the overall surface. 1Smoothness is calculated, and the final optimized global control point (G_final) is obtained for use in step 6.

[0092] Step 6: Synchronize the final optimized global control points (G_final) obtained in Step 5 back to the local Bézier control point matrix of each facet through the local-global mapping relationship. At this point, the target point cloud is fitted and C is obtained. 1 A continuous final high-order parametric surface is generated. Subsequently, this parametric surface is parametrically evaluated (e.g., uniformly sampled over the parameter domain of each facet), calculating a large number of points located on the smooth surface. These points are then connected (triangulated) to generate a fine, smooth, high-quality triangular mesh model, which is then output. Figure 6(a) shows the initial coarse triangular mesh (T1) input in step 1, with sharp edges and a small number of faces. Figure 6(b) shows the final high-quality triangular mesh model output after the complete steps of this invention (including the evaluation and generation in step 6). It can be seen that its surface becomes highly smooth, with refined details, while maintaining the original basic shape of the model, demonstrating the superior effect of this invention.

[0093] To verify the effectiveness of this method, the classic Stanford Bunny triangular mesh model was selected as an example. This model can be regarded as a discretized mesh form of CAD surfaces, possessing rich curvature distributions and complex topologies, which can fully test the effectiveness of this method in high-order reconstruction and C++ CAD. 1 The method ensures continuity and improves performance in smooth fitting. Experimental results are shown in Figures 6(a) and 6(b). This method significantly improves the smoothness of the surface and reduces fitting error while maintaining the overall geometric shape. Figure 6(a) shows the input coarse triangular mesh, with sharp edges and a small number of faces. Figure 6(b) shows the final surface generated after processing by the method of this invention. It is evident that the surface becomes highly smooth with refined details, while maintaining the original basic shape of the model, demonstrating the superior performance of this invention.

[0094] The above description, in conjunction with specific / preferred embodiments, provides a further detailed explanation of the present invention. It should not be construed that the specific implementation of the present invention is limited to these descriptions. Those skilled in the art can make various substitutions or modifications to these described embodiments without departing from the inventive concept, and all such substitutions or modifications should be considered within the scope of protection of the present invention.

[0095] The parts of this invention not described in detail are well known to those skilled in the art.

Claims

1. A method for generating unstructured high-order meshes based on the Loop subdivision format, characterized in that, Includes the following steps: Step 1: Read a linear triangular mesh as the basic topology T1; and read the sampling point set data S of the target model; Step 2: Initialize each triangular facet in T1 as a fourth-order triangular facet based on the Loop subdivision rule. Surface patches, and establish a mapping relationship G_map, to all The surface patches are stitched together to form the initial higher-order surface B0; Step 3: Using the sample point set data S and the initial high-order surface B0, an index Idx_map is established by constructing a kd-tree accelerated structure based on the center point of the linear triangular mesh; Step 4: Use the associated index Idx_map to traverse the sampling point set data S, update the global control points based on the mapping relationship G_map, and obtain the preliminary optimized global control point G_opt1; Step 5: Apply C to the initially optimized global control point G_opt1 1 The continuous coplanar constraint forms the final parametric surface, which is then parametrically evaluated and triangulated to generate a triangular mesh model and output it.

2. The method for generating unstructured high-order meshes based on the Loop subdivision format according to claim 1, characterized in that, The specific implementation process of step 2 is as follows: Step 2.1: For each triangular facet in T1, construct a computation template containing information about its 1-neighborhood vertices. This template contains h vertices, and organizes the coordinates of the h vertices into an initial template matrix P. Step 2.2: Using the predefined Loop subdivision matrices M1 and M2, perform matrix multiplication on the initial template matrix P to obtain the template matrix P2 = M2M1P after secondary subdivision; Step 2.3: Based on the template matrix P2, use the limit subdivision matrix M ∞ Calculate the limiting position matrix P of the Loop subdivision surface corresponding to the current triangular facet at n uniformly distributed parameter points. ∞ =M ∞ P2; Step 2.4, M B For fixed The basis transformation matrix is ​​obtained by solving the transformation equations M based on the Bernstein basis. B B = P ∞ This yields n local values ​​corresponding to the current triangular facet. Control point matrix Step 2.5: Traverse all faces and select all local faces. In the control point matrix B, control points that coincide in geometric position are merged into shared corner points and edge points, and unified into global control points, establishing a local-to-global mapping relationship G_map; Step 2.6: Traverse the mapping relationship G_map, and... The surface patches are stitched together to form a continuous initial high-order surface B0.

3. The method for generating unstructured high-order meshes based on the Loop subdivision format according to claim 2, characterized in that, The specific process of establishing a sampling point-face association index Idx_map is as follows: For each target sampling point, use a kd-tree to quickly find several candidate nearest neighbor faces, and calculate the triangle face closest to the sampling point; map and store the index of each sampling point with its nearest triangle face handle; at the same time, also establish a reverse mapping from the triangle face to the index of all its associated sampling points.

4. The method for generating unstructured high-order meshes based on the Loop subdivision format according to claim 3, characterized in that, The specific process for updating the global control point is as follows: Step 4.1: In the k-th update, for each sampling point Q... i Calculate its relationship with the current Curved surface P [k] Difference vector between projected points Step 4.2, for each control point Calculate a fitted vector This vector is at the control point. The weighted sum of all difference vectors in the support domain, weighted by Bernstein basis functions. Step 4.3: According to the iteration format Update the global control point, where λ is the relaxation factor, where This represents the control point after the k-th update; Step 4.4: Calculate the updated The root mean square error between the surface patch and the sampled point set data S is used to determine whether the convergence condition is met.

5. The method for generating unstructured high-order meshes based on the Loop subdivision format according to claim 4, characterized in that, The specific implementation process of step 5 is as follows: Step 5.1: Apply C to the initially optimized global control point G_opt1. 1 By applying continuous coplanar constraints and adjusting the positions of control points, the final optimized global control point G_final is obtained. Step 5.2: Update the final optimized global control point G_final to each local surface patch to form the final parametric surface. Perform parametric evaluation and triangulation on the parametric surface to generate a triangular mesh model and output it.

6. The method for generating unstructured high-order meshes based on the Loop subdivision format according to claim 5, characterized in that, The C 1 The continuity coplanarity constraint is specifically implemented by traversing all internal shared edges of the initial higher-order surface B0 and iteratively adjusting the control point positions, applying a collinearity constraint: that is, ensuring that for any shared edge, its two sides are adjacent. The tangential control points of the facet are collinear with the common control points on the shared edges.

Citation Information

Cited By

  • A quadrilateral mesh generation method, system, device, medium and product

    CN122244386A