A surface mesh fairing method of a model

By classifying mesh nodes and performing filtering and smoothing optimization using the normal tensor voting theory, the limitations of existing mesh generation in complex geometric regions are solved, achieving high-quality mesh optimization while preserving boundaries and subtle features.

CN115688618BActive Publication Date: 2026-06-12CALCULATION AERODYNAMICS INST CHINA AERODYNAMICS RES & DEV CENT
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CALCULATION AERODYNAMICS INST CHINA AERODYNAMICS RES & DEV CENT
Filing Date
2022-08-08
Publication Date
2026-06-12

AI Technical Summary

Technical Problem

Existing unstructured mesh generation algorithms have limitations and inflexibility in generating meshes for complex geometries, resulting in poor initial mesh quality and difficulty in effectively preserving boundaries and subtle features.

Method used

The normal tensor voting theory is used to classify mesh nodes into free nodes and non-free nodes. Only free nodes are filtered and smoothed for optimization. The node type is determined by calculating the normal tensor matrix and weights, and the mesh is optimized by correcting the node normal vector and offsetting the mesh.

Benefits of technology

It effectively prevents large shrinkage after mesh optimization, maintains boundaries and sharp fine features, and improves mesh quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115688618B_ABST
    Figure CN115688618B_ABST
Patent Text Reader

Abstract

The application discloses a surface grid fairing processing method of a model, and the method does not adopt a unified fairing optimization method for grid nodes, but adopts a normal tensor voting theory to divide all the grid nodes into free nodes and non-free nodes. The non-free nodes are not moved in the smoothing process, and only the free nodes are subjected to fairing optimization, so that the method effectively prevents a large shrinkage after grid optimization and better maintains boundaries and sharp fine features. The method is suitable for an administrative, commercial, financial, management, supervision or prediction purpose data processing system or method, and is not suitable for other special data processing systems or methods.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of model processing research, and specifically relates to a method for smoothing the surface mesh of a model. Background Technology

[0002] CFD plays an increasingly important role in the aerospace field. Mesh generation is a crucial step in the CFD numerical simulation process, and the quality of the generated mesh is closely related to the accuracy and efficiency of the simulation results. Surface meshes are particularly critical, as they are directly related to the geometry and are a prerequisite for generating high-quality volumetric meshes. With the increasing complexity of geometric models and physical problems, existing unstructured mesh generation algorithms have limitations, are unsuitable for geometrically complex regions, and lack flexibility, inevitably leading to poor-quality mesh elements in the automatically generated initial mesh. Therefore, mesh smoothing optimization techniques are needed to post-process the initial mesh, improving mesh quality by optimizing and adjusting the positions of mesh nodes. Summary of the Invention

[0003] To address the shortcomings of the existing technology, this application provides a surface mesh smoothing method for a model. Instead of applying a uniform smoothing optimization approach to mesh nodes, this invention uses the normal tensor voting theory to classify all mesh nodes into free nodes and non-free nodes. Non-free nodes remain stationary during the smoothing process, while only free nodes undergo smoothing optimization. This effectively prevents significant shrinkage after mesh optimization, thus ensuring better preservation of boundaries and sharp, subtle features. The method in this application is applicable to data processing systems or methods for administrative, commercial, financial, managerial, supervisory, or predictive purposes; and is also applicable to data processing systems or methods specifically for administrative, commercial, financial, managerial, supervisory, or predictive purposes not included in other categories.

[0004] The technical effect to be achieved in this application is accomplished through the following solution:

[0005] Firstly, this specification provides a method for smoothing the surface mesh of a model, the method comprising:

[0006] Obtain the model of the target object as the model to be processed; wherein, the surface of the model to be processed is divided into several grid cells, and each grid cell contains two or more nodes to be classified;

[0007] Based on the surface normal vectors of the first-order neighborhood grid cells of each node to be classified, construct the normal tensor matrix of each of the several grid cells;

[0008] Based on the area and maximum area of ​​each neighboring unit of each node to be classified, calculate the first weight corresponding to each of the several grid units;

[0009] Based on the normal tensor matrix and the first weight, construct the tensor voting matrix corresponding to each node to be classified.

[0010] For each of the tensor voting matrices, eigenvalues ​​are calculated to obtain the respective eigenvalues ​​of the tensor voting matrices; wherein the eigenvalues ​​include a first eigenvalue, a second eigenvalue, and a third eigenvalue; the first eigenvalue is greater than the second eigenvalue, the second eigenvalue is greater than the third eigenvalue, and the third eigenvalue is greater than zero;

[0011] Based on the eigenvalues ​​of the tensor voting matrix corresponding to each node to be classified, free nodes and non-free nodes are determined from each node to be classified.

[0012] The free nodes are subjected to filtering and smoothing optimization to obtain a target model that includes the non-free nodes and the processed free nodes.

[0013] In an optional embodiment of this specification, the free nodes are subjected to filtering and smoothing optimization to obtain a target model containing the non-free nodes and the processed free nodes, including:

[0014] For each of the free nodes, calculate its node normal vector and the surface normal vector of the target element; wherein, the target element is the mesh element to which the free node belongs;

[0015] A second weight of the first-order neighboring units of the target unit is determined, and a third weight of the second-order neighboring units of the target unit is determined; wherein the second weight is greater than the third weight;

[0016] Based on the second weight, the third weight, the area of ​​the target unit's neighborhood unit, the surface normal vector of the target unit's neighboring units, and the number of the target unit's neighboring units, the surface normal vector of the target unit is filtered to obtain the target surface normal vector of the target unit.

[0017] Based on the target surface normal vector and the interior angles between the target element's neighboring elements and the free node, the node normal vector of the free node is corrected to obtain the target node normal vector;

[0018] Based on the target node normal vector, the free nodes are subjected to filtering and smoothing optimization to obtain the target model.

[0019] In an optional embodiment of this specification, the free nodes are subjected to filtering and smoothing optimization based on the target node normal vector to obtain the target model, including:

[0020] The similarity between free nodes is calculated based on the target node normal vector of each free node and the node distribution density of the model to be processed.

[0021] For each free node, by utilizing the Euclidean distance, the angle between the normal vectors and the node and its neighbors, and the similarity, the anisotropic field of the node is diffused towards the normal field, which more robustly calculates the offset of the node.

[0022] The free nodes are offset according to the offset to obtain the target model.

[0023] In one optional embodiment of this specification,

[0024] Calculating the eigenvalues ​​of each tensor voting matrix includes: calculating the eigenvalues ​​and eigenvectors of each tensor voting matrix.

[0025] The similarity between free nodes is calculated based on the target node normal vector of each free node and the node distribution density of the model to be processed, including: calculating the similarity between free nodes based on the target node normal vector of each free node, the node distribution density of the model to be processed, and the eigenvector of the tensor voting matrix of each free node.

[0026] In an optional embodiment of this specification, the tensor voting matrix T corresponding to node v v for:

[0027]

[0028] In the formula, N f (v) and |N f (v)| represents the first-order neighborhood units and the number of units of node v; and These are the normal vector and weight of the first-order neighborhood unit of the node, respectively; A(f i A(max) and A(area) are the area of ​​the neighborhood cells and the maximum area, respectively; k L σ is the distance from node v to the centroid of the first-order neighborhood cell; σ is the side length of the cube enclosed by the first-order neighborhood space.

[0029] In an optional embodiment of this specification, the target surface normal vector n′ T for:

[0030]

[0031] In the formula, A(f) i ), A(f j ) represents the area of ​​the neighboring unit; n(fi ), n(f j ) represents the surface normal of the neighboring cell; |N f1 (T)|、|N f2 (T)| represents the total number of neighborhood units.

[0032] In an optional embodiment of this specification, the target node normal vector n of node v v for:

[0033]

[0034] In the formula, It is the filtered unit f i Surface normal vector; For neighborhood unit f i The interior angle with node v.

[0035] In an optional embodiment of this specification, the similarity r(v, m) between node v and node m is:

[0036]

[0037] In the formula, δ = min(A(v)θ(v), A(m)θ(m)) / max(A(v)θ(v), A(m)θ(m)); m is a node in the neighborhood of node v; r(v, m) is the similarity measure between node v and its neighboring node m; A(*) and θ(*) are the area and interior angle of the neighboring unit of the node, respectively; is the modified node normal vector; (1-δ) is the combined similarity of area and angle.

[0038] Secondly, this specification provides an apparatus for smoothing the surface mesh of a model to implement the method in the first aspect.

[0039] Thirdly, this specification provides an electronic device, including:

[0040] Processor; and

[0041] A memory configured to store computer-executable instructions, which, when executed, cause the processor to perform the method of the first aspect.

[0042] Fourthly, this specification provides a computer-readable storage medium that stores one or more programs, which, when executed by an electronic device including multiple applications, cause the electronic device to perform the method of the first aspect. Attached Figure Description

[0043] To more clearly illustrate the embodiments of this application or the existing technical solutions, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0044] Figure 1 This is a flowchart of a surface mesh smoothing method for a model in one embodiment of this application;

[0045] Figure 2 This is a schematic diagram showing the distribution of first-order and second-order neighboring cells around the grid cell T in an embodiment of this application;

[0046] Figure 3 This is a schematic diagram of the surface normal of the neighborhood cell corresponding to node v in the embodiments of this application;

[0047] Figure 4 This is a schematic diagram of the grid cell distribution on the model to be processed in the embodiments of this application;

[0048] Figure 5 This is a schematic diagram of the grid cell distribution on the target model obtained by the method in the embodiments of this application;

[0049] Figure 6 This is a schematic diagram of the mesh cell distribution of the model obtained by smoothing using the Laplacian method in related technologies.

[0050] Figure 7 This is a schematic diagram of the structure of a surface mesh smoothing device for a model in an embodiment of this application;

[0051] Figure 8 This is a schematic diagram of the structure of an electronic device according to one embodiment of this application. Detailed Implementation

[0052] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0053] The present invention will now be described in further detail with reference to the accompanying drawings and specific embodiments. Similar elements in different embodiments are referred to by related similar element reference numerals. In the following embodiments, many details are described to facilitate a better understanding of the present application. However, those skilled in the art will readily recognize that some features may be omitted in different situations, or may be replaced by other elements, materials, or methods. In some cases, certain operations related to the present application are not shown or described in the specification. This is to avoid obscuring the core parts of the present application with excessive description. For those skilled in the art, detailed description of these related operations is not necessary; they can fully understand the related operations based on the description in the specification and general technical knowledge in the art.

[0054] Furthermore, the features, operations, or characteristics described in the specification can be combined in any suitable manner to form various embodiments. At the same time, the steps or actions in the method description can be rearranged or adjusted in a manner obvious to those skilled in the art. Therefore, the various orders in the specification and drawings are only for the clear description of a particular embodiment and do not imply a necessary order, unless otherwise stated that a particular order must be followed.

[0055] The serial numbers assigned to components in this document, such as "first" and "second," are used only to distinguish the described objects and have no sequential or technical meaning. The terms "connection" and "linkage" used in this application, unless otherwise specified, include both direct and indirect connections (linkages).

[0056] Computational Fluid Dynamics (CFD) is a product of the integration of modern fluid mechanics, numerical mathematics, and computer science, and is a highly dynamic interdisciplinary science. It approximates the integral and differential terms in the governing equations of fluid mechanics as discrete algebraic forms, creating a system of algebraic equations. These discrete equations are then solved by a computer to obtain numerical solutions at discrete time / space points. CFD emerged in the 1960s, and with the rapid development of computers after the 1990s, it has developed rapidly, gradually becoming an important tool in product development alongside experimental fluid mechanics.

[0057] With technological advancements and increasing demands for aircraft safety and performance, computational fluid dynamics (CFD) research methods are gaining increasing attention in aircraft development, testing, and other technological fields. The first step in simulating airflow within a target area using CFD techniques is meshing the spatial region. As CFD technology is applied to engineering projects, the shapes of computational objects are becoming increasingly complex. During mesh generation, due to requirements for computational accuracy and efficiency, the rationality of the final mesh density distribution often needs to be considered. Therefore, how to rationally mesh the fluid dynamics model has become a pressing issue.

[0058] Currently, two widely used smoothing optimization methods are Laplacian smoothing and optimization-based methods. The Laplacian method moves each grid node to the average position of its neighbors by calculating the arithmetic mean of the first-order neighborhood grid nodes. The algorithm is simple and efficient, achieving a smoothing effect. The most critical problem is that the algorithm does not consider edge, face, and angle information, applying uniform smoothing to all grid points, which can cause significant mesh shrinkage and prevent the preservation of subtle features. Furthermore, nodes in non-convex regions may move outside the element, forming invalid elements, and the mesh quality may not necessarily improve.

[0059] The optimization method selects appropriate element quality metrics and local mesh quality evaluation functions to establish a local or global objective function. Then, it uses the optimal solution to the objective function to determine the new node positions, thereby optimizing the mesh quality. While this method can significantly improve mesh quality by finding the optimal solution to the objective function, its computational cost is enormous, more than ten times that of the Laplacian method, resulting in extremely low computational efficiency.

[0060] A flight vehicle is a machine that flies within or outside the atmosphere (space). Flight vehicles are classified into three categories: aircraft, spacecraft, and rockets and missiles. Aircraft that fly within the atmosphere are called aircraft, such as balloons, airships, and airplanes. They take off and fly using the static buoyancy of the air or aerodynamic forces generated by relative motion of the air. Spacecraft that fly in space are called spacecraft, such as artificial Earth satellites, manned spacecraft, space probes, and space shuttles. They gain the necessary speed to enter space under the propulsion of a launch vehicle and then rely on inertia to perform orbital motions similar to celestial bodies. Computational fluid dynamics methods have now become one of the mainstream methods for studying the aerodynamics of flight vehicles. The surface mesh smoothing method of the model in this specification can be applied to the study of flight vehicles.

[0061] The various non-limiting embodiments of this application are described in detail below with reference to the accompanying drawings. One method for surface mesh smoothing of a model in this specification is as follows: Figure 1 As shown, it includes the following steps:

[0062] S100: Obtain the model of the target object as the model to be processed.

[0063] The target body model in this specification is a file generated based on at least some data of the target body (e.g., a certain aircraft, a component of an aircraft, or a research object related to aircraft research). The target body model can be used to characterize at least some features of the target body. This specification does not impose specific limitations on what the target body is or the file format of the target body model. In an optional embodiment of this specification, the target body model file is a CAD digital model file.

[0064] In an optional embodiment of this specification, when performing this step, the digital model is first imported, and then the global target size, global minimum size, and curvature adaptive angle are set. The surface mesh smoothing device of the model, the execution subject of this invention, automatically generates the initial surface mesh, thereby obtaining the model to be processed.

[0065] The surface of the model to be processed in this specification is divided into several mesh cells, each mesh cell containing two or more nodes to be classified. In one optional embodiment of this specification, the mesh cell is triangular; in another optional embodiment, the mesh cell is quadrilateral. The shape of the mesh cell can be determined according to actual needs. For ease of explanation, the following description uses a triangular mesh cell as an example. A triangular mesh cell contains 3 nodes, and two adjacent triangular mesh cells may share one node or two nodes.

[0066] S102: Construct the normal tensor matrix of each of the several grid cells based on the surface normal vectors of the first-order neighborhood grid cells of each node to be classified.

[0067] All methods used in related technologies to determine the surface normal vector of a surface are applicable to the process of determining the surface normal vector described in this specification.

[0068] S104: Calculate the first weight corresponding to each of the several grid cells based on the area and maximum area of ​​the neighborhood cells of each node to be classified.

[0069] In the following text, the first weight can be expressed as: In an optional embodiment of this specification, the first weight can be calculated using the following formula (a).

[0070]

[0071] In the formula, A(f) i A(max) and A(area) are the area of ​​the neighborhood cells and the maximum area, respectively; k Lσ is the distance from node v to the centroid of the first-order neighborhood cell; σ is the side length of the cube enclosed by the first-order neighborhood space.

[0072] S106: Construct the tensor voting matrix corresponding to each node to be classified based on the normal tensor matrix and the first weight.

[0073] In an optional embodiment of this specification, the tensor voting matrix T corresponding to node v v for:

[0074]

[0075] In the formula, and These are the normal vector and weight of the first-order neighborhood unit of the node, respectively; N f (v) and |N f (v)| represents the first-order neighborhood units and the number of units of node v; A(f i A(max) and A(area) are the area of ​​the neighborhood cells and the maximum area, respectively; k L σ is the distance from node v to the centroid of the first-order neighborhood cell; σ is the side length of the cube enclosed by the first-order neighborhood space.

[0076] S108: Calculate the eigenvalues ​​of each tensor voting matrix.

[0077] The eigenvalues ​​in this specification include a first eigenvalue λ1, a second eigenvalue λ2, and a third eigenvalue λ3; the first eigenvalue is greater than the second eigenvalue, the second eigenvalue is greater than the third eigenvalue, and the third eigenvalue is greater than zero. Each eigenvalue can be obtained by solving the tensor voting matrix.

[0078] S110: Based on the eigenvalues ​​of the tensor voting matrix corresponding to each node to be classified, determine the free nodes and non-free nodes from the nodes to be classified.

[0079] In an optional embodiment of this specification, non-free nodes further include boundary nodes and corner nodes. These can be decomposed using eigenvalue analysis, and the mesh nodes can be classified based on the relationships between their eigenvalues.

[0080] Optionally, the node classification rules are as follows:

[0081] Free nodes (mesh interior nodes): Only one eigenvalue λ1 is significant, while λ2 and λ3 are close to 0.

[0082] Boundary node: Two eigenvalues ​​λ1 and λ2 are significant, while λ3 is close to 0.

[0083] Corner node: The three eigenvalues ​​λ1, λ2, and λ3 are significant, and the three eigenvalues ​​are approximately equal.

[0084] In the field of CFD, many engineering problems have very complex geometries, containing many subtle geometric features. To obtain high-precision numerical solutions, the boundaries and geometric features of the numerical model should be well preserved. Therefore, this invention does not adopt a uniform smoothing optimization approach for mesh nodes, but instead uses the normal tensor voting theory to divide all mesh nodes into boundary nodes, corner nodes, and free nodes.

[0085] S112: Perform filtering and smoothing optimization on the free nodes to obtain a target model containing the non-free nodes and the processed free nodes.

[0086] In the method described in this specification, when performing filtering and smoothing optimization on the nodes, the positions of the boundary nodes and corner nodes in each node remain unchanged, and only the free nodes are smoothed. This effectively prevents the mesh from shrinking significantly after optimization, thus ensuring that the boundaries and sharp, subtle features are well preserved.

[0087] In an optional embodiment of this specification, when the target model is obtained in step S112, the following is performed:

[0088] S200: For each of the free nodes, calculate its nodal normal vector and the surface normal vector of the target element. The target element is the mesh element to which the free node belongs.

[0089] The robustness of nodal normal vector calculation directly affects the smoothing effect. First, the surface normal vectors are filtered. Then, based on the filtered surface normal vectors and the areas and interior angles of neighboring elements, the nodal normal vectors are corrected. This correction process considers both the influence of element area and element shape on the nodal normal vectors.

[0090] S202: Determine the first-order neighborhood cells (hereinafter referred to as f) of the target cell (taking grid cell T as an example). i The second weight of ) is determined, and the second-order neighborhood unit of the target unit (hereinafter referred to as f) is determined. j The third weight is determined by the fact that the second weight is greater than the third weight.

[0091] Optionally, the first-order neighborhood unit f of unit T i The weight (i.e., the second weight) is 2, and the second-order neighborhood unit is assigned f. j The weight (i.e., the third weight) is 1, and the weight allocation is exemplarily as follows: Figure 2 As shown.

[0092] S204: Based on the second weight, the third weight, the area of ​​the target unit's neighborhood unit, the surface normal vector of the target unit's neighboring units, and the number of the target unit's neighboring units, filter the surface normal vector of the target unit to obtain the target surface normal vector of the target unit.

[0093] In an optional embodiment of this specification, the target surface normal vector n′ T for:

[0094]

[0095] In the formula, A(f) i ), A(f j ) represents the area of ​​the neighboring unit; n(f i ), n(f j ) represents the surface normal of the neighboring cell; |N f1 (T)|、|N f2 (T)| represents the total number of neighborhood units.

[0096] S206: Based on the target surface normal vector and the interior angles between the target element's neighboring elements and the free node, the node normal vector of the free node is corrected to obtain the target node normal vector.

[0097] In an optional embodiment of this specification, the target node normal vector n of node v v for:

[0098]

[0099] In the formula, It is the filtered unit f i Surface normal vector; For neighborhood unit f i The interior angle with node v, such as Figure 4 As shown.

[0100] S208: Based on the target node normal vector, perform filtering and smoothing optimization on the free nodes to obtain the target model.

[0101] In an optional embodiment of this specification, this step is specifically performed as follows:

[0102] S300: Calculate the similarity between free nodes based on the target node normal vector of each free node and the node distribution density of the model to be processed.

[0103] Optionally, when calculating the eigenvalues ​​in the aforementioned steps, the eigenvectors are also solved. Then, in this step, the similarity between free nodes can be calculated based on the target node normal vector of each free node, the node distribution density of the model to be processed, and the eigenvectors of the tensor voting matrices of each free node.

[0104] The similarity r(v, m) between node v and node m is:

[0105]

[0106] In the formula, δ = min(A(v)θ(v), A(m)θ(m)) / max(A(v)θ(v), A(m)θ(m)); m is a node in the neighborhood of node v; r(v, m) is the similarity measure between node v and its neighboring node m; A(*) and θ(*) are the area and interior angle of the neighboring unit of the node, respectively; is the modified node normal vector; (1-δ) is the combined similarity of area and angle.

[0107] This step calculates the similarity between nodes using the corrected normal vector information and distribution density information of neighboring nodes. The corrected normal vector information not only includes the geometric information of the neighboring units, but has also been filtered, which can better determine the similarity between nodes.

[0108] S302: For each free node, the offset d(v) of the node is calculated by using its Euclidean distance with neighboring nodes, the angle between its normal vectors and the corresponding similarity, with the goal of spreading the anisotropy of the node to the normal field and improving robustness.

[0109] Bilateral filtering smoothing is an anisotropic mesh smoothing algorithm that can better preserve features. This invention considers not only the influence of the geometry and area of ​​neighboring cells, but also the influence of the similarity between nodes, combining node distribution density information and local geometric information to better guarantee the density distribution and transition of the mesh. By utilizing the Euclidean distance between a node and its neighboring nodes (which can be calculated using the Gaussian distance function), the angle between the normal vectors (which can be calculated using the Gaussian angle function), and similarity information, the anisotropic diffusion of the node towards the normal field is enabled, resulting in a more robust calculation of the node offset.

[0110] In an optional embodiment of this specification, the offset d(v) is:

[0111]

[0112] In the formula, d(v) is the offset of node v; v k It is a node in the neighborhood of node v; Wc (x) is the Gaussian distance function; W s (x) Gaussian angle function; r(v, v) k The similarity between two nodes;

[0113] S304: Offset the free nodes according to the offset to obtain the target model.

[0114] Offset-processed free node v new From node v along the node normal vector direction n v Obtained by moving a certain distance d(v).

[0115] v new =v+n v Formula (VII) for d(v)

[0116] For example, the grid cell distribution on the model to be processed is as follows: Figure 4 As shown. The mesh element distribution on the target model obtained by processing using the method in this specification is as follows. Figure 5 As shown. The mesh cell distribution of the model obtained by smoothing using the method (laplacian) in related technologies is as follows. Figure 6 As shown. It can be seen that, Figure 5 The mesh on the target model in the middle has a better smoothing effect.

[0117] Based on the same idea, the embodiments in this specification also provide corresponding... Figure 1 The control terminal for surface mesh smoothing processing of one model of the process shown is illustrated.

[0118] like Figure 7 As shown, the control terminal for surface mesh smoothing of a model in this specification may include one or more of the following modules:

[0119] The model acquisition module 700 is configured to acquire the model of the target body as the model to be processed; wherein the surface of the model to be processed is divided into several grid units, and each grid unit contains two or more nodes to be classified.

[0120] The normal tensor matrix determination module 702 is configured to construct the normal tensor matrix of each of the several grid cells based on the surface normal vectors of the first-order neighboring grid cells of each node to be classified.

[0121] The first weight determination module 704 is configured to calculate the first weight corresponding to each of the plurality of grid cells based on the area and maximum area of ​​the neighborhood cells of each node to be classified.

[0122] The tensor voting matrix determination module 706 is configured to: construct the tensor voting matrix corresponding to each node to be classified based on the normal tensor matrix and the first weight.

[0123] The eigenvalue determination module 708 is configured to: calculate the eigenvalue of each of the tensor voting matrices; wherein the eigenvalue includes a first eigenvalue, a second eigenvalue, and a third eigenvalue; the first eigenvalue is greater than the second eigenvalue, the second eigenvalue is greater than the third eigenvalue, and the third eigenvalue is greater than zero.

[0124] The classification module 710 is configured to determine free nodes and non-free nodes from the nodes to be classified based on the eigenvalues ​​of the tensor voting matrix corresponding to each node to be classified.

[0125] The target model determination module 712 is configured to perform filtering and smoothing optimization on the free nodes to obtain a target model that includes the non-free nodes and the processed free nodes.

[0126] In an optional embodiment of this specification, the target model determination module 712 is specifically configured as follows: for each of the free nodes, calculate its node normal vector and the surface normal vector of the target element; wherein the target element is the mesh element to which the free node belongs; determine the second weight of the first-order neighboring elements of the target element, and determine the third weight of the second-order neighboring elements of the target element; wherein the second weight is greater than the third weight; filter the surface normal vector of the target element according to the second weight, the third weight, the area of ​​the neighborhood elements of the target element, the surface normal vector of the neighboring elements of the target element, and the number of neighboring elements of the target element to obtain the target surface normal vector of the target element; correct the node normal vector of the free node according to the target surface normal vector and the interior angle between the neighboring elements of the target element and the free node to obtain the target node normal vector; and perform filtering and smoothing optimization processing on the free node according to the target node normal vector to obtain the target model.

[0127] In an optional embodiment of this specification, the target model determination module 712 is specifically configured as follows: calculating the similarity between each free node based on the target node normal vector of each free node and the node distribution density of the model to be processed; for each free node, calculating the offset corresponding to the node by utilizing its Euclidean distance with neighboring nodes, the angle between its normal vectors, and its corresponding similarity, with the goal of spreading the anisotropy of the node towards the normal field and improving robustness; and performing offset processing on the free node based on the offset to obtain the target model.

[0128] In an optional embodiment of this specification, the eigenvalue determination module 708 is specifically configured to: calculate the eigenvalues ​​and eigenvectors of each of the tensor voting matrices. The target model determination module 712 is specifically configured to: calculate the similarity between free nodes based on the target node normal vector of each free node, the node distribution density of the model to be processed, and the eigenvectors of the tensor voting matrices of each free node.

[0129] In one optional embodiment of this specification,

[0130] The tensor voting matrix T corresponding to node v v for:

[0131]

[0132] In the formula, N f (v) and |N f (v)| represents the first-order neighborhood units and the number of units of node v; and These are the normal vector and weight of the first-order neighborhood unit of the node, respectively; A(f i A(max) and A(area) are the area of ​​the neighborhood cells and the maximum area, respectively; k L σ is the distance from node v to the centroid of the first-order neighborhood cell; σ is the side length of the cube enclosed by the first-order neighborhood space.

[0133] In one optional embodiment of this specification,

[0134] The target surface normal vector n′ T for:

[0135]

[0136] In the formula, A(f) i ), A(f j ) represents the area of ​​the neighboring unit; n(f i ), n(f j ) represents the surface normal of the neighboring cell; |N f1 (T)|、|N f2 (T)| represents the total number of neighborhood units.

[0137] In an optional embodiment of this specification, the target node normal vector n of node v v for:

[0138]

[0139] In the formula, It is the filtered unit f i Surface normal vector; For neighborhood unit f i The interior angle with node v.

[0140] In one optional embodiment of this specification,

[0141] The similarity r(v, m) between node v and node m is:

[0142]

[0143] In the formula, δ = min(A(v)θ(v), A(m)θ(m)) / max(A(v)θ(v), A(m)θ(m)); m is a node in the neighborhood of node v; r(v, m) is the similarity measure between node v and its neighboring node m; A(*) and θ(*) are the area and interior angle of the neighboring unit of the node, respectively; is the modified node normal vector; (1-δ) is the combined similarity of area and angle.

[0144] Figure 8 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. Please refer to it. Figure 8 At the hardware level, the electronic device includes a processor, and optionally also includes an internal bus, a network interface, and memory. The memory may include main memory, such as high-speed random-access memory (RAM), or non-volatile memory, such as at least one disk drive. Of course, the electronic device may also include other hardware required for other business operations.

[0145] The processor, network interface, and memory can be interconnected via an internal bus, which can be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus, or an EISA (Extended Industry Standard Architecture) bus, etc. This bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 8 The symbol is represented by a single double-headed arrow, but this does not mean that there is only one bus or one type of bus.

[0146] Memory is used to store programs. Specifically, programs may include program code, which includes computer operation instructions. Memory may include main memory and non-volatile memory, and provides instructions and data to the processor.

[0147] The processor reads the corresponding computer program from non-volatile memory into memory and then runs it, forming a surface mesh smoothing method for a model at the logical level. The processor executes the program stored in memory and specifically performs the surface mesh smoothing method for any of the aforementioned models.

[0148] The above is as stated in this application. Figure 1 The surface mesh smoothing method for a model disclosed in the illustrated embodiment can be applied to a processor (i.e., the deletion control module in this specification) or implemented by a processor. The processor may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by integrated logic circuits in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, including a Central Processing Unit (CPU), a Network Processor (NP), etc.; it can also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software module can reside in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method.

[0149] The electronic device can also perform Figure 1 A surface mesh smoothing method for a model is proposed and implemented. Figure 1 The functions of the embodiments shown are not described in detail here.

[0150] This application also proposes a computer-readable storage medium that stores one or more programs, the programs including instructions that, when executed by an electronic device including multiple applications, enable the electronic device to perform... Figure 1The surface mesh smoothing method of one model in the embodiment shown is executed, and is specifically used to execute the surface mesh smoothing method of any of the aforementioned models.

[0151] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0152] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0153] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0154] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0155] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0156] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0157] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0158] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0159] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0160] The above description is merely an embodiment of this application and is not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A method for smoothing the surface mesh of a model, characterized in that, The method includes: Obtain the model of the target object as the model to be processed; wherein, the surface of the model to be processed is divided into several grid cells, and each grid cell contains two or more nodes to be classified; Based on the surface normal vectors of the first-order neighborhood grid cells of each node to be classified, construct the normal tensor matrix of each of the several grid cells; Based on the area and maximum area of ​​each neighboring unit of each node to be classified, calculate the first weight corresponding to each of the several grid units; Based on the normal tensor matrix and the first weight, construct the tensor voting matrix corresponding to each node to be classified. For each of the tensor voting matrices, eigenvalues ​​are calculated to obtain the respective eigenvalues ​​of the tensor voting matrices; wherein the eigenvalues ​​include a first eigenvalue, a second eigenvalue, and a third eigenvalue; the first eigenvalue is greater than the second eigenvalue, the second eigenvalue is greater than the third eigenvalue, and the third eigenvalue is greater than zero; Based on the eigenvalues ​​of the tensor voting matrix corresponding to each node to be classified, free nodes and non-free nodes are determined from each node to be classified. For each of the free nodes, calculate its node normal vector and the surface normal vector of the target element; wherein, the target element is the mesh element to which the free node belongs; A second weight of the first-order neighboring units of the target unit is determined, and a third weight of the second-order neighboring units of the target unit is determined; wherein the second weight is greater than the third weight; Based on the second weight, the third weight, the area of ​​the target unit's neighborhood unit, the surface normal vector of the target unit's neighboring units, and the number of the target unit's neighboring units, the surface normal vector of the target unit is filtered to obtain the target surface normal vector of the target unit. Based on the target surface normal vector and the interior angles between the target element's neighboring elements and the free node, the node normal vector of the free node is corrected to obtain the target node normal vector; The similarity between free nodes is calculated based on the target node normal vector of each free node and the node distribution density of the model to be processed. For each free node, by utilizing the Euclidean distance, the angle between the normal vectors and the node and its neighbors, and the similarity, the anisotropic field of the node is diffused towards the normal field, which more robustly calculates the offset of the node. The free nodes are offset according to the offset to obtain the target model; The step of calculating the eigenvalues ​​of each tensor voting matrix includes: calculating the eigenvalues ​​and eigenvectors of each tensor voting matrix. The similarity between free nodes is calculated based on the target node normal vector of each free node and the node distribution density of the model to be processed, including: calculating the similarity between free nodes based on the target node normal vector of each free node, the node distribution density of the model to be processed, and the eigenvector of the tensor voting matrix of each free node. The tensor voting matrix corresponding to node v for: , In the formula, ; and It is a node The first-order neighborhood units and the number of units; and These are the normal vector and weight of the first-order neighborhood unit of the node, respectively; and These are the area of ​​the neighboring unit and the maximum area, respectively. It is a node Distance to the centroid of the first-order neighborhood unit; It is the side length of the cube enclosed by the first-order neighborhood space; The target surface normal vector for: , In the formula, , The area of ​​the neighboring unit; , The surface normal vector of the neighboring cell; , This represents the total number of neighborhood units. node Target node normal vector for: , In the formula, It is the filtered unit Surface normal vector; Neighborhood unit With nodes the inner angle of; node Similarity with node m ,for: , In the formula, ; ; ; m is a node Nodes in the neighborhood; It is a node A similarity measure with its neighboring node m; and These are the area of ​​the node's neighboring unit and its interior angle, respectively. These are the modified node normal vectors; It is a combination of area and angle similarity.

2. A surface mesh smoothing device for a model, characterized in that, The apparatus is used to implement the method of claim 1.

3. A computer-readable storage medium storing one or more programs that, when executed by an electronic device including a plurality of applications, cause the electronic device to perform the method of claim 1.