Structure domination surface grid generation method based on frame field guidance
Through the method based on frame field guidance, a quadrilateral dominant surface mesh is generated, which solves the problem of insufficient adaptability of the quadrilateral mesh in complex shapes and curvature changes, and achieves efficient adaptability and calculation accuracy of the mesh.
Patent Information
- Application Number
- CN202410728785.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-06-06
- Publication Date
- 2024-12-20
AI Technical Summary
In the engineering analysis of the existing technology, the generation of quadrilateral mesh has limitations, which is difficult to adapt to complex shapes and parts with large curvature changes, resulting in too large grid size and high computing challenges. At the same time, the degree of automation of triangle mesh is high but guaranteed. Poor shape.
Using the structural dominant surface mesh generation method based on frame field guidance, by calculating the frame field, decomposing the triangle mesh into partitions, generating a quadrilateral mesh along the frame field direction, and triangular fill transitions are performed in necessary areas to ensure the net Conformity and adaptability of the grid.
The generated quadrilateral dominant mesh has advantages in overall conformity and mesh scale, which can better adapt to complex appearance and meet the calculation accuracy requirements of simulation simulation in actual engineering.
Smart Images

Figure CN119167580A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to the technical field of engineering analysis, and in particular to a method for generating a structure-dominant surface grid based on frame field guidance. Background Art
[0002] In recent decades, the field of engineering analysis has been committed to the generation of quadrilateral meshes, resulting in two major types of industrial technologies. First, some semi-automatic auxiliary methods are used to manually divide quadrilateral areas, and then generate standardized quadrilateral meshes to fill the areas according to user needs. This method is very time-consuming and is mainly used for demanding numerical simulations, such as CFD. Second, there are some fully automatic methods such as the frontier advancement method based on the frame field to generate right-angle triangle meshes, and then merge and subdivide to generate full quadrilateral meshes. However, this method has a large number of irregular vertices and lacks user control.
[0003] Compared with triangular meshes, quadrilateral meshes can better fit the boundary curvature of the model and perform well in applications such as finite element simulation and surface modeling. However, pure structured quadrilateral meshes are currently limited to complex shapes. Triangular meshes have a high degree of automation and can adapt well to complex shapes, but for some parts with large curvature changes, due to their poor conformality, a large number of triangular meshes are often required for simulation, resulting in a large overall mesh size, which poses a great challenge to subsequent calculations. Summary of the invention
[0004] The purpose of the present invention is to address the limitations of the current practical application of structural grids in CFD engineering, and propose a structural dominant surface grid generation method based on frame field guidance, a structural dominant surface grid generation method based on quadrilaterals with a small number of triangles, generate topological partitions according to the guidance of the curved surface frame field, and then generate quadrilateral grids in each partition along the front edge of the frame field direction, and perform reasonable triangle filling transition during the generation process, so that the generated grid based on quadrilateral units has great advantages in overall conformality and grid scale.
[0005] In order to solve the above technical problems, the technical solution of the present invention is:
[0006] A method for generating a structure-dominant surface mesh based on frame field guidance comprises the following steps:
[0007] Step 1: Calculate the frame field of the aligned boundary and curvature for the input background triangle mesh;
[0008] Step 2: Using the quadwild partitioning method, partition lines aligned with the frame field are obtained according to the frame field, thereby decomposing the background triangular mesh into several partitions;
[0009] Step 3: After the partitions are obtained, each partition edge needs to be quantized to obtain the final discrete number of segments of the partition edge. Since a pure quadrilateral mesh is not generated, there is no constraint on the number of segments of the partition edge (generating a pure quadrilateral mesh requires that the number of segments of each partition edge is an even number), so the triangle vertices on the background triangle mesh that the partition edge passes through can be directly used as the quantization points of the partition edge;
[0010] Step 4: Since the mesh generation method of the present invention is performed separately on each partition, there is no influence between the partitions, so multithreading can be used to generate meshes for all partitions in parallel. In order to achieve the parallelization of the partitions, the entire background triangle mesh needs to be split according to the partitions. This is easy to achieve because the partition information has been obtained before, and each partition is a closed loop. It only needs to define a background triangle mesh object for each partition, and then all triangles belonging to the closed loop of the partition are added to its background triangle mesh object.
[0011] In order to cooperate with the method of generating a mesh of the present invention, the present invention needs to set a frame for each vertex on each partition. Since the frame of the entire mesh on each triangular face has been obtained before, the frame of the point can be obtained by averaging the face frames of vertex 1-neighborhood. In addition, for vertices on the partition boundary, its frame should be set perpendicular to the boundary;
[0012] Step 5. For each partition, a boundary table needs to be established. In the process of generating the grid, each quadrilateral must select an edge from the boundary table as the front edge. The initial boundary table consists of all the boundary edges of the partition background grid, and each boundary edge has a priority. The priority is used to indicate the priority when selecting the front edge, and is set according to the boundary angles of the two endpoints of the edge. The present invention calls the sum of the angles of the 1-neighborhood triangles of the vertex on the boundary adjacent to the vertex as the boundary angle. Points with boundary angles less than 135 degrees are called type I points, points between 135 degrees and 240 degrees are called type II points, and points greater than 240 degrees are called type III points. The priority is I>II>III, and the priority is set for the boundary edge according to the boundary angles of the two endpoints of the boundary point.
[0013] In addition, in order to avoid the situation where only one side of the partition is advanced during the grid generation process, a hunger degree is set for each boundary edge. The hunger degree is initially 0. Each time a leading edge is selected, the hunger degree of the unselected edge is increased by 1. When the priorities are the same, the edge with the higher hunger degree is selected first, so that all boundaries of the partition are pushed inward evenly.
[0014] Step 6: Select an edge with the highest priority from the boundary table as the front edge, that is, the bottom edge of the quadrilateral, and then calculate the two side points at both ends of the edge to obtain the two sides of the quadrilateral;
[0015] Step 7: After the side point is determined, first triangulate the triangle where the side point is located with the side point as the vertex, and then connect the two side points and the two endpoints of the front edge to form a quadrilateral;
[0016] Step 8: After connecting into a quadrilateral, delete the triangle inside the quadrilateral, then delete the front edge from the boundary table, add the remaining three edges of the quadrilateral to the boundary table, and update the boundary table priority to generate a mesh;
[0017] Step 9: Post-process the generated mesh.
[0018] Similar to other frontier advancement methods, the mesh generated by the method of the present invention will have some small "cracks" at the end due to frontier collision. These cracks are composed of distorted triangles, which can be removed by edge collapse. The post-processing steps of the present invention are as follows:
[0019] Remove all triangle interior points: If the 1-neighborhood of a non-boundary vertex is all triangles, it is considered as a triangle interior point and deleted by collapsing its shortest adjacent edge;
[0020] Edge collapse to remove distorted triangles: For triangles with a minimum angle less than 30 degrees, collapse their shortest sides;
[0021] Topology optimization: In order to further improve the mesh quality, this paper selectively optimizes some special topological structures. For example, when a quadrilateral is adjacent to two triangles, they can be merged into one quadrilateral, and open merging can also be performed.
[0022] Mesh smoothing: Finally, based on the Laplace smoothing method of quadrilateral meshes, the present invention designs a smoothing algorithm suitable for mixed quadrilateral and triangular meshes, and performs mesh smoothing on each partition separately. This smoothing on the partition can keep the features unchanged (the partition boundary is the feature edge), thereby further improving the quality of the mesh.
[0023] Preferably, the specific method of step 1 is:
[0024] Step 1.1, traverse the edges of the background triangle mesh, detect and mark the feature edges according to the dihedral angles;
[0025] Step 1.2, calculate the basis of the triangular face in each background triangular mesh, and the frame on the face is represented by the vector form under the basis, denoted as f = (cos4t, sin4t), and the common edge of the two triangular faces is used as the connection, and the gradient of the two adjacent frame vectors is calculated as the smoothing term of the energy;
[0026] Step 1.3, taking the boundary edge of the background triangle mesh as the feature edge, and setting the frame of the adjacent face of the feature edge directly to be perpendicular to the feature edge as a feature constraint;
[0027] Step 1.4, calculate the direction of the maximum or minimum principal curvature and the average curvature of each vertex of the triangular mesh, and filter out the average curvature less than the threshold value given a threshold λ;
[0028] Step 1.5: Add the retained mean curvature alignment term as a penalty term to the energy function, and obtain the final frame field smoothing energy as follows:
[0029]
[0030] f i =(cos4θ i ,sin4θ i )
[0031]
[0032] where θ i and θ j are the angles between the directions of the frames of two adjacent triangles i and j and one of the sides of the triangles to which they belong, B i and B j is the basis of the two adjacent triangles, e ij For their common edges, Indicates e ij In base B i The rotation angle under ij for e ij The difference in the rotation angles between the bases of two adjacent triangles, and are the gradients of the two components of the frame vector, ks i The value of the curvature; c i It can be the direction of the maximum principal curvature or the direction of the minimum principal curvature. However, both the direction of the maximum principal curvature and the direction of the minimum principal curvature need to be normalized.
[0033] As a preference, since the direction of the boundary (feature) may conflict with the curvature direction, the effect of the curvature alignment term should be reduced near the boundary, while the effect of the curvature alignment term is greater away from the boundary, so the boundary distance coefficient λ is added i To control the curvature alignment term, for λ i The value of is related to the distance from the surface to the boundary (or feature). The closer to the boundary, the smaller the value of i The smaller the face is, if it is on the boundary (or feature), the value is 0. This paper uses BFS to traverse the adjacent faces layer by layer to obtain the distance from the boundary (feature).
[0034] Preferably, in step 1.5, since the energy is quadratically convex, the solution speed is faster and Gurobi is used for solution.
[0035] Preferably, in step 2, the lines along the edges of the triangular mesh are marked as partition lines, and the triangle edges on the partition lines are marked as partition edges, that is, all feature edges are marked as partition edges, and then partition lines that do not pass through the singular points of the frame field are added to construct partitions of valid topology. The shapes of these partitions are not required to be full quadrilaterals, as long as the partition lines meet the orthogonal direction of the frame field at the intersection, these partition lines are allowed to intersect. The partition lines can be closed loops, or have endpoints on the boundaries of the mesh or other partition lines.
[0036] In each partition, each vertex is classified according to its angle within the partition, which can be determined by traversing the angle of the triangle fan around the vertex. When the fan angle θ≤135°, it means that the point is a partition convex point; when the fan angle 135°≤θ<225°, it means that the point is a partition straight point; when the fan angle 225°≤θ<315°, it means that the point is a partition concave point; when the fan angle 315°≤θ≤360°, it means that the point is a partition breakpoint.
[0037] Preferably, in step 2, when calculating the partition line that does not pass through the frame field singular point, the partition line is regarded as a minimum cost maximum flow problem for network flow selection between a given starting point and a set of potential end points, and then an auxiliary network graph G is constructed and solved using the cost flow solution. First, all grid vertices are regarded as four nodes, each node corresponds to a frame direction, and the singular point will not appear in the network graph G. Therefore, the calculated partition line will not pass through the singular point. Since each node in G represents a vertex and one of the directions of the frame, by selecting the starting node and the ending node, not only the starting position and the ending position of the partition line are specified, but also the starting frame direction and the ending frame direction of the partition line are specified.
[0038] Preferably, the construction method of the auxiliary network graph G is:
[0039] Graph G = (V, E, c, w, s, t), given the streamline starting node v1, m candidate ending nodes including node 1, v2, v3, ... v m , the intermediate node v m+2 , v m+3 ,…v n In the auxiliary network diagram, V represents the n nodes mentioned above, E represents its connected edges, c represents the flow of each network edge, w represents the cost of selecting the connected edge, s represents the auxiliary starting point, and e represents the auxiliary ending point.
[0040] Due to the connectivity of the network graph, the graph G will only allow the partition line to be consistent with the frame field direction in the topological direction of the original background grid; and setting a cost for each network edge can ensure that the deviation between the partition line and the frame is minimal, which is conducive to the alignment of the partition line and the frame field. Since the partition line is generated by selecting on the edge of the background grid, it usually presents a sawtooth shape, and since the cost weight in the network flow is a non-negative value, the cost of deviation to the left and the cost of deviation to the right will not offset each other, but will be added. In order to alleviate this problem, when setting the actual connection, a virtual connection is established between two nodes separated by one point to enhance the connectivity of G. When selecting this virtual connection, the intermediate node is also selected to detect the intersection with other partition lines.
[0041] Preferably, the boundary angle is the sum of angles of the 1-neighborhood triangles of the vertex on the boundary that are adjacent to the vertex.
[0042] Preferably, in step 6, when selecting the front edge, when the priorities are the same, the edge with a higher hunger degree is selected first.
[0043] Preferably, in step 6, the calculation of the side points is related to the types of the two endpoints of the leading edge: if the endpoint is an I-type point, then the other adjacent edge on the boundary except the leading edge is directly taken as the side, and then the two side points are determined; if it is a non-I-type point, then the side direction is calculated through the frame field, and the side size is calculated through the boundary.
[0044] Preferably, the side size is calculated by averaging the lengths of the current boundary edges and then setting the size value as the side size.
[0045] Preferably, the side dimension is calculated as follows:
[0046] Starting from the vertex, traverse the endpoints along the boundary from both sides and record the total length of the edges passed;
[0047] If the boundary angle of the current endpoint is less than 135 degrees or greater than 240 degrees, the endpoint is the end point and the traversal in this direction is terminated;
[0048] If the boundary angle of the end point is less than 45 degrees, the end side length and end angle are calculated as follows:
[0049]
[0050] Among them, r i is the end edge length, θ i is the ending angle, v1 is the current point, v2 is the next traversal point, pv is the previous traversal point, α pv is the boundary angle size of point pv;
[0051] If the boundary angle of the end point is greater than 240 degrees, then:
[0052] r i =||v1-v2||
[0053]
[0054] In other cases, the ending angle and the ending side length are calculated as follows:
[0055] r i =||v1-v2||
[0056] θ i =α v1
[0057] After obtaining the end length and end angle of both sides, the direction vector of the side reference direction The calculation can be obtained by the following formula:
[0058]
[0059] Where d1 and d2 are the total lengths of the sides traversed on both sides. After obtaining the side reference direction of the endpoint, the direction closest to the reference direction is selected from the four directions of the frame at the point as the final side direction d v , and the side dimension r can also be obtained:
[0060]
[0061] After getting the direction and size, you need to find a projection point along the direction from the front edge endpoint on the background triangle mesh. The distance between the projection point and the edge endpoint should be equal to the calculated size. The calculation method of the projection point is simply to use the rotation axis perpendicular to the angle bisector of the boundary angle of the front edge endpoint (coplanar with the two adjacent boundary edges of the front edge), and then shoot a line segment with a length of size r along the side direction, rotate the line segment around the rotation axis, and the point where the endpoint of the line segment intersects with the background triangle mesh is the side point.
[0062] Preferably, in step 7, before connection, conditional constraints are required, and the constraint conditions include: whether the quadrilateral is legal and whether size transition is performed.
[0063] Preferably, in step 7, if a legal quadrilateral can be connected, the side points are connected by the edge recovery algorithm in the Qmorph method, and the two sides of the quadrilateral are constructed by the edge recovery algorithm, thereby connecting the four vertices of the quadrilateral.
[0064] Preferably, the edge recovery algorithm process is as follows:
[0065] Let the edge connecting the two side points be e, calculate the triangle edges that e passes through through orthogonal projection, and add these edges to the queue Q;
[0066] If the queue Q is not empty, take the edge at the head of the queue and perform a flip operation on the edge. If the flipped edge still passes through e, put the edge at the end of the queue Q. Otherwise, continue until the queue is empty.
[0067] Similarly, the edge recovery algorithm is used to construct the two sides of the quadrilateral, thereby connecting the four vertices of the quadrilateral.
[0068] In addition, since new vertices are added when generating side points, in order to ensure that there is a frame on each vertex of the background grid, the present invention also calculates the frame of the new point based on the frames of the three vertices of the triangle through the triangle centroid interpolation method after triangulation.
[0069] The present invention has the following characteristics and beneficial effects:
[0070] By adopting the above technical solution, an input triangular mesh can be converted into a structure-dominant surface mesh (or quadrilateral-dominant mesh).
[0071] The quadrilateral-dominated mesh obtained by the present invention strictly maintains the boundaries and features of the input triangular mesh, and gives priority to quadrilateral units at these boundaries and features, so as to meet the computational accuracy requirements of simulation in actual engineering.
[0072] The present invention takes into account the broad application scenarios of actual engineering applications. In the process of generating quadrilateral meshes, the strong adaptability of triangular meshes is combined, and reasonable triangle filling transition is performed in some complex areas that are not suitable for filling quadrilateral units, thereby ensuring the unit quality of the mesh.
[0073] The present invention generates partitions by guiding characteristic lines, and generates grid units in each partition along the direction of the frame field, so that the direction of the grid is aligned with the overall characteristic flow direction of the model, while maintaining the grid shape and also being suitable for application scenarios in simulation calculations in actual engineering.
[0074] The present invention combines the advantages of quadrilateral meshes and triangular meshes, and the generated mesh mainly composed of quadrilateral units has great advantages in overall conformality and mesh scale. BRIEF DESCRIPTION OF THE DRAWINGS
[0075] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
[0076] Figure 1 It is a flow chart of the present invention.
[0077] Figure 2 This is a frame field diagram with both boundaries and curvatures aligned simultaneously, where the blue line segment is the maximum principal curvature and the red line is the frame field.
[0078] Figure 3 Select the schematic diagram for the Streamline node.
[0079] Figure 4 Schematic diagram of partition structure.
[0080] Figure 5 Schematic diagram of the partition results of the F6 model.
[0081] Figure 6 Schematic diagram of boundary edge types.
[0082] Figure 7 Schematic diagram of the method for calculating the termination edges corresponding to three different types of boundary points.
[0083] Figure 8 Schematic diagram of the calculation method for the side direction.
[0084] Fig. 9 Schematic diagram of the calculation process of the projection point.
[0085] Fig.10 Schematic diagram of judging the legality of a quadrilateral.
[0086] Fig.11 Schematic diagram of edge recovery algorithm.
[0087] Fig.12 A schematic diagram showing an example of topology optimization.
[0088] Fig.13 Resulting plot of the structurally dominant surface mesh generated for the F6 model DETAILED DESCRIPTION
[0089] It should be noted that, in the absence of conflict, the embodiments of the present invention and the features in the embodiments may be combined with each other.
[0090] In order to make the objectives, technical solutions and advantages of the present invention more clearly understood, the present invention is further described in detail below with reference to the accompanying drawings.
[0091] On the contrary, the present invention covers any substitution, modification, equivalent method and scheme made on the essence and scope of the present invention as defined by the claims. Further, in order to make the public have a better understanding of the present invention, some specific details are described in detail in the detailed description of the present invention below. Those skilled in the art can fully understand the present invention without the description of these details.
[0092] Example 1
[0093] This embodiment provides a method for generating a structure-dominant surface mesh based on frame field guidance, such as Figure 1 As shown, the specific steps are as follows:
[0094] Step 1: Calculate the frame field of the input background triangle mesh to align the boundary and curvature;
[0095] 1.1 Traverse the edges of the mesh, detect and mark the feature edges based on the dihedral angles;
[0096] In this embodiment, the dihedral angle threshold is set to 30 degrees, and each edge of the grid is traversed to find the normal angle between its two adjacent faces. If the value is less than 30 degrees, the edge is marked as a feature edge. If it is a boundary edge, it is also marked as a feature edge.
[0097] 1.2 Calculate the basis of each triangular face;
[0098] The present invention places the frame on the centroid of the triangular face. For each face, a local coordinate system is constructed according to the normal and one edge of the triangle. The frame on the face is represented by the vector method (cos4t, sin4t) under the basis. The common edge of two triangular faces is used as the connection, and the gradient of two adjacent frame vectors is calculated as the smoothing term of energy.
[0099] 1.3 Set the frame of the adjacent face of the boundary edge directly to be perpendicular to the boundary edge as a constraint;
[0100] Specifically, the constraint is the Dirichlet bound: (cos4t, sin4t) = (1,0).
[0101] 1.4 Calculate the direction of the maximum or minimum principal curvature and the average curvature of each vertex of the triangular mesh, filter out the curvatures whose average curvature is less than a given threshold, and only retain the larger curvatures; the curvature threshold given in this embodiment is 0.55.
[0102] Specifically, in this embodiment, the curvature matrix is used to calculate the principal curvature. The specific method is: for each vertex p on the grid, the first-order neighborhood of p is taken and the following matrix is defined:
[0103]
[0104] Where |B| is the area of B, and e is the edge of the first-order neighborhood polygon area of the mesh vertex p in B. is the unit vector in the direction of e, ||e∩B|| is the length of e∩B, which is always between 0 and |e|, and β(e) is the angle between the normals of the two normal triangles with e as the common side.
[0105] Solve the eigenvalues and eigenvectors of the above matrix. The eigenvector corresponding to the minimum eigenvalue of Ep(B) can be used as the direction of the minimum principal curvature of the mesh surface at vertex p, and the eigenvector corresponding to the maximum eigenvalue can be used as the direction of the maximum principal curvature of the mesh surface at vertex p. The minimum eigenvalue and the maximum eigenvalue can be used as the estimated formulas for the principal curvatures k1 and k2. Therefore, the mean curvature can be directly calculated from the principal curvature according to the theory of differential geometry:
[0106]
[0107] 1.5 Add the curvature alignment term as a penalty term to the energy function, and the final frame field smooth energy is as follows:
[0108]
[0109] f i =(cos4θ i ,sin4θ i )
[0110]
[0111] Among them, ks i The curvature is selected to concentrate the energy in the area with large curvature. For the area with small average curvature (less than 0.55), it is directly misaligned (set to 0); c i It can be the direction of the maximum principal curvature or the direction of the minimum principal curvature, but both must be normalized. In addition, since the direction of the boundary may conflict with the curvature direction, the effect of the curvature alignment term should be reduced near the boundary, and the effect of the curvature alignment term is greater away from the boundary, so the boundary distance coefficient λ is added i To control the curvature alignment term, for λ i The value of is related to the distance from the surface to the boundary. The closer to the boundary, the larger the value of i The smaller the distance, the smaller the value. If the face is on the boundary, the value is 0. In this embodiment, the distance to the boundary is obtained by traversing the adjacent faces layer by layer through BFS.
[0112] Since the energy is quadratically convex, the solution speed is relatively fast, and the present invention directly uses Gurobi to solve it. Figure 2The result of the frame field of the present invention is shown, where the blue line is the filtered discrete curvature and the red line is the orthogonal frame placed at the centroid of the triangle.
[0113] Step 2: Generate partitions based on the frame field and feature edges;
[0114] The present invention adopts the partitioning method of quadwild, obtains a series of partition lines aligned with the frame field according to the frame field, and decomposes the model into several partitions. The shapes of these partitions are not required to be full quadrilaterals, as long as the partition lines meet the orthogonal direction of the frame field at the intersection, these partition lines are allowed to intersect. The partition lines can be closed loops, or have endpoints on the boundaries of the grid or other partition lines.
[0115] First, all feature constraints are converted into partition lines. All feature edges are marked as partition edges. Then some partition lines that do not pass through the frame field singular points are added to construct a series of partitions with valid topology. In each partition, each vertex is classified according to its angle in the partition, which can be determined by traversing the angle of the triangle fan around the vertex. When the fan angle θ≤135°, it indicates that the point is a partition convex point; when the fan angle 135°≤θ<225°, it indicates that the point is a partition straight point; when the fan angle 225°≤θ<315°, it indicates that the point is a partition concave point; when the fan angle 315°≤θ≤360°, it indicates that the point is a partition breakpoint.
[0116] When calculating the partition line, it is regarded as a minimum cost maximum flow problem for network flow selection between a given starting point and a set of potential end points. This can be solved by constructing an auxiliary network graph G and using the cost flow solution. First, all mesh vertices are regarded as four nodes, each corresponding to a frame direction. Singular points will not appear in the network graph G, so the calculated partition line will not pass through singular points. Since each node in G represents a vertex and one of the directions of the frame, by selecting the starting node and the ending node, not only the starting position and the ending position of the partition line are specified, but also the starting frame direction and the ending frame direction of the partition line are specified. For example Figure 3 As shown, the specific construction method of the graph G=(V, E, c, w, s, t) is as follows:
[0117] Given a streamline starting node v1, m candidate ending nodes including node 1, v2, v3, ...v m , the intermediate node v m+2 , v m+3 ,…v nIn the network diagram, V represents the n nodes mentioned above, E represents its connected edges, c represents the flow of each network edge (set to 1), w represents the cost of selecting the connected edge, s represents the auxiliary starting point (it has only one zero-cost edge with flow of 1 with v1), and e represents the auxiliary ending point (from nodes v1, v2, ...v m There is a zero-cost edge with a flow of 1). The construction rules of the connected edge E are as follows: ① The two nodes are located at the vertex p connected on the background grid. i and p j ;②The angle of the tangent direction of the frame field corresponding to the two nodes is less than 45°;③(p i -p j ) and the angle between them and the tangent direction of the corresponding frame f is less than 60°. The cost weight between the two nodes is:
[0118] w ij =|(p j -p i )·f ⊥ |
[0119] where f ⊥ is a direction orthogonal to f, and this value is used to measure the degree of deviation of the edge from the frame.
[0120] Due to the connectivity of the network graph, the graph G will only allow the partition line to be consistent with the frame field direction in the topological direction of the original background grid; and setting a cost for each network edge can ensure that the deviation between the partition line and the frame is minimal, which is conducive to the alignment of the partition line and the frame field. Since the partition line is generated by selecting on the edge of the background grid, it usually presents a sawtooth shape, and since the cost weight in the network flow is a non-negative value, the cost of deviation to the left and the cost of deviation to the right will not offset each other, but will be added. In order to alleviate this problem, when setting the actual connection, a virtual connection is established between two nodes separated by one point to enhance the connectivity of G. When selecting this virtual connection, the intermediate node is also selected to detect the intersection with other partition lines.
[0121] like Figure 3 As shown, although the cost between bc is lower than the cost between bd with point b as the starting point, there are mutually offsetting costs between ab and bd with point a as the starting point, which leads to the cost between ad being lower than the cost between ac. Therefore, when selecting the streamline, edge bd will be selected to make the total cost lower.
[0122] Furthermore, this embodiment also includes optimization processing of partitions:
[0123] The initial partition generated by the feature constraint is usually outside the scope of the above conditions, so the construction of the partition is completed by adding new internal partition lines to force all partitions to meet the basic conditions of the partition construction. The partition construction algorithm of the present invention utilizes the idea of divide and conquer. In each partition that does not meet the conditions, a certain number of new partition lines are inserted to decompose the partition into several small partitions. The processing method for all partitions that do not meet the "validity" condition is consistent: first, a certain number of alternative partition lines are traced on the grid, and in each step of partition line generation, a set of potential starting nodes S and end nodes E are determined. Then, try to trace a new path from each node in S to any node in E, and add the successfully traced partition lines to the alternative partition lines. Then decide whether to use them for partition construction in the given order.
[0124] Any partition line that meets the following conditions and is not tangent to the previous partition line will be added to the new partition line: ① It helps to achieve any "validity" condition (it can change the variable with unreasonable number of partition edges, or remove partitions with partition concave points or partition breakpoints); ② It can split partitions that still do not meet all goals. The second point can ensure that a complex partition can always be split into multiple partitions that meet the conditions. After all partitions are processed, check whether there are partitions that still do not meet the validity conditions. If there are partitions that do not meet the validity conditions, repeat the above algorithm in the partition. The new partition line selected in the partition will not exceed the boundary of the partition (the new partition line will stop tracking when it reaches the boundary of the partition, forming a T-shaped partition point). Repeat this step recursively until all partitions meet the "validity" conditions. The algorithm steps for partition construction are summarized as follows:
[0125] The partition concave point and partition breakpoint are used as the starting and ending points of the partition line to calculate and select the partition line. The partition concave point and partition breakpoint are used as the starting point of the partition to calculate the partition line. This step is to solve the convexity constraint of the partition. This step is divided into two stages. For each partition concave point and partition breakpoint, one or two directions matching the frame are added ( Figure 4 (a)) starts at node S; select all other partition concave points and partition break points as end nodes E. If there are still non-convex points, repeat this step and include all partition straight points into the end node E in the second stage. The path traced in this way will end at a T-junction (or grid boundary). Figure 4 (b) shows the results of this round.
[0126] Randomly select internal points as the start and end points of the partition line. Calculate and select the partition line, randomly select a series of uniformly distributed internal vertex subsets, use these internal vertices as the start and end points of the partition line, and try to generate a circular partition line. Figure 4 (c) shows the result of this step.
[0127] Use the partition straight point as the starting and ending point of the partition line to calculate and select the partition line, use the partition straight point as the starting and ending point of the partition line to calculate and select the partition line, and connect the partition straight point with other partition straight points. This step is to solve the remaining partition problems that do not meet the topological constraints and edge number constraints. Figure 4 (d) shows the results of this round.
[0128] Once several rounds of partition line selection and insertion are completed, a partition that satisfies all the partition validity conditions is obtained. However, during its construction, there is currently no simple and effective way to predict whether the streamline being inserted will eventually be useful in satisfying any constraints, because multiple streamlines can contribute to satisfying the same constraint.
[0129] Redundant partition lines are cleaned up. After the streamline selection and insertion process is completed, all streamlines are traversed and deleted as long as it is determined that deleting these streamlines will not violate any conditions that have been met. Figure 4 (e) shows the result of this processing step. Since the partition edge is fixed on the background grid edge, the partition lines in this paper are mostly jagged. In the last step, Laplace smoothing is first performed on the points on the partition line, and then the points on the partition line are fixed and the remaining points in the grid are smoothed. Figure 4 (f) shows the result of this step, Figure 5 The partitioning results of the f6 model are shown.
[0130] Smooth the final partition line;
[0131] Step 3: quantize the partition edges;
[0132] After the partitions are obtained, each partition edge needs to be quantized to obtain the final discrete number of segments of the partition edge. Since a pure quadrilateral mesh is not generated, there is no constraint on the number of segments of the partition edge (generating a pure quadrilateral mesh requires that the number of segments of each partition edge is an even number), so the triangle vertices on the background mesh that the partition edge passes through can be directly used as the quantization points of the partition edge.
[0133] Step 4: Set the background grid and frame field of the partition
[0134] Since the mesh generation method of the present invention is performed separately on each partition, there is no influence between the partitions, so multi-threading can be used to generate meshes in parallel for all partitions. In order to achieve the parallelization of the partitions, firstly, the entire background triangle mesh needs to be split according to the partitions, which is easy to achieve because the partition information has been obtained before, and each partition is a closed loop. It only needs to define a background triangle mesh object for each partition, and then all triangles belonging to the closed loop of the partition are added to its background triangle mesh object.
[0135] In order to cooperate with the method of generating a grid of the present invention, the present invention needs to set a frame for each vertex on each partition. Since the frame of the entire grid on each triangular face has been obtained before, the frame of the point can be obtained by averaging the face frames of vertex 1-neighborhood. In addition, for vertices on the boundary of the partition, its frame should be set perpendicular to the boundary.
[0136] Step 5: Initialize the boundary table of each partition;
[0137] For each partition, a boundary table needs to be established. In the process of generating the grid, each quadrilateral must select an edge from the boundary table as the front edge. The initial boundary table consists of all the boundary edges of the partitioned background grid, and each boundary edge has a priority. The priority is used to indicate the priority when selecting the front edge, and is set according to the boundary angles of the two endpoints of the edge. The present invention calls the sum of the angles of the 1-neighborhood triangles of the vertex on the boundary and the angles adjacent to the vertex as the boundary angle. Points with boundary angles less than 135 degrees are called Type I points, points between 135 and 240 degrees are called Type II points, and points greater than 240 degrees are called Type III points. Their priorities are I>II>III. The priority of the boundary edge is set according to the type of the two endpoints of the boundary edge. The larger the sum of the priorities of the two endpoints, the higher the priority of the boundary edge, thereby obtaining the following: Figure 6 The five boundary edge types shown have a priority of a>b>c>d>e.
[0138] In addition, in order to avoid the situation where only one side of the partition is advanced during the grid generation process, a hunger degree is set for each boundary edge. The hunger degree is initially 0. Each time a leading edge is selected, the hunger degree of the unselected edge is increased by 1. When the priorities are the same, the edge with the higher hunger degree is selected first, so that all boundaries of the partition are pushed inward evenly.
[0139] Step 6: Select one front edge at a time and calculate two side points;
[0140] Select an edge with the highest priority from the boundary table as the leading edge, that is, the base of the quadrilateral, and then calculate the two side points at both ends of the edge to obtain the two side edges of the quadrilateral. The calculation of the side points is related to the type of the two endpoints of the leading edge. If the endpoint is an I-type point (the boundary angle is less than 135 degrees), then directly take the other adjacent edge on the boundary except the leading edge as the side edge; if it is a non-I-type point, the side direction is calculated through the frame field, and the side size is calculated through the boundary. Since the orthogonal frame has 4 directions, one of the directions should be selected as the side direction according to the boundary conditions. Therefore, before determining the side direction, a side reference direction should be calculated first.
[0141] This embodiment provides an adaptive size calculation method. In the adaptive size mode, the side size and the side reference direction are calculated simultaneously. The calculation steps are as follows:
[0142] Starting from the vertex, traverse the endpoints along the boundary from both sides and record the total length of the edges passed;
[0143] If the boundary angle of the current endpoint is less than 135 degrees or greater than 240 degrees, the endpoint is the end point and the traversal in this direction is terminated;
[0144] If the boundary angle of the end point is less than 45 degrees, the end side length and end angle are calculated as follows:
[0145]
[0146] The terminating side length is r i (i=1,2, respectively representing the end lengths in two different directions), end angle θ i (i=1,2, respectively representing the end angles of two different directions), v1 is the current point, v2 is the next traversal point, pv is the previous traversal point, α pv is the boundary angle size of point pv;
[0147] If the boundary angle of the end point is greater than 240 degrees, then:
[0148] r i =||v1-v2||
[0149]
[0150] In other cases, the ending angle and the ending side length are calculated as follows:
[0151] r i =||v1-v2||
[0152] θ i =α v1
[0153] After obtaining the end length and end angle of both sides, the direction vector of the side reference direction The calculation can be obtained by the following formula:
[0154]
[0155] Where d1 and d2 are the total lengths of the sides traversed by the two sides. After obtaining the side reference direction of the endpoint, the direction closest to the reference direction is selected from the four directions of the frame at the point as the final side direction d v , and the side dimension r can also be obtained:
[0156]
[0157] Figure 7 The calculation of the terminal edges corresponding to three different types of boundary points is shown, where the blue arrow is the vector of the terminal edge; Figure 8 The calculation of the side direction is shown, and the frame direction closest to the direction of the orange arrow is selected as the side direction.
[0158] After getting the direction and size, you also need to find a projection point along the direction from the front edge endpoint on the background triangle mesh. The distance between the projection point and the edge endpoint should be equal to the calculated size. The calculation method of the projection point is simply to use the rotation axis perpendicular to the angle bisector of the boundary angle of the front edge endpoint (coplanar with the two adjacent boundary edges of the front edge), and then shoot a line segment with a length of size value r along the side direction, rotate the line segment around the rotation axis, and the point where the endpoint of the line segment intersects with the background triangle mesh is the side point. Fig. 9 As shown in the figure, the specific calculation process of the projection point is as follows:
[0159] Assume that the endpoint of the front edge is v, and its two adjacent boundary vertices are v1 and v2, then the rotation axis direction vector is
[0160] Use breadth-first traversal of the neighborhood triangles of point v, and calculate the projection point for each triangle once until the triangle where the projection point is located is found;
[0161] Let the origin be ov, the coordinate axes XYZ directions do not need to be transformed, and let the coordinates of the projection point to be calculated be P = (P x , P y , P z ), the triangle normal is The coordinates of the vertex A of ΔABC are A=(X a , Y a , Z a ), the direction vector of the rotation axis around the side is According to the calculation method of the intersection of the space circle and the triangle, the following equations can be obtained:
[0162] P x 2 +P y 2 +P z 2 =r 2
[0163] X r *P x +Y r *P y +Z r *P z =0
[0164] a*P x +b*P y +c*P z =a*X a +b*Y a +c*Z a
[0165]
[0166] If the system of equations has a solution, then P = (P x , P y , P z ) is the side projection point, otherwise the projection point is not on the triangle. If the projection point is still not found after traversing 3 layers of triangles, it means that a front collision has occurred, and the edge is skipped.
[0167] Step 7: Connect the top edges to get a quadrilateral;
[0168] After determining the side point, first triangulate the triangle where the side point is located with the side point as the vertex, and then connect the two side points and the two endpoints of the front edge to form a quadrilateral. Before connecting, you need to determine:
[0169] (1) Whether the quadrilateral is legal or not, the legality criteria and corresponding operations are as follows:
[0170] Convex quadrilateral: the quadrilateral formed by the four vertices must be convex, otherwise the leading edge is skipped;
[0171] Maximum angle: The maximum angle of the quadrilateral cannot exceed 135 degrees, otherwise the leading edge is skipped;
[0172] Shortest side length: The ratio of the shortest side length to the front side length should not be less than 1 / 4, otherwise they will be connected into a triangle;
[0173] (2) Whether to perform size transition. The size transition strategy is as follows:
[0174] Set a transition level L. If the level value in the current boundary table item is not less than L, the size transition strategy can be executed;
[0175] If the length of the top edge is greater than the fixed size*2, this edge is skipped and no grid unit is generated;
[0176] If the length of the top edge*2<fixed size, only one of the side points is connected to the front edge to form a triangle.
[0177] For the legality judgment, see Fig.10 .
[0178] If a legal quadrilateral can be formed, the side points are connected using the edge recovery algorithm in the Qmorph method. The process is as follows: Fig.11 The edge recovery algorithm process is as follows:
[0179] Let the edge connected by the two side points be e, calculate the triangle edges that e passes through through orthogonal projection, and add these edges to queue E;
[0180] If the queue is not empty, take the first element and flip the edge. If the flipped edge still passes through e, put the edge at the end of E. Otherwise, continue until the queue is empty.
[0181] Similarly, the edge recovery algorithm is used to construct the two sides of the quadrilateral, thereby connecting the four vertices of the quadrilateral.
[0182] In addition, since new vertices are added when generating side points, in order to ensure that there is a frame on each vertex of the background grid, the present invention also calculates the frame of the new point based on the frames of the three vertices of the triangle through the triangle centroid interpolation method after triangulation.
[0183] Step 8: Update the background grid and boundary table;
[0184] After connecting into a quadrilateral, delete the triangles inside the quadrilateral, then delete the front edge from the boundary table, and add the remaining three edges of the quadrilateral to the boundary table. For the newly added edge, its hunger is set to 0, and the hunger of the remaining existing edges is +1, and the boundary table priority is updated. For the newly added edge, the level of its boundary table entry is equal to the level value of the selected boundary table entry generated by the current grid unit +1.
[0185] Step 9: Post-process the generated mesh;
[0186] Similar to other frontier advancement methods, the mesh generated by the method of the present invention will have some small "cracks" at the end due to frontier collision. These cracks are composed of distorted triangles, which can be removed by edge collapse. The post-processing steps of the present invention are as follows:
[0187] Remove all triangle interior points: If the 1-neighborhood of a non-boundary vertex is all triangles, it is considered as a triangle interior point and deleted by collapsing its shortest adjacent edge;
[0188] Edge collapse to remove distorted triangles: For triangles with a minimum angle less than 30 degrees, collapse their shortest sides;
[0189] Topology optimization: To further improve the mesh quality, this paper selectively optimizes some special topological structures. For example, when a quadrilateral is adjacent to two triangles, they can be merged into one quadrilateral, and open merging (such as Fig.12 shown) etc.
[0190] Mesh smoothing: Finally, based on the Laplace smoothing method of quadrilateral meshes, the present invention designs a smoothing algorithm suitable for mixed quadrilateral and triangular meshes, and performs mesh smoothing on each partition separately. This smoothing on the partition can keep the features unchanged (the partition boundary is the feature edge), thereby further improving the quality of the mesh.
[0191] Fig.13 The structurally dominant surface mesh of the f6 model generated by the present invention is shown.
[0192] In summary, the present invention generates topological partitions according to the guidance of the curved frame field, and then generates quadrilateral meshes in each partition along the front edge of the frame field direction, and performs reasonable triangle filling transition during the generation process, so that the generated mesh based on quadrilateral units has great advantages in overall conformality and mesh scale. The automatic generation method of surface mesh with dominant structure proposed in this discovery can adapt well to complex shapes, and reduces the overall scale of the mesh, which can well meet the application requirements of CFD engineering.
[0193] Example 2
[0194] The difference between this embodiment and embodiment 1 is that in step 6, this embodiment adopts a fixed size calculation method, wherein the fixed size calculation is relatively simple, and only requires averaging the lengths of the current boundary edges and then setting the size value to the average value.
[0195] The embodiments of the present invention are described in detail above with reference to the accompanying drawings, but the present invention is not limited to the described embodiments. For those skilled in the art, various changes, modifications, substitutions and variations of these embodiments including components are made without departing from the principles and spirit of the present invention, and still fall within the scope of protection of the present invention.
Claims
1. A method for generating structure-dominant surface mesh based on frame field guidance, characterized in that: The steps include: Step 1: Calculate the frame field of the input background triangle mesh to align the boundary and curvature; Step 2: Using the quadwild partitioning method, partition lines aligned with the frame field are obtained according to the frame field, thereby decomposing the background triangular mesh into several partitions; Step 3: quantize the partition edges obtained by decomposition to obtain the final discrete segment number of the partition edges, wherein the quantization method is: using the triangle vertices on the background triangle mesh through which the partition edges pass as the quantization points of the partition edges; Step 4, generate the partitioned background triangle mesh and set the frame field, wherein the method for generating the partitioned background triangle mesh is: first, the entire background triangle mesh needs to be split according to the partition, and then all triangles belonging to the closed loop of the partition are added to its background triangle mesh object. The method for setting the frame field is: set a frame for each vertex on each partition, and for the vertices on the partition boundary, set its frame to be perpendicular to the boundary, and then generate the frame field; Step 5: Create and initialize a boundary table for each partition. The initial boundary table consists of all boundary edges of the partition background triangle mesh. Each boundary edge has a priority, which is set according to the boundary angles of the two endpoints of the edge. Step 6: Select an edge with the highest priority from the boundary table as the front edge, that is, the bottom edge of the quadrilateral, and then calculate the two side points at both ends of the edge to obtain the two sides of the quadrilateral; Step 7: After the side point is determined, first triangulate the triangle where the side point is located with the side point as the vertex, and then connect the two side points and the two endpoints of the front edge to form a quadrilateral; Step 8: After connecting into a quadrilateral, delete the triangle inside the quadrilateral, then delete the front edge from the boundary table, add the remaining three edges of the quadrilateral to the boundary table, and update the boundary table priority to generate a mesh; Step 9: Post-process the generated mesh.
2. The method for generating structure-dominant surface grids based on frame field guidance according to claim 1, characterized in that: The specific method of step 1 is: Step 1.1, traverse the edges of the background triangle mesh, detect and mark the feature edges according to the dihedral angles; Step 1.2, calculate the basis of the triangular face in each background triangular mesh, and the frame on the face is represented by the vector form under the basis, denoted as f = (cos4t, sin4t), and the common edge of the two triangular faces is used as the connection, and the gradient of the two adjacent frame vectors is calculated as the smoothing term of the energy; Step 1.3, taking the boundary edge of the background triangle mesh as the feature edge, and setting the frame of the adjacent face of the feature edge directly to be perpendicular to the feature edge as a feature constraint; Step 1.4, calculate the direction of the maximum or minimum principal curvature and the average curvature of each vertex of the triangular mesh, and filter out the average curvature less than the threshold value given a threshold λ; Step 1.5: Add the retained mean curvature alignment term as a penalty term to the energy function, and obtain the final frame field smoothing energy as follows: f i =(cos4θ i ,sin4θ i ) where θ i and θ j are the angles between the directions of the frames of two adjacent triangles i and j and one of the sides of the triangles to which they belong, B i and B j is the basis of the two adjacent triangles, e ij For their common edges, Indicates e ij In base B i The rotation angle under ij for e ij The difference in the rotation angles between the bases of two adjacent triangles, and are the gradients of the two components of the frame vector, ks i The value of the curvature; c i Can be the direction of maximum principal curvature or the direction of minimum principal curvature.
3. The method for generating structure-dominant surface mesh based on frame field guidance according to claim 1, characterized in that: In step 1, the distance to the boundary is obtained by traversing the adjacent faces layer by layer through BFS.
4. The method for generating structure-dominant surface grids based on frame field guidance according to claim 2, characterized in that: In step 1.5, the final frame field smooth energy is a quadratic convex function, which is solved by Gurobi.
5. The method for generating structure-dominant surface grid based on frame field guidance according to claim 2, characterized in that: In step 2, the lines along the edges of the triangular mesh are marked as partition lines, and the triangle edges on the partition lines are marked as partition edges, that is, all feature edges are marked as partition edges, and then partition lines that do not pass through the frame field singular points are added to construct partitions of valid topology.
6. The method for generating structure-dominant surface grid based on frame field guidance according to claim 5, characterized in that: In step 2, when calculating the partition line that does not pass through the frame field singular point, the partition line is regarded as a minimum cost maximum flow problem for network flow selection between a given starting point and a set of potential end points, and then an auxiliary network graph G is constructed and solved using the cost flow solution. First, all grid vertices are regarded as four nodes, each node corresponds to a frame direction, and singular points will not appear in the network graph G. Therefore, the calculated partition line will not pass through the singular point.
7. The method for generating structure-dominant surface grids based on frame field guidance according to claim 6, characterized in that: The construction method of the auxiliary network graph G is: Graph G = (V, E, c, w, s, t), given the streamline starting node v1, m candidate ending nodes including node 1, v2, v3, ... v m , the intermediate node v m+2 ,v m+3 ,…v n In the auxiliary network diagram, V represents the n nodes mentioned above, E represents its connected edges, c represents the flow of each network edge, w represents the cost of selecting the connected edge, s represents the auxiliary starting point, and e represents the auxiliary ending point.
8. The method for generating structure-dominant surface mesh based on frame field guidance according to claim 1, characterized in that: The boundary angle is the sum of the angles of the 1-neighborhood triangles of the vertex on the boundary that are adjacent to the vertex.
9. The method for generating structure-dominant surface mesh based on frame field guidance according to claim 8, characterized in that: In step 5, the priority of the boundary edge is set according to the boundary angles of the two endpoints of the boundary point. Points with boundary angles less than 135 degrees are called type I points, points between 135 degrees and 240 degrees are called type II points, and points greater than 240 degrees are called type III points. The priority is I>II>III.
10. The method for generating structure-dominant surface mesh based on frame field guidance according to claim 1, characterized in that: In step 5, a hunger degree is set for each border edge, and the hunger degree is initially 0. Each time a frontier edge is selected, the hunger degree of the unselected edge is increased by 1.
11. The method for generating structure-dominant surface mesh based on frame field guidance according to claim 10, characterized in that: In step 6, when selecting the front edge, when the priorities are the same, the edge with a higher hunger degree is selected first.
12. The method for generating structure-dominant surface mesh based on frame field guidance according to claim 9, characterized in that: In step 6, the calculation of the side points is related to the types of the two endpoints of the front edge: if the endpoint is an I-type point, then the other adjacent edge on the boundary except the front edge is directly taken as the side, and then the two side points are determined; if it is a non-I-type point, then the side direction is calculated through the frame field, and the side size is calculated through the boundary.
13. The method for generating structure-dominant surface mesh based on frame field guidance according to claim 12, characterized in that: The side size is calculated by averaging the lengths of the current boundary edges and then setting the size value as the side size.
14. The method for generating structure-dominant surface mesh based on frame field guidance according to claim 12, characterized in that: The side dimensions are calculated as follows: Starting from the vertex, traverse the endpoints along the boundary from both sides and record the total length of the edges passed; If the boundary angle of the current endpoint is less than 135 degrees or greater than 240 degrees, the endpoint is the end point and the traversal in this direction is terminated; If the boundary angle of the end point is less than 45 degrees, the end side length and end angle are calculated as follows: Among them, r i is the end edge length, θ i is the ending angle, v1 is the current point, v2 is the next traversal point, pv is the previous traversal point, α pv is the boundary angle size of point pv; If the boundary angle of the end point is greater than 240 degrees, then: r i =||v1-v2|| In other cases, the ending angle and the ending side length are calculated as follows: r i =||v1-v2|| i i =a v1 After obtaining the end length and end angle of both sides, the direction vector of the side reference direction The calculation can be obtained by the following formula: Where d1 and d2 are the total lengths of the sides traversed on both sides. After obtaining the side reference direction of the endpoint, the direction closest to the reference direction is selected from the four directions of the frame at the point as the final side direction d v , and the side dimension r can also be obtained: After obtaining the direction and size, use the rotation axis perpendicular to the angle bisector of the boundary angle of the front edge endpoint to shoot out a line segment with a length of size r along the side direction, rotate the line segment around the rotation axis once, and the point where the endpoint of the line segment intersects with the background triangle mesh is the side point.
15. The method for generating structure-dominant surface mesh based on frame field guidance according to claim 10, characterized in that: In step 7, before connection, conditional constraints need to be performed, and the constraint conditions include: whether the quadrilateral is legal and whether size transition is performed.
16. The method for generating structure-dominant surface grid based on frame field guidance according to claim 15, characterized in that: In step 7, if a legal quadrilateral can be connected, the side points are connected by the edge recovery algorithm in the Qmorph method, and the two sides of the quadrilateral are constructed by the edge recovery algorithm, so that the four vertices of the quadrilateral are connected.
17. The method for generating structure-dominant surface mesh based on frame field guidance according to claim 16, characterized in that: The edge recovery algorithm process is as follows: Let the edge connecting the two side points be e, calculate the triangle edges that e passes through through orthogonal projection, and add these edges to the queue Q; If the queue Q is not empty, take the edge at the head of the queue and perform a flip operation on the edge. If the flipped edge still passes through e, put the edge at the end of the queue Q. Otherwise, continue until the queue is empty.
Citation Information
Cited By
Geometric model quadrilateral mesh generation method and system based on GPU parallelism
CN120526086A
A GPU-based parallel method and system for generating quadrilateral meshes for geometric models
CN120526086B
Intelligent generation method for pure quadrilateral partition based on diffusion model
CN120655866A
Hexahedron domination grid generation method, device and equipment for aircraft mechanical structural member simulation and medium
CN121615432A
Structurally dominated hexahedral mesh generation method, device and equipment based on bipartite marking and medium
CN121661293A
