Mesh generation
By combining the front-end propagation method with asterisk and cross fields, a triangular mesh aligned with the principal curvature and boundary of the surface is generated, solving the problem of large mesh deviation in existing technologies and achieving high-quality mesh generation.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SIMENS INDASTRI SOFTVEAR INK
- Filing Date
- 2020-08-31
- Publication Date
- 2026-05-15
AI Technical Summary
Existing technologies struggle to generate high-quality triangular meshes that align with the curvature of non-uniform surfaces, resulting in significant mesh deviations in finite element and finite volume analyses.
The method employs a leading-edge propagation approach combined with asterisk and cross fields. By calculating the asterisk field AF and cross field CF on the block, a triangular mesh aligned with the principal curvature of the surface and the boundary direction is generated. The specific steps include calculating the growth direction, determining the position of the triangle vertex, and inserting new triangles.
The generated triangular mesh is aligned with the surface boundary and curvature, has uniform size, reduces deviation from the original surface, and improves mesh quality.
Smart Images

Figure CN116113992B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a computer-implemented method for remeshing blocks in a triangularly meshed surface, specifically, a method for creating a remeshed surface. Background Technology
[0002] Computer-aided engineering (CAE) is increasingly used in manufacturing operations to aid in the creation, modification, or optimization of designs. This is a critical step in product design, and CAE provides opportunities to analyze designs throughout all phases of product lifecycle management (PLM). CAE software almost always requires mesh generation software, which is used as part of the finite element analysis or computational fluid dynamics required for the design. Mesh generation (also known as lattice generation, meshing, or lattice transformation) takes input from various types of models, including: solid modeling (parametric or direct), geometric modeling, NURBS (non-uniform rational basis splines), B-rep (boundary representation), STL (a stereolithography file format), or point clouds. The basic form of a mesh is the subdivision of a continuous geometric space into discrete geometric and topological elements, resulting in discrete local approximations of larger regions.
[0003] Mesh systems are typically formed from simple units such as triangles or quadrilaterals, and numerous algorithms for surface meshing and remeshing have been proposed over the past few decades. However, only a few of these algorithms manage to align the triangles both with the surface curvature and the boundary, thus minimizing deviations from the original surface being modeled. Problems may also exist regarding the uniformity of triangles within the mesh and the lack of consistency with the variable target dimensions originally applied to the surface. One solution proposed to alleviate some of these problems is to use an advancing front method to generate triangular surface meshes, as illustrated in the article:
[0004] “High Quality Mesh Generation Using cross and Asterisk Fields: Application on Coastal Domains”, Georgiadis et al , 26 th International MeshingRoundtable,
[0005] The method discussed in this paper proposes the use of direction field and frontal point insertion strategies. An asterisk field is used to generate triangular meshes, while a cross field is used to generate right-angled triangular meshes optimal for transformation into quadrilateral meshes. However, this paper only considers spherical surfaces where the curvature is the same in all directions, and although nodes are defined, no information is given regarding the generation of triangles in the mesh after vertex positioning. Therefore, while this method provides a solution for the spherical surface shown, there are many cases where modeling non-uniform surfaces is required, and accurate and high-quality meshes are needed to achieve this, such as in finite element analysis (FEA) and finite volume analysis (FVA). Therefore, as part of the FEA / FVA pipeline, there is a need for high-quality meshed surfaces that are very similar to the original surface being simulated. Summary of the Invention
[0006] The object of the present invention is to address these problems by providing a computer-implemented method, as described in the first aspect, for re-meshing blocks on a triangular mesh surface, wherein the initial surface... IS Includes triangular surface mesh M and target size field TS The target size field is defined on a triangular surface mesh. M Triangular surface mesh at each point in M Specify the optimal triangle side length at each location on the surface, and define the triangle surface mesh. M The method, which divides the surface into blocks, wherein each block comprises a continuous set of adjacent faces bounded by closed loops formed by boundaries or feature edges and has principal surface curvatures, includes the following steps:
[0007] a) Divide each block into grids using a front-end propulsion process, wherein the front-end propulsion process includes:
[0008] b) Calculate the asterisk field on the block AF ;
[0009] c) Initialize the frontier using block boundaries or features F This frontier F A closed chain including one or more connected edges;
[0010] d) Select the leading edge from the edge of the leading edge by the following steps. AB To generate a new triangle and determine its vertices. C Location:
[0011] i) Point-based A Calculate the radius of the first circle based on the target dimension at that location. r A = TS ( A ), based on points B Calculate the radius of the second circle based on the target dimension at that location. r B = TS ( B );
[0012] ii) From the asterisk field, follow these steps AF Calculate the leading edge AB growth direction gd That is, at the front edge AB midpoint X Calculate the asterisk field AF ( X ); Calculate the asterisk field AF ( X The conjugate asterisk field CAF ( X The conjugate asterisk field is the asterisk field. AF ( X The field obtained by rotating 30 degrees; calculate the normal vector. n The normal vector is the same as the leading edge. AB Orthogonal vectors aligned with the direction of the propulsion front; determined by the normal vector n Conjugate Asterisk Field with Maximum Dot Product CAF ( X To obtain the growth direction from the direction of ) gd ;
[0013] iii) Determine with A Centered on r A a circle with radius c A With B Centered on r B a circle with radius c B intersection C 0 The intersection point is located at the edge. AB Regarding growth direction gd The positive half-plane;
[0014] iv) Generate triangles ABC 0 circumcircle cc ;
[0015] v) Determine the circumcircle cc With the front edge ABThe intersection of the axes O ;
[0016] vi) By growth direction gd Orientation structure passing through point O line r ;
[0017] vii) Obtain the vertices of the new triangle C The location is on the line. r Circumcircle cc Intersecting division points O At another point besides;
[0018] e) If the surface mesh M If it is not planar, then the vertices... C Projected onto the initial surface IS Above; and
[0019] f) Insertion point C and the edge AC and edges BC Apply to the mesh and use a single triangle ABC Alternate circuit AB , BC , CA Any internal triangle; where the asterisk field AF It is a cross field aligned with the principal curvature direction and boundary direction of the block's surface. CF Produced.
[0020] By using the fork field CF Generate an asterisk field AF The surface can be re-meshed using the leading-edge propulsion method, where the asterisk field... AF Alignment with the principal curvature directions and boundary directions of the involved blocks. This method improves mesh quality compared to existing methods.
[0021] In one case, the front edge AB Adjacent front edge and front edge AB Angle between θ None are less than 4 / 9π radians (80°). In another case, if with the leading edge... AB One of the two adjacent front edges, i.e., the edge. s , and the front edge AB If an angle less than 4 / 9π radians (80°) is formed, then the vertex of the new triangle... C The first approximation point is the edge. s The node at the end of the node, which is neither A No BThe method further includes: processing all vertex positions generated in step d) C Optimize the final vertex by taking the average. C The location. Alternatively, the current edge. AB Both adjacent front edges are with the front edge AB When forming an angle less than 4 / 9π radians (80°), with the leading edge AB The leading edge with the smallest angle is selected as the edge. s The method further includes: processing all vertex positions generated in step d) C Optimize the final vertex by taking the average value. C The location.
[0022] The method preferably further includes the following steps: [processing the front edge] AB Perform a preliminary edge check, which includes determining the leading edge. AB length L AB and the length L AB With the front edge AB Regarding the target size field TS Optimal length L TS Compare, and if the length L AB If it's too short, then the front edge... AB Collapse, or if the front edge AB length L AB If it's too long, then the front edge AB It was split apart.
[0023] Preferably, the method further includes the following steps: placing all edges into a priority sequence to determine the order in which new triangles are generated, and sorting the edges in the priority sequence by: determining whether the angle between the edge and at least one of its adjacent edges is less than 4 / 9π radians (80°); determining the number of rows of triangles created when moving toward the center of the block; and determining the number of iterations for the front edge, wherein the number of iterations for the front edge is zero.
[0024] Preferably, the method further includes the step of: if the interior angles of the new triangle have been measured and one of these interior angles is less than a predetermined threshold, then the triangle is collapsed.
[0025] Preferably, from the fork field CF Generate an asterisk field AFThe process includes the following steps: generating a cross field using the orientation of the block boundaries and feature edges as constraints and the direction of the principal curvature of the block surface as an internal guiding field; and calculating the cross field across the blocks. CF Select the primary and secondary axes from each pair of axes; and select the cross field. CF The main axis is designated as the asterisk field. AF The first axis direction; by crossing the field CF The secondary axis is rotated counterclockwise by 30° to determine the star field. AF The second axis direction; and by passing the fork field CF The asterisk field is determined by rotating the main axis 30° clockwise. AF The direction of the third axis.
[0026] Preferably, if the target size TS Mesh on a triangular surface M If the top is uniform, then r A = r B .
[0027] Preferably, if the value of the asterisk field is zero, then the vertex C = C 0 ,in, C 0 Therefore A Centered on r A a circle with radius c A and B Centered on r B a circle with radius c B The intersection point.
[0028] In another aspect, the present invention also provides a computer-implemented method for creating a remeshable surface, wherein the initial surface... IS Includes triangular surface mesh M and target size field TS The target size field is defined on a triangular surface mesh. M Triangular surface mesh at each point in M The method includes specifying the optimal triangle edge length at various locations on the grid, wherein the method comprises: […]. M The grid is divided into blocks, each block consisting of a continuous set of adjacent faces bounded by closed loops of boundaries or feature edges; each block is re-meshed using the method described above; and once all blocks have been meshed, the final mesh is smoothed.
[0029] In another aspect, the present invention also provides a computer program including instructions that, when executed on a computer, cause the computer to perform the steps of the method.
[0030] In another aspect, the present invention also provides a non-transitory computer program storage medium comprising code that, when executed on a computer, causes the computer to perform the steps of the method. Attached Figure Description
[0031] The invention will now be described by way of example only and with reference to the accompanying drawings, in which:
[0032] Figure 1 This is a schematic diagram of deriving the asterisk field from the cross field;
[0033] Figure 2a shows the angle. ABD and angle CAB A schematic diagram of the possible front edge positions when generating a triangle within the grid, where none of the angles are less than 4π / 9 radians (80°).
[0034] Figure 2b shows the angle. ABD and angle CAB A schematic diagram of possible leading edge positions when a triangle is generated within the grid when one of the angles is less than 4π / 9 radians (80°);
[0035] Figure 2c shows the angle. ABD and angle CAB A schematic diagram of the possible front edge positions when a triangle is generated within the grid when both are less than 4π / 9 radians (80°);
[0036] Figure 3 This is a schematic diagram of the vertex positions during the triangle generation process according to embodiment 0 of the present invention;
[0037] Figure 4 An example front edge is shown. AB and the vertex of the triangle C . Detailed Implementation
[0038] The embodiments of the present invention offer the following advantages over the prior art: They enable the generation of high-quality, uniformly sized meshes with triangles aligned with surface boundaries and curvature, thereby minimizing any deviation from the original surface. Furthermore, the generated mesh size closely matches the applied, variable target size—the desired size of the edges in the mesh. This is due to the use of a leading-edge propagation method for mesh generation driven by an asterisk field, which is aligned with the principal curvature directions and boundary orientations of the blocks formed by meshing. To achieve this alignment, the present invention employs a method of converting a cross field to an asterisk field. This is achieved through a computer-implemented method of re-meshing blocks within a triangular mesh surface, wherein the initial surface... IS Includes triangular surface mesh M and target size field TS The target size field is defined in M Triangular surface mesh at each point in M Specify the optimal triangle edge length at each location on the surface. Triangle surface mesh. M The surface is divided into blocks, where each block comprises a continuous set of adjacent faces bounded by closed loops of boundaries or feature edges and has principal surface curvatures. The method includes multiple steps, initially beginning with meshing each block using a leading-edge advancement method. The leading-edge advancement method includes calculating the asterisk field on the block. AF Then, the frontier is initialized using the boundaries or features of the blocks. F The leading edge comprises a closed chain of one or more connected edges. Once this is complete, the leading edge is selected from the edges of the initial leading edge. AB New triangles are iteratively generated based on this, and the vertices of the new triangles are determined using the circumcircle method. C The location. First, calculate the point-based location. A The radius of the first circle at the target size r A = TS ( A ), and calculate based on points B The radius of the second circle at the target size r B = TS ( B Then from the asterisk field. AF Calculate the leading edge AB growth direction gd This is accomplished through the following steps, namely, at the front edge AB midpoint X Calculate the asterisk field AF ( X );calculate AF ( X The conjugate asterisk fieldCAF ( X The conjugate asterisk field is... AF ( X The field is obtained by rotating it by 30 degrees; and then the normal vector is calculated. n The normal vector is the same as the leading edge. AB A vector that is orthogonal and aligned with the direction of the leading edge. Then, by determining the normal vector... n Conjugate Asterisk Field with Maximum Dot Product CAF ( X To obtain the growth direction from the direction of ) gd Determined to be A Centered on r A a circle with radius c A With B Centered on r B a circle with radius c B intersection C 0 Create a triangle ABC 0 circumcircle cc And determine the circumcircle cc With the front edge AB The intersection of the axes O At this point, in the direction of growth gd Orientation through point O line r This is determined, thus enabling the acquisition of the location. r Circumcircle cc Intersecting points (excluding) O The vertex of the new triangle at another intersecting point (other than the point mentioned above). C If the surface mesh M If it is not planar, then the vertices... C Projected onto the initial surface IS Up. Point C Insert grid M Middle and edge AC and BC Apply to mesh M In, making the loop AB , BC , CA Any internal triangle is a single triangle ABC Alternative. A key feature of the method is the asterisk field. AF It is composed of a cross field that is consistent with the principal curvature direction and boundary direction of the block's surface. CFThe high quality of the generated mesh is due to the incorporation of the theory of calculating each triangle during the remeshing process. The detailed embodiments of the invention described below demonstrate this improved remeshing behavior.
[0039] Generate an asterisk field
[0040] As described above, embodiments of the present invention employ an asterisk field AF generated by a cross field CF. The present invention creates an initial surface IS comprising a triangular surface mesh M and a target size TS, wherein the target size specifies the optimal triangle edge length at various locations on the triangular surface mesh M (defined at each point in M). The triangular surface mesh M is divided into blocks, wherein each block comprises a continuous set of adjacent faces bounded by closed loops of boundaries or feature edges. Each block also has a principal surface curvature. To generate the cross field CF, a complex linear system is assembled, wherein the boundaries or feature edges of the blocks and the principal surface curvatures are used to define the alignment energy within the block domain. Then, using smoothed n-direction field theory, where n=4, the cross field CF is computed for the nodes of the blocks, as described in the article:
[0041] "Globally Optimal Direction Fields", F. Knöppel et al, http: / / www.cs.cmu.edu / ~kmcrane / Proiects / GloballyOptimalDirectionFields / paper.pdf
[0042] As described in [the document], and transferred to the centroid of the block. While the cross field CF can be used to drive the leading edge advance of quadrilateral meshes, it is not suitable for triangular meshes because it can only drive the leading edge advance in four directions. Instead, triangular meshes require the use of the asterisk field AF, as it can drive the leading edge advance in six directions. In a perfect equilateral triangular mesh, each internal node is connected to six edges and six faces, thus requiring an asterisk field AF with six directions to drive the leading edge advance. Although the theory of "Globally Optimal Direction Fields" can also be applied to create the asterisk field AF, this does not produce the desired results. This is because the asterisk field AF cannot be aligned with the principal curvature directions of the surface, since the principal curvature directions of the surface only have two axes (four directions) instead of three axes (six directions). Furthermore, the asterisk field AF most commonly used in CAE is not well aligned with blocks having rectangular boundaries (and typically, boundaries with 90° angles). It is for these reasons that the present invention employs a method of first calculating the cross field CF and then converting it to the asterisk field AF.
[0043] Figure 1 From the cross field CF Export Asterisk Field AF The diagram illustrates this. First, for the selected block, the block's boundary and feature edge orientation are used as constraints to generate the cross field. CF Furthermore, the direction of the curvature of the block's main surface is used as the internal guiding field. This generates a pair of orthogonal cross fields. CF The axis, such as Figure 1 As shown. To create the asterisk field. AF The fork field calculated on this block CF One of the two axes is chosen as the principal axis. P And another axis serves as a secondary axis. S Main axis P Designated as an asterisk field AF First axis direction AF 1 By using the fork field CF secondary axis S Rotate 30° counterclockwise to determine the asterisk field AF Second axis direction AF 2 Then through the fork field CF secondary axis S Rotate 30° to determine the final asterisk field AF The direction of the third axis AF 3 For curved surfaces, it is preferable to choose the minimum absolute curvature as the principal direction 4; however, in some cases, alternatively, it may be desirable to choose the maximum absolute curvature as the fork field. CF Main axis P For a planar surface without curvature information, the cross field... CF Main axis P The boundary orientation is applied, and this information is propagated into the interior of the region using a floodfill algorithm. Once the asterisk field is created... AF This allows us to replace the triangular mesh surface by generating new triangles. M Those triangles in the diagram are used to begin with the initial surface. IS Re-grid.
[0044] Generate triangles
[0045] During the generation of the triangular mesh, each time the leading edge is processed, the mesh is modified by constructing a new triangle with that leading edge as one of its sides. This is further illustrated in Figures 2a to 2c. Figures 2a to 2c show the triangular surface mesh. M A schematic diagram showing the possible positions of the front edge when generating an inner triangle. The front edge is marked as...AB The first edge in the loop is marked as CA The next edge in the loop is marked as BD This illustrates the cutting edge. F Includes one or more closed chains of edges connected by block boundaries or features. Depends on the leading edge. AB Its two adjacent edges BD and CA There are three possible angles between them:
[0046] i) Situation 0: Angle ABD and angle CAB All are not less than 4π / 9 radians (80°) (as shown in Figure 2a);
[0047] ii) Situation 1: Angle ABD Less than 4π / 9 radians (80°), angle CAB Greater than 4π / 9 radians (80°) (as shown in Figure 2b), or angle ABD Angle greater than 4π / 9 radians (80°) CAB Less than 4π / 9 radians (80°);
[0048] iii) Situation 2: Angle ABD and angle CAB All are less than 4π / 9 radians (80°) (as shown in Figure 2c).
[0049] Adjacent edge and front edge AB The angle formed θ Determine the vertex positions of the new triangle to be generated by the forward thrust. C This is crucial in terms of computational complexity. An overview of these situations is as follows.
[0050] Condition 0
[0051] Figure 3 This is a schematic diagram of vertex positions during the triangle generation process according to an embodiment of the present invention. Current edge AB The adjacent front edges are not related to the front edge. AB An angle less than 4 / 9π radians (80°) θ At that time, the vertices of the new triangle C The location is determined by the following steps:
[0052] 1) Point-based A Calculate the radius of the first circle based on the target dimension at that location. r A = TS ( A ), based on points B Calculate the radius of the second circle based on the target dimension at that location. rB = TS ( B );
[0053] 2) Follow these steps to obtain the asterisk field AF Calculate the leading edge AB growth direction gd That is, at the front edge AB midpoint X Calculate the asterisk field AF ( X );calculate AF ( X The conjugate asterisk field CAF ( X The conjugate asterisk field is... AF ( X The field obtained by rotating 30 degrees; calculate the normal vector. n The normal vector is the same as the leading edge. AB A vector that is orthogonal and aligned with the forward propulsion direction; determined by the normal vector. n Conjugate Asterisk Field with Maximum Dot Product CAF ( X To obtain the growth direction from the direction of ) gd ;
[0054] 3) Determine the basis A Centered on r A a circle with radius c A With B Centered on r B a circle with radius c B intersection C 0 The intersection point is located at the edge. AB Regarding growth direction gd The positive half-plane;
[0055] 4) Generate triangles ABC 0 circumcircle cc ;
[0056] 5) Determine the circumcircle cc With the front edge AB The intersection of the axes O ;
[0057] 6) By growth direction gd Orientation structure passing through point O line r ;
[0058] 7) Obtain the location locatedr Circumcircle cc Intersecting points (excluding) O The vertex of the new triangle at another intersecting point (other than the point mentioned above). C ;
[0059] 8) If the surface mesh M If it is not planar, then the vertices... C Projected onto the initial surface IS Above; and
[0060] 9) Insertion point C and the edge AC and BC Apply to the mesh and use a single triangle ABC Alternate circuit AB , BC , CA Any internal triangle within it.
[0061] Condition 1
[0062] In case 1, the front edge AB Only one of the adjacent front edges is related to the front edge. AB An angle less than 4 / 9π radians (80°) θ This edge is specified as the edge that will be used to calculate the vertices of the new triangle. s Since there are already two suitable edges (front edges) for forming a new triangle. AB and edges s Therefore, the vertices of this new triangle C From the edge s The end node is given, which is neither A No B Once selected, it is attached by calculation. C Optimize vertex positions by averaging the positions of all vertices of the triangle. C The vertex position C is generated in step d) above.
[0063] Condition 2
[0064] Current edge AB Both adjacent front edges are with the front edge AB When forming an angle less than 4 / 9π radians (80°), with the leading edge AB The front edge forming the smallest angle is selected as the edge. s And generate and optimize vertices as in situation 1. C The location.
[0065] In the example above, the threshold used to determine the leading edge was chosen to be 4 / 9π radians, or 80°. However, other angles may be appropriate or desirable, and preferably fall within the range of less than π / 2 radians or 90°. The rationale for this is as follows. The simplest example to consider is... Figure 4 The example shown. Figure 4 The front edge is shown AB and the vertex of the triangle C An example. In Figure 4 middle, α Represents angle ABC , α The value determines the side BC Is it the most suitable side for the new triangle, or should the side be discarded? BC If the side BC If suitable, then A will with C Connect to form a triangle ABC However, if the side BC If it is not suitable, then it will be α A new edge is created at an angle of 2 / 2, thus generating a triangle in the first iteration, and a similar triangle is created in the next iteration. α A triangle with an angle of 2 / 2.
[0066] An ideal triangle, such as an equilateral triangle, has interior angles of π / 3 radians or 60°. Therefore, in order to... Figure 4 Choosing between one possibility and another, the resulting triangle's nodes should be... B Minimize the difference between the interior angle at point and π / 3 (60°). Figure 4 In this case, the difference between the two values is given by the following formula:
[0067] d ( α ) = | α – π / 3| (1)
[0068] In another case, the difference is given by the following formula:
[0069] d' ( α ) = | α / 2 – π / 3| (2)
[0070] To select the simplest case to generate the triangle ABC ( Figure 4 ),make
[0071] d ( α )< d' ( α (3)
[0072] In order to solve these questions about α Substituting (1) and (2) into (3) of the equation, we get:
[0073] | α – π / 3|<| α / 2 – π / 3| (4)
[0074] For π / 3 < α <2π / 3,
[0075] α – π / 3 < π / 3 – α / 2 (5)
[0076] get:
[0077] α <4π / 9 = 80°
[0078] Although the angle was considered above θ The impact on generating triangles must be considered, but the target size of the block must also be taken into account. TS The effect on the generated triangle. Target size. TS Mesh on a triangular surface M The surface can be uniform, making it r A and r B The values are equal and the circle c A Harmony c B intersection C 0 Form an equilateral triangle ABC 0 If the target size TS If it is variable, then the method described above is as follows: r A and r B The individual values continue. Similarly, if no asterisk field is applied... AF Thus the asterisk field AF If the value is zero, then the vertex C = C 0 ,in, C 0 It is the intersection of the following two circles: circle c A by A Centered on r A For the radius, and the circle c B byB Centered on r B Let be the radius.
[0079] In use, it may be desirable to perform further operations as part of the method of this invention. For example, before starting any calculations, it may be desirable to check the leading edge. AB Perform a preliminary edge check. This includes determining the leading edge. AB length L AB and the front edge AB Regarding the target size field TS Optimal length L TS Compare the lengths. L AB If it's too short, the front edge will... AB Collapse, and if the front edge AB length L AB If it's too long, then the front edge AB It is split. Consider the already generated triangular surface mesh. M The interior angles of the new triangle may also be necessary or desired. If the interior angles of the new triangle have been measured and one of these interior angles is less than a predetermined threshold, the triangle collapses. This prevents the generation of triangles at the expense of the quality of the resulting remeshable surface. These two steps can be combined with or alternated with the step of determining the priority of the leading edge being advanced by the leading edge. For example, the leading edge... F All edges are placed in a priority sequence to determine the order in which new triangles are generated. The edge order in the priority sequence is given by looking at several criteria. First, condition: determines whether the angle between an edge and at least one of its adjacent edges is less than 4 / 9π radians (80°). Higher conditions have higher priorities, so condition 2 has a higher priority than condition 1, and condition 1 has a higher priority than condition 0. Second, level: calculates the number of rows of triangles created as the block moves toward its center. Third, leading edge age: an integer value specifying the number of iterations required to create the leading edge, where the initial edge age is zero. Of course, other methods for determining edge priorities can be used instead of these if needed.
[0080] The methods outlined above have specific applications in computer-implemented methods for creating mesh surfaces. This is the initial surface. IS Includes triangular surface mesh M and target size field TS In the case of target size field TS Specify in M A triangular surface mesh is defined at each point in the mesh. MThe optimal triangle edge length at each location on the grid. First, the method includes meshing... M The method is divided into blocks, each block comprising a continuous set of adjacent faces bounded by closed loops of boundaries or feature edges before iterative remeshing of the block using the method described in the above embodiments. Then, once all blocks have been remeshed, the step of smoothing the final mesh using known techniques can be applied. To achieve this, a computer program including instructions or a non-transitory computer program storage medium including code can be provided, wherein when the program is executed on a computer, the instructions cause the computer to perform the steps of the method, and when the code is executed on a computer, the code causes the computer to perform the steps of the method.
Claims
1. A computer-implemented method for re-meshing blocks on a triangular mesh surface, wherein, The initial surface of the simulated original surface IS Includes triangular surface mesh M and target size field TS The target size field TS In the mesh defined on the triangular surface M The triangular surface mesh at each point in M The optimal triangle edge length is specified at each location on the surface of the triangle mesh. M The method, which divides the surface into blocks, wherein each block comprises a continuous set of adjacent faces bounded by closed loops of boundaries or feature edges and has principal surface curvatures, includes the following steps: a) Divide each block into grids using a front-end propulsion method, wherein the front-end propulsion method includes: b) Calculate the asterisk field on the block. AF ; c) Initialize the frontier using the boundaries or features of the block. F The front edge F A closed chain including one or more connected edges; d) Generate a new triangle by selecting the leading edge from the edges of the leading edge using the following steps. AB The vertices of the new triangle are determined through the following steps. C Location: i) Point-based A Calculate the radius of the first circle based on the target dimension at that location. r A = TS ( A ), based on points B Calculate the radius of the second circle based on the target dimension at that location. r B = TS ( B ); ii) Obtain the asterisk field from the block through the following steps AF Calculate the leading edge AB growth direction gd : at the front edge AB midpoint X Calculate the midpoint X The asterisk field AF ( X ); calculate the midpoint X The asterisk field AF ( X The conjugate asterisk field CAF ( X The conjugate asterisk field CAF ( X The midpoint is... X The asterisk field AF ( X The field obtained by rotating 30 degrees; calculate the normal vector. n The normal vector is the same as the leading edge. AB A vector that is orthogonal and aligned with the direction of the propulsion front; determined by the normal vector. n Conjugate Asterisk Field with Maximum Dot Product CAF ( X The growth direction is obtained by referring to the direction of the growth direction. gd ; iii) Determine with A Centered on r A a circle with radius c A With B Centered on r B a circle with radius c B intersection C 0 The intersection point is located at the edge. AB Regarding the growth direction gd The positive half-plane; iv) Generate triangles ABC 0 circumcircle cc ; v) Determine the circumcircle cc With the front edge AB The intersection of the axes O ; vi) in the growth direction gd The orientation structure passes through the point O line r ; vii) Obtain the vertices of the new triangle C The location is on the line. r With the circumcircle cc The point where they intersect, excluding point O; e) If the surface mesh M If it is not planar, then the vertex will be... C Projected onto the initial surface IS Above; and f) Insertion point C and the edge AC and edges BC Apply to the mesh and use a single triangle ABC Alternate circuit AB , BC , CA Any internal triangle; Among them, the asterisk field on the block AF It is a cross field aligned with the principal curvature direction and boundary direction of the block's surface. CF Produced.
2. The method according to claim 1, wherein, The front edge AB The two adjacent front edges and the front edge AB Angle between θ None are less than 4 / 9π radians.
3. The method according to claim 1, wherein, If it is related to the front edge AB One of the two adjacent front edges, i.e., the edge s , and the front edge AB If the angle is less than 4 / 9π radians, then the vertex of the new triangle... C It is the edge s The node at the end of the node, which is neither A No B The method further includes: By attaching to the vertex in step d), C All vertex positions of the triangle C Optimize vertices by taking the average value C The final position.
4. The method according to claim 3, wherein, If the front edge AB Both adjacent front edges are with the front edge AB An angle less than 4 / 9π radians, relative to the leading edge AB The leading edge with the smallest angle is selected as the edge. s The method further includes: By attaching to the vertex in step d), C All vertex positions of the triangle C Optimize vertices by taking the average value C The final position.
5. The method according to any one of the preceding claims, further comprising the following steps: For the front edge AB Perform a pre-edge check, the pre-edge check including determining the leading edge. AB length L AB and the length L AB With the front edge AB Regarding the target size field TS Optimal length L TS Compare, and if the length L AB If it is too short, then the leading edge AB Collapsed, or if the front edge AB length L AB If it is too long, then the front edge AB It was split apart.
6. The method according to any one of claims 1-4, further comprising the following steps: All edges are placed in a priority sequence to determine the generation order of new triangles, and The edges in the priority sequence are ordered in the following manner: Determine whether the angle between the edge and at least one adjacent edge is less than 4 / 9π radians; Determine the number of rows of the triangle created as you move toward the center of the block; Determining the age of the leading edge includes determining the number of iterations that indicate when the leading edge was created, wherein the age of the initial edge is zero.
7. The method according to any one of claims 1-4, further comprising the following steps: If the interior angles of the new triangle have been measured and one of the interior angles is below a predetermined threshold, then the triangle is collapsed.
8. The method according to any one of claims 1-4, wherein, From the fork field CF Generate an asterisk field on the block. AF Includes the following steps: The cross field is generated using the orientation of the block's boundary and feature edges as constraints and the direction of the block's principal surface curvature as an internal guiding field. The fork field calculated across the said blocks CF Select the primary axis and secondary axis in each pair of axes; and Designated fork field CF The main axis serves as the asterisk field on the block. AF The direction of the first axis; By the cross field CF The secondary axis is rotated counterclockwise by 30° to determine the asterisk field on the block. AF The direction of the second axis; and By the cross field CF The secondary axis is rotated 30° clockwise to determine the asterisk field on the block. AF The direction of the third axis.
9. The method according to any one of claims 1-4, wherein, If the target size TS The triangular surface mesh M If the top is uniform, then r A = r B .
10. The method according to any one of claims 1-4, wherein, If the asterisk field on the block AF If the value is zero, then the vertex C = C 0 ,in, C 0 Therefore A Centered on r A a circle with radius c A and B Centered on r B a circle with radius c B The intersection point.
11. A computer-implemented method for creating a remeshable surface, wherein, The initial surface of the simulated original surface IS Includes triangular surface mesh M and target size field TS The target size field is on the triangular surface mesh. M The triangular surface mesh defined at each point in the [text missing] M The method specifies the optimal triangle edge length at each location on the triangle, and includes: grid M Divided into blocks, wherein each block comprises a continuous set of adjacent faces bounded by closed loops of boundaries or feature edges; Each block in the block is re-meshed using the method according to any one of claims 1 to 10; and Once all blocks have been gridded, the final grid is smoothed.
12. A computer program product comprising a computer program having instructions which, when executed on a computer, cause the computer to perform the steps of the method according to any one of claims 1 to 11.
13. A non-transitory computer program storage medium comprising code, which, when executed on a computer, causes the computer to perform the steps of the method according to any one of claims 1 to 11.