CN118097067B - Triangular mesh model curved surface expansion method based on filtering processing - Google Patents
Triangular mesh model curved surface expansion method based on filtering processing Download PDFInfo
- Publication number
- CN118097067B CN118097067B CN202410510975.2A CN202410510975A CN118097067B CN 118097067 B CN118097067 B CN 118097067B CN 202410510975 A CN202410510975 A CN 202410510975A CN 118097067 B CN118097067 B CN 118097067B
- Authority
- CN
- China
- Prior art keywords
- original
- boundary vertex
- cur
- vertex
- new
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001914 filtration Methods 0.000 title claims abstract description 58
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000012545 processing Methods 0.000 title claims abstract description 36
- 239000013598 vector Substances 0.000 claims description 24
- 238000004422 calculation algorithm Methods 0.000 claims description 23
- 230000007547 defect Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 3
- 238000011960 computer-aided design Methods 0.000 abstract description 2
- 238000004590 computer program Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000003860 storage Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000008439 repair process Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Processing Or Creating Images (AREA)
Abstract
The invention relates to a triangular mesh model curved surface expansion method based on filtering processing, which belongs to the technical field of computer aided design and comprises the following steps: s1, acquiring an original boundary of an original curved surface triangular mesh model; s2, calculating the expansion direction of the original boundary vertex; s3, judging whether the original boundary vertex is a ridge point, if so, recalculating the expansion direction of the original boundary vertex; s4, expanding the original boundary vertex along the expansion direction of the original boundary vertex to obtain a new boundary vertex; s5, traversing all new boundary vertexes point by point, judging whether the new boundary vertexes are ridge points or sharp salient points, if not, carrying out filtering treatment on the new boundary vertexes, and generating an extended area triangular patch after traversing; s6, detecting whether intersection exists in the triangular patches of the expansion area; if yes, repairing is carried out, and an expanded triangular mesh curved surface model is obtained. The invention has wider application range and better stability, and the expanded new boundary is more uniform and smooth.
Description
Technical Field
The invention belongs to the technical field of computer aided design, and particularly relates to a triangular mesh model curved surface expansion method based on filtering processing.
Background
The curved surface expansion algorithm is a common model processing algorithm, and expands the curved surface boundary under the condition of meeting boundary curved surface characteristics so as to expand the curved surface boundary and meet the curved surface requirements. In the field of additive manufacturing, the algorithm can be used for expanding a layered curved surface, so that model layering treatment is facilitated; in the part repairing process, the algorithm can be used for expanding a cutting curved surface, expanding a cutting range, and facilitating Boolean operation to obtain a repairing area; in addition, in the curved surface construction, a curved surface expansion algorithm can be used for expanding the constructed curved surface, so that the curved surface creation efficiency is improved, and common CAD/CAM software such as UG, SOLIDWORKS provides a curved surface expansion function.
Common surface expansion algorithms mainly include parameter curve or surface-based expansion algorithms and mesh model-based expansion algorithms. The parameter curve or curved surface-based expansion algorithm mainly utilizes various parameter control curves or curved surfaces, such as B-spline curved surfaces, bezier curved surfaces and the like, and edits the parameterized curved surfaces by inserting control vertexes, moving the control vertexes, changing control vertex normal vectors or boundary tangent vectors and the like so as to achieve the effect of curved surface expansion. The algorithm has the advantages that: the operation is simple and convenient, the controllability is strong, the control interaction is convenient, and the expanded curved surface is smoother and smoother. The disadvantage of this algorithm is that: after the parameter control surface is expanded, the original surface area is possibly changed due to the change of the control point related information, so that the stability of the original surface area is difficult to ensure; meanwhile, the parameterized curve surface is difficult to fit to a complex surface, and certain limitation exists. The grid model-based expansion algorithm is to discretize the model into a grid model, then extract the grid model boundary and directly expand the grid model boundary according to the boundary related information. The algorithm has the advantages that: the application range is wide, the complex curved surface with discontinuous curvature can be expanded, and the expansion speed is higher; meanwhile, as the curved surface is only expanded aiming at the boundary, the inner area of the curved surface is not changed, and the curved surface stability is better. The disadvantage of this algorithm is that: the expansion of the mesh model is prone to intersection areas compared to parametric curve surfaces.
Disclosure of Invention
The invention aims to provide a triangular mesh model curved surface expansion method based on filtering processing, which optimizes and improves the problem that the existing mesh model-based expansion is easy to intersect, greatly reduces the probability of intersection of the mesh model surface pieces on the basis of guaranteeing the inherent advantages of the existing mesh model-based expansion algorithm, and simultaneously ensures that the expanded boundary is more uniform and smooth.
In order to achieve the above purpose, the invention adopts the following technical scheme: a triangular mesh model curved surface expansion method based on filtering processing comprises the following steps:
S1, establishing half data structure topology information for an original curved surface triangular mesh model to obtain an original boundary of the original curved surface triangular mesh model;
s2, calculating the expansion direction of the original boundary vertex;
S3, judging whether the original boundary vertex is a ridge point or not; if yes, recalculating the expansion direction of the original boundary vertex; if not, directly entering step S4;
s4, according to a given expansion distance, expanding the original boundary vertex along the expansion direction of the original boundary vertex to generate a new boundary vertex and an expansion area triangular patch;
S5, judging whether the new boundary vertex is a ridge point or a sharp salient point; if yes, directly entering step S6; if not, filtering the new boundary vertex to generate a filtered extended area triangular patch;
s6, detecting whether intersection exists in the triangular patches of the expansion area; if yes, repairing the intersected surface patches to obtain a final extended triangular mesh curved surface model; if not, directly obtaining the final extended triangular mesh curved surface model.
Further, in step S1, the original boundary of the original curved triangle network model is a directional boundary obtained by sequentially arranging all the half sides without the half sides of the partner.
Further, in step S2, according to the arrangement order of the directional boundaries, the expansion direction of the vertices of the original boundary is calculated point by point, and the calculation formula is as follows:
Dcur=norm((norm(vnxt-vcur)-norm(vpre-vcur))×ncur);
wherein D cur is the expansion direction of the original boundary vertex, norm function represents the unitization of the vector, v cur is the original boundary vertex, v pre is the original boundary vertex before the original boundary vertex v cur, v nxt is the original boundary vertex after the original boundary vertex v cur, and n cur is the normal vector of the original boundary vertex v cur.
Further, in step S3, the method for determining whether the original boundary vertex is a ridge point is as follows:
If the minimum value of cosine of the included angle between the normal vectors of two adjacent patches of the first-order domain edge of the original boundary vertex is smaller than a first given threshold, namely fn e1·fne2 < alpha, wherein fn e1、fne2 is the normal vector of two adjacent patches of the first-order domain edge of the original boundary vertex, alpha is the first given threshold, the original boundary vertex is a ridge point, and the first-order domain edge of the original boundary vertex is a ridge edge.
Further, in step S3, the method for recalculating the expansion direction of the original boundary vertex is as follows:
And taking the direction of the ridge edge pointing to the adjacent half edge of the ridge point as the expansion direction of the original boundary vertex.
Further, in step S5, the method for determining whether the new boundary vertex is a ridge point is as follows:
If the minimum value of cosine of the included angle between two adjacent patches of the first-order domain edge of the new boundary vertex is smaller than a first given threshold, namely fn e1'·fne2 '< α, wherein fn e1'、fne2' is the normal vector of two adjacent patches of the first-order domain edge of the new boundary vertex, and α is the first given threshold, the new boundary vertex is a ridge point.
Further, in step S5, the method for determining whether the new boundary vertex is a sharp bump is as follows:
If the connecting line included angle between the new boundary vertex and the previous new boundary vertex and between the new boundary vertex and the next new boundary vertex is smaller than 180 degrees minus a second given threshold value, the new boundary vertex is a sharp salient point;
I.e., arccos (norm (v pre'-vcur')·norm(vnxt'-vcur')) < (180 deg. -beta),
And ((v pre'-vcur')×(vnxt'-vcur'))·ncur' <0;
Wherein arccos function represents the connection angle between the new boundary vertex and the previous new boundary vertex, and the new boundary vertex, norm function represents the unit processing of vector, v cur ' is the new boundary vertex, v pre ' is the new boundary vertex before the new boundary vertex v cur ', v nxt ' is the new boundary vertex after the new boundary vertex v cur ', n cur ' is the normal vector of the new boundary vertex v cur ', and beta is the second given threshold.
Further, in step S5, the filtering process uses mean filtering, i.e. v cur'=(vpre'+vnxt ') x 0.5, where v cur' is a new boundary vertex, v pre 'is a new boundary vertex before v cur', and v nxt 'is a new boundary vertex after v cur'.
Further, in step S6, the method for detecting whether the extended area triangular patches have intersection is:
and detecting whether the triangular patches of the expansion area are intersected or not by adopting a patch intersection detection algorithm of libigl three-party libraries.
Further, in step S6, the method for repairing the intersecting patches includes:
Deleting the intersected patches and the patches in the n-order field nearby the intersected patches according to the set filtering range threshold value n of the intersected patches to form a defect area;
And (5) performing grid model hole filling treatment on the defect area.
Further, the mesh model hole filling processing adopts a polygon triangulation algorithm of a triangularization library.
The invention also provides an electronic device, which comprises a memory, a processor and a computer program stored in the memory and capable of running on the processor, wherein the processor realizes the triangular mesh model curved surface expansion method based on the filtering processing when executing the program.
The present invention also provides a computer program product, including a computer program, the computer program can be stored on a computer readable storage medium, and when the computer program is executed by a processor, the computer can execute the triangular mesh model curved surface expansion method based on the filtering process.
The invention also provides a computer readable storage medium, on which a computer program is stored, which when being executed by a processor, implements the above-mentioned triangular mesh model surface expansion method based on filtering processing.
Compared with the prior art, the invention has the following beneficial effects:
Compared with the existing expansion algorithm based on the parameter curve curved surface, the method for expanding the triangular mesh model curved surface based on the filtering processing has the following advantages: (1) The method has wider application range, is difficult to fit the area with discontinuous curvature to the parameter curve surface, and is more applicable to complex curved surfaces. (2) The method only expands the original boundary, and based on the model of the original surface, the triangular mesh of the expanded area is constructed by expanding the new boundary vertex, so as to generate an expanded curved surface model.
Compared with the existing grid model-based extension algorithm based on the same principle, the method not only maintains the inherent advantages of the algorithm, but also has the following advantages: (1) The filtering processing is carried out on the new boundary vertexes, so that the probability of occurrence of intersection and/or overlapping situations of the face sheets of the grid model is greatly reduced, meanwhile, the intersection face sheet repairing processing is assisted, and the probability of occurrence of intersection situations of the face sheets is further reduced. (2) And filtering processing is carried out on the new boundary vertexes, so that the expanded new boundary is more uniform and smooth.
Drawings
In order to more clearly illustrate the invention or the technical solutions of the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, and it is obvious to those skilled in the art that other drawings can be obtained according to these drawings without inventive effort.
FIG. 1 is a flow chart of a triangular mesh model surface expansion method based on filtering processing.
FIG. 2 is a schematic diagram of an original surface triangular mesh model.
Fig. 3 is a schematic view of a ridge point.
Fig. 4 is a schematic view of a sharp bump.
Fig. 5 is a schematic diagram of a partially expanded new boundary after one-time iterative filtering and two-time iterative filtering.
Fig. 6 is a schematic diagram of an intersecting patch repair.
FIG. 7 is a diagram of an original multi-boundary surface model.
FIG. 8 is a model diagram of the extended multi-boundary surface obtained by the method of the present invention in FIG. 7.
FIG. 9 is a diagram of an original complex surface model.
FIG. 10 is a diagram of an expanded complex surface model of FIG. 9 after processing by the method of the present invention.
FIG. 11 is a diagram of an original folded surface model.
FIG. 12 is an expanded folded surface model of FIG. 11 after processing by the method of the present invention.
Fig. 13 is a diagram of an original smooth surface model.
FIG. 14 is a model of the extended smooth surface of FIG. 13 after processing by the method of the present invention.
FIG. 15 is a diagram of an original parametric surface model.
FIG. 16 is a graph of the model of the extended parametric surface of FIG. 15 after processing by the method of the present invention.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the present invention more apparent, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings, and it is apparent that the described embodiments are some embodiments of the present invention, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention. In order to make the above features and advantages of the present invention more comprehensible, embodiments accompanied with figures are described in detail below.
Embodiment one: as shown in fig. 1, a triangular mesh model surface expansion method based on filtering processing includes the following steps:
S1, establishing half data structure topology information for an original curved surface triangular mesh model to obtain an original boundary of the original curved surface triangular mesh model;
s2, calculating the expansion direction of the original boundary vertex;
S3, judging whether the original boundary vertex is a ridge point or not; if yes, recalculating the expansion direction of the original boundary vertex; if not, directly entering step S4;
s4, according to a given expansion distance, expanding the original boundary vertex along the expansion direction of the original boundary vertex to generate a new boundary vertex and an expansion area triangular patch;
S5, judging whether the new boundary vertex is a ridge point or a sharp salient point; if yes, directly entering step S6; if not, filtering the new boundary vertex to generate a filtered extended area triangular patch;
s6, detecting whether intersection exists in the triangular patches of the expansion area; if yes, repairing the intersected surface patches to obtain a final extended triangular mesh curved surface model; if not, directly obtaining the final extended triangular mesh curved surface model.
In this embodiment, in step S1, the original curved surface triangular network model may be a stl triangular mesh model based on the additive manufacturing field, where the original boundary of the original curved surface triangular network model is a directional boundary obtained by sequentially arranging all halves without a partner half. As shown in fig. 2, the green directed line segment is the half with the half of the buddy, and the red directed line segment is the half without the half of the buddy.
In this embodiment, in step S2, as shown in fig. 2, according to the arrangement order of the directional boundaries, the expansion direction of the original boundary vertex is calculated point by point, and the calculation formula is as follows:
Dcur=norm((norm(vnxt-vcur)-norm(vpre-vcur))×ncur);
wherein D cur is the expansion direction of the original boundary vertex, norm function represents the unitization of the vector, v cur is the original boundary vertex, v pre is the original boundary vertex before the original boundary vertex v cur, v nxt is the original boundary vertex after the original boundary vertex v cur, and n cur is the normal vector of the original boundary vertex v cur.
In this embodiment, in step S3, as shown in fig. 3, a method for determining whether the original boundary vertex is a ridge point is as follows:
If the minimum value of cosine of the included angle between the normal vectors of two adjacent patches of the first-order domain edge of the original boundary vertex is smaller than a first given threshold, namely fn e1·fne2 < alpha, wherein fn e1、fne2 is the normal vector of two adjacent patches of the first-order domain edge of the original boundary vertex, alpha is the first given threshold, the original boundary vertex is a ridge point rv, and the first-order domain edge of the original boundary vertex is a ridge edge re.
In this embodiment, in step S3, the method for recalculating the expansion direction of the original boundary vertex is as follows:
the direction D rv in which the ridge edge re points to the adjacent half of the ridge point rv is taken as the extension direction of the original boundary vertex.
In this embodiment, in step S4, according to a given expansion distance, all original boundary vertices are expanded along the expansion direction thereof, and a specific formula for generating an expanded new boundary vertex is:
vinew=viold+Di×offset;
Vi new is a new boundary vertex, vi old is an original boundary vertex, D i is an expansion direction of the original boundary vertex vi old, and offset is an expansion distance, which is used for determining the expansion width of the curved surface and is set according to actual needs.
In this embodiment, in step S5, the method for determining whether the new boundary vertex is a ridge point is as follows:
if the minimum value of cosine of the included angle between the normal vectors of two adjacent patches of the first-order domain edge of the new boundary vertex is smaller than a first given threshold, namely fn e1'·fne2 '< alpha, wherein fn e1'、fne2' is the normal vector of two adjacent patches of the first-order domain edge of the new boundary vertex, alpha is the first given threshold, -1 is less than or equal to alpha and less than or equal to 1, and the new boundary vertex is a ridge point. For the case where a new boundary has a ridge point, the ridge point needs to be screened out.
The parameter size of the first given threshold is set according to the retention degree of the original boundary features. The parameter is used for filtering sharp edges near the boundary of the curved surface, so that the sharp edges are prevented from becoming flat and round after being filtered, boundary characteristics are lost, the larger the parameter is, the more sharp edges are detected, the larger the filtering range is, the more the filtering boundary vertexes are, the worse the filtering effect is, otherwise, the filtering range is reduced, and the sharp edge area which is not filtered is flattened and round after being filtered.
In this embodiment, in step S5, the method for determining whether the new boundary vertex is a sharp bump is as follows:
If the connecting line included angle between the new boundary vertex and the previous new boundary vertex and between the new boundary vertex and the next new boundary vertex is smaller than 180 degrees minus a second given threshold value, the new boundary vertex is a sharp salient point;
I.e., arccos (norm (v pre'-vcur')·norm(vnxt'-vcur')) < (180 deg. -beta),
And ((v pre'-vcur')×(vnxt'-vcur'))·ncur' <0;
Wherein arccos function represents the connection angle between the new boundary vertex and the previous new boundary vertex, and the new boundary vertex, norm function represents the unit processing of vector, v cur ' is the new boundary vertex, v pre ' is the new boundary vertex before the new boundary vertex v cur ', v nxt ' is the new boundary vertex after the new boundary vertex v cur ', n cur ' is the normal vector of the new boundary vertex v cur ', beta is the second given threshold, and 0 is less than or equal to beta is less than or equal to 180 degrees. For the case where a sharp bump exists in a new boundary, the sharp bump needs to be screened out, and as shown in fig. 4, the vertex v cur' of the new boundary is the sharp bump.
The parameter size of the second given threshold value beta needs to be set according to the retention degree of the original boundary features. The parameter is used for controlling the sharp angle error of the salient point boundary, so that the salient point sharp angle becomes flat and round after filtering processing is prevented, boundary characteristics are lost, the larger the parameter is, the more the boundary salient point is detected, the larger the filtering range is, the more the filtering boundary points are, the worse the filtering processing effect is, otherwise, the filtering range is reduced, and the salient point area which is not filtered can be flattened and round after filtering processing.
In this embodiment, in step S5, filtering the ridge points and the sharp bumps causes the special points to shrink, so that the original boundary features are destroyed, and thus, filtering is required to be performed only on the new boundary vertices that are not ridge points and are not sharp bumps, where v cur 'is a new boundary vertex, v pre' is a new boundary vertex before v cur ', and v nxt' is a new boundary vertex after v cur ', and the filtering is preferably but not limited to using mean filtering, i.e. v cur'=(vpre'+vnxt') x 0.5. The iteration times are required to be set according to the smoothness degree of the expansion boundary, namely the larger the parameter value of the iteration times is, the more the filtering times are, the smoother the expansion boundary is, as shown in fig. 5, the line segment with red color point is a new boundary after partial expansion, the line segment with green color point is a new boundary after partial expansion after primary filtering treatment, the line segment with blue color point is a new boundary after partial expansion after secondary filtering treatment, and the new boundary after expansion is smoother after primary filtering treatment and secondary filtering treatment.
In this embodiment, after the filtering processing, the extended new boundary vertices are more uniform and smooth, and meanwhile, the probability of occurrence of intersecting and overlapping patches is greatly reduced. However, due to parameter set-up problems, there may still be intersecting patches. As shown in fig. 6, the blue line of the left graph is the original boundary, the red line is the new boundary after expansion, and the orange circle area still has the intersection condition. Therefore, to further reduce the probability of occurrence of intersecting patches, in step S6, the method for detecting whether there is intersection of the triangular patches of the extended area is:
and detecting whether the triangular patches of the expansion area are intersected or not by adopting a patch intersection detection algorithm of libigl three-party libraries.
In this embodiment, in step S6, the method for repairing the intersecting patches includes:
Deleting the intersecting patches and the patches in the n (3) order field nearby according to the set filtering range threshold n (3) of the intersecting patches to form a defect area;
And (5) performing grid model hole filling treatment on the defect area.
The size of the parameter for setting the filtering range threshold n is greater than or equal to 0, and the parameter for setting the filtering range threshold n needs to be set according to the smoothness degree of the boundary and the repair degree of the intersected patch, wherein the larger the parameter is, the larger the area of the intersected patch repair is, which may cause the boundary to be unsmooth, and the smaller the parameter is, the incomplete the intersected patch repair may cause the intersected patch to still exist.
As shown in fig. 6, the vertices of the orange circle region of the left figure and the adjacent 1 st-order patches thereof are deleted, the deleted starting points v st 'and v ed' after expansion are connected to form a defect region S, and the defect region S is subjected to mesh model hole filling processing.
As shown in fig. 7 to 16, the application range of the method is very wide, and the method can be used for processing various original triangular mesh surface models such as a multi-boundary surface model, a complex surface model, a folding surface model, a smooth surface model, a parameter surface model and the like to obtain complete and smooth extended triangular mesh surface models, and the extended triangular mesh surface models can still retain the characteristics of the original triangular mesh surface models, so that the stability is very good.
Embodiment two: an electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the method for expanding a triangular mesh model surface based on filtering processing according to the above embodiment when executing the program. The processor and the memory complete communication with each other through the communication bus, and the processor may call logic instructions in the memory to execute the non-closed curved surface biasing method provided in each of the embodiments.
The logic instructions in the memory described above may be implemented in the form of software functional units and stored in a computer-readable storage medium when sold or used as a stand-alone product. Based on this understanding, the technical solution of the present invention may be embodied essentially or in a part contributing to the prior art or in the form of a software product stored in a storage medium, comprising several instructions for causing a computer device (which may be a personal computer, a server or a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present invention. And the storage medium includes: a usb disk, a removable hard disk, a read-only memory (ROM), a random-access memory (RAM), a magnetic disk, or an optical disk, etc.
Embodiment III: a computer program product comprising a computer program storable on a computer readable storage medium, the computer program, when executed by a processor, is capable of executing the triangular mesh model surface extension method based on the filtering process provided in the above embodiment.
Embodiment four: a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements the triangular mesh model surface extension method based on filtering processing as described in the above embodiment.
The apparatus embodiments described above are merely illustrative, wherein the elements illustrated as separate elements may or may not be physically separate, and the elements shown as elements may or may not be physical elements, may be located in one place, or may be distributed over a plurality of network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art will understand and implement the present invention without undue burden.
From the above description of the embodiments, it will be apparent to those skilled in the art that the embodiments may be implemented by means of software plus necessary general hardware platforms, or of course may be implemented by means of hardware. Based on this understanding, the foregoing technical solution may be embodied essentially or in a part contributing to the prior art in the form of a software product, which may be stored in a computer readable storage medium, such as ROM/RAM, a magnetic disk, an optical disk, etc., including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the method described in the respective embodiments or some parts of the embodiments.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present invention, and are not limiting; although the invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims (6)
1. The triangular mesh model curved surface expansion method based on filtering processing is characterized by comprising the following steps of:
S1, establishing half data structure topology information for an original curved surface triangular mesh model to obtain an original boundary of the original curved surface triangular mesh model;
the original boundary of the original curved surface triangular mesh model is a directional boundary obtained by sequentially arranging all the half sides without the half sides of the partner;
s2, calculating the expansion direction of the original boundary vertex:
according to the arrangement sequence of the directional boundaries, the expansion direction of the vertexes of the original boundaries is calculated point by point, and the calculation formula is as follows:
Dcur=norm((norm(vnxt-vcur)-norm(vpre-vcur))×ncur);
Wherein D cur is the expansion direction of the original boundary vertex, norm function represents the unitization of the vector, v cur is the original boundary vertex, v pre is the original boundary vertex before the original boundary vertex v cur, v nxt is the original boundary vertex after the original boundary vertex v cur, and n cur is the normal vector of the original boundary vertex v cur;
S3, traversing all original boundary vertexes point by point, judging whether the original boundary vertexes are ridge points, if so, recalculating the expansion direction of the original boundary vertexes, and if not, skipping the original boundary vertexes;
the method for judging whether the original boundary vertex is a ridge point comprises the following steps:
if the minimum value of cosine of the included angle between the normal vectors of two adjacent patches of the first-order domain edge of the original boundary vertex is smaller than a first given threshold, namely fn e1·fne2 < alpha, wherein fn e1、fne2 is the normal vector of two adjacent patches of the first-order domain edge of the original boundary vertex, alpha is the first given threshold, the original boundary vertex is a ridge point, and the first-order domain edge of the original boundary vertex is a ridge edge;
s4, expanding the original boundary vertex along the expansion direction according to the given expansion distance to obtain a new boundary vertex;
s5, traversing all the new boundary vertexes point by point, judging whether the new boundary vertexes are ridge points or sharp salient points, if not, carrying out filtering treatment on the new boundary vertexes, if so, skipping the new boundary vertexes, and generating an extended area triangular patch after traversing;
the method for judging whether the new boundary vertex is a ridge point comprises the following steps:
If the minimum value of cosine of the included angle between two adjacent patches of the first-order domain edge of the new boundary vertex is smaller than a first given threshold, namely fn e1'·fne2 '< alpha, wherein fn e1'、fne2' is the normal vector of two adjacent patches of the first-order domain edge of the new boundary vertex, and alpha is the first given threshold, the new boundary vertex is a ridge point;
The method for judging whether the new boundary vertex is a sharp convex point comprises the following steps:
If the connecting line included angle between the new boundary vertex and the previous new boundary vertex and between the new boundary vertex and the next new boundary vertex is smaller than 180 degrees minus a second given threshold value, the new boundary vertex is a sharp salient point;
I.e., arccos (norm (v pre'-vcur')·norm(vnxt'-vcur')) < (180 deg. -beta),
And ((v pre'-vcur')×(vnxt'-vcur'))·ncur' <0;
Wherein arccos function represents the connecting angle between the new boundary vertex and the previous new boundary vertex, and the new boundary vertex, norm function represents the unit processing of vector, v cur ' is the new boundary vertex, v pre ' is the new boundary vertex before v cur ', v nxt ' is the new boundary vertex after v cur ', n cur ' is the normal vector of v cur ', and beta is the second given threshold;
s6, detecting whether intersection exists in the triangular patches of the expansion area; if yes, repairing the intersected surface patches to obtain a final extended triangular mesh curved surface model; if not, directly obtaining the final extended triangular mesh curved surface model.
2. The method for expanding a triangular mesh model surface based on filtering according to claim 1, wherein in step S3, the method for recalculating the expansion direction of the original boundary vertex is as follows:
And taking the direction of the ridge edge pointing to the adjacent half edge of the ridge point as the expansion direction of the original boundary vertex.
3. The method according to claim 1, wherein in step S5, the filtering process uses mean filtering, i.e. v cur'=(vpre'+vnxt ') x 0.5, where v cur' is a new boundary vertex, v pre 'is a new boundary vertex before v cur', and v nxt 'is a new boundary vertex after v cur'.
4. The method for expanding a triangular mesh model surface based on filtering processing according to claim 1, wherein in step S6, the method for detecting whether the triangular patches of the expanded area have intersections is as follows:
and detecting whether the triangular patches of the expansion area are intersected or not by adopting a patch intersection detection algorithm of libigl three-party libraries.
5. The method for expanding a triangular mesh model surface based on filtering processing according to claim 1, wherein in step S6, the method for repairing the intersecting patches is as follows:
Deleting the intersected patches and the patches in the n-order field nearby the intersected patches according to the set filtering range threshold value n of the intersected patches to form a defect area;
And (5) performing grid model hole filling treatment on the defect area.
6. The method for expanding a triangular mesh model curved surface based on filtering processing according to claim 5, wherein the mesh model hole filling processing adopts a polygon triangulation algorithm of a triange library.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410510975.2A CN118097067B (en) | 2024-04-26 | 2024-04-26 | Triangular mesh model curved surface expansion method based on filtering processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410510975.2A CN118097067B (en) | 2024-04-26 | 2024-04-26 | Triangular mesh model curved surface expansion method based on filtering processing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118097067A CN118097067A (en) | 2024-05-28 |
CN118097067B true CN118097067B (en) | 2024-07-02 |
Family
ID=91160273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410510975.2A Active CN118097067B (en) | 2024-04-26 | 2024-04-26 | Triangular mesh model curved surface expansion method based on filtering processing |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118097067B (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102298795A (en) * | 2011-08-10 | 2011-12-28 | 华侨大学 | Three-dimensional segmenting method for STL (Standard Template Library) triangular network model |
CN103885385A (en) * | 2014-03-07 | 2014-06-25 | 华侨大学 | Partition machining method of triangular mesh model |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6549201B1 (en) * | 1999-11-23 | 2003-04-15 | Center For Advanced Science And Technology Incubation, Ltd. | Method for constructing a 3D polygonal surface from a 2D silhouette by using computer, apparatus thereof and storage medium |
-
2024
- 2024-04-26 CN CN202410510975.2A patent/CN118097067B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102298795A (en) * | 2011-08-10 | 2011-12-28 | 华侨大学 | Three-dimensional segmenting method for STL (Standard Template Library) triangular network model |
CN103885385A (en) * | 2014-03-07 | 2014-06-25 | 华侨大学 | Partition machining method of triangular mesh model |
Also Published As
Publication number | Publication date |
---|---|
CN118097067A (en) | 2024-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Owen et al. | Q‐Morph: an indirect approach to advancing front quad meshing | |
CN109726509B (en) | Part geometric feature expression model for aircraft assembly and construction method | |
KR101250163B1 (en) | Process for creating from a mesh an isotopologic set of parameterized surfaces | |
JP4832991B2 (en) | Process for generating parametric surfaces with the required geometric continuity | |
JP4934789B2 (en) | Interpolation processing method and interpolation processing apparatus | |
CN107578472B (en) | Angle optimization method and device of three-dimensional surface triangular network model | |
Wang et al. | Enhanced remeshing from STL files with applications to surface grid generation | |
JP2008305372A (en) | System and method for calculating loft surface using 3d scan data | |
Owen et al. | Advancing Front Quadrilateral Meshing Using Triangle Transformations. | |
CN114329668B (en) | RAR grid optimization method and system based on CAD model | |
Chen et al. | Automatic surface repairing, defeaturing and meshing algorithms based on an extended B-rep | |
JP4664218B2 (en) | Mesh model generation system | |
Ngo et al. | Feature-first hole filling strategy for 3D meshes | |
Liu et al. | Error-bounded edge-based remeshing of high-order tetrahedral meshes | |
CN118097067B (en) | Triangular mesh model curved surface expansion method based on filtering processing | |
US11640485B1 (en) | Generating CAD models from topology optimization data | |
CN108876922B (en) | Grid repairing method based on internal dihedral angle compensation regularization | |
Zhu et al. | Automatic hierarchical mid-surface abstraction of thin-walled model based on rib decomposition | |
CN116843861A (en) | Three-dimensional model simplification method | |
CN114898095B (en) | Data shrinkage editing method for linear feature image spots of homeland investigation | |
Quadros et al. | Defeaturing CAD models using a geometry-based size field and facet-based reduction operators | |
CN116113992A (en) | Grid generation | |
Akleman et al. | Handle and hole improvement by using new corner cutting subdivision scheme with tension | |
Vurputoor et al. | A mesh morphing technique for geometrically dissimilar tessellated surfaces | |
CN111145225B (en) | Non-rigid registration method and device for three-dimensional face |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |