Multi-scale triangulation network three-dimensional reconstruction method based on Sweep-line
By optimizing Delaunay triangulation using the Sweep-line algorithm and the LOP process, the problem of low efficiency in model building under non-uniform point distribution of Delaunay triangulation is solved, realizing fast and efficient mesh reconstruction and optimization, which is suitable for various terrain modeling and path search.
Patent Information
- Application Number
- CN202510785514.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-12
- Publication Date
- 2025-11-07
AI Technical Summary
Existing technologies using Delaunay triangulation for spatial data analysis and processing face challenges such as large point sets, non-convex regions, and inner loops, leading to mesh distortion and making it difficult to quickly build models. This is especially true in cases of non-uniform point distribution, where efficiency is low.
A multi-scale triangulation 3D reconstruction method based on Sweep-line is adopted. By constructing a doubly linked list data structure, using counters to update the number of points, edges and triangles, and combining the Sweep-line algorithm and the LOP process algorithm, Delaunay triangulation is quickly constructed and optimized.
It enables rapid mesh construction under multiple or specific data types, solves the mesh distortion problem, improves model building efficiency and accuracy, and is suitable for different terrain modeling and path search.
Smart Images

Figure CN120912814A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of multi-scale computational geometry and geographic information system (GIS), in particular to a multi-scale triangular mesh three-dimensional reconstruction method based on sweep-line. BACKGROUND
[0002] Delaunay triangular mesh is a computational geometry-based triangulation technique proposed by Boris Delaunay, which has multiple dimensions in knowledge base information in terms of technical advantages and application scenarios. Its core goal is to generate an optimal triangular mesh for a discrete point set. Its core features include empty circle property (no other points are contained in the circumcircle of any triangle) and maximum minimum angle principle (to ensure that triangles are as close to equilateral as possible, avoiding narrow triangles), which makes it widely used in terrain modeling, computer graphics, finite element analysis and other fields.
[0003] Common construction algorithms include Bowyer-Watson incremental method (point insertion and dynamic adjustment) and divide-and-conquer method (recursive partitioning and merging), and its dual relationship with Voronoi diagram further expands its value in spatial analysis. Delaunay triangular mesh combined with irregular triangular mesh realizes high-precision terrain modeling in the GIS field, which can be projected onto a two-dimensional plane and split into an undirected graph, supporting path search and three-dimensional rendering. With the development of technology, Delaunay triangular mesh continues to play a key role in dynamic data processing, large-scale point cloud optimization and AI-driven adaptive mesh generation, becoming a core tool for geometric computation and engineering applications.
[0004] Currently, in the process of analyzing and processing spatial data using Delaunay triangular mesh, terrain modeling, and watershed division, the most common obstacle is that the model has a large number of point sets, non-convex regions, and inner ring problems, and non-uniform point distribution may cause mesh distortion to be handled. When facing specific problems in a certain field, it is often difficult to quickly build a model, so efficient optimization algorithms are needed to support. SUMMARY
[0005] The present application provides a multi-scale triangular mesh three-dimensional reconstruction method based on sweep-line, which can quickly construct a mesh for various or certain types of data and easily apply to different problems in the same field.
[0006] To achieve the above purpose, the present application adopts the following technical solutions:
[0007] The multi-scale triangular mesh three-dimensional reconstruction method based on sweep-line includes the following steps:
[0008] S1, a bidirectional linked list data structure is constructed, including a data field, a predecessor pointer and a successor pointer;
[0009] S2, updating the number of points, edges and triangles of any data set based on the bidirectional linked list data structure of S1 using a counter;
[0010] S3, using the Sweep-line algorithm to construct the Delaunay triangulation network based on the number of points, edges and triangles of any data set updated in S2, sorting the point set by a single coordinate using quicksort, traversing from left to right through a virtual sweep line, removing the circumcircle triangle containing the new point each time a new point is encountered, generating new triangles by reconnecting the new point with the boundary vertices of the hole, and obtaining the constructed grid in the triangulation network data set;
[0011] S4, based on the constructed grid in S3, developing an interface to add or delete points on the inside and boundary, while maintaining the Delaunay condition using the LOP process algorithm, the Delaunay condition being that for a given point set, any Delaunay triangle should not contain any other point in the point set except the triangle vertices inside its circumcircle.
[0012] In this specification, in S1, the data field is sorted in ascending or descending order according to the x / y / z coordinates, and new nodes are inserted through the head, tail or middle position of the linked list, and the previous and next pointers of the adjacent nodes are updated to match the node structure rules.
[0013] In this specification, in S1, the data field is defined, which stores the basic information of vertices, edges and triangles, and the predecessor and successor pointers are established to realize the bidirectional traversal of the nodes; the data field is sorted by a single coordinate, the order of the data set is adjusted to meet the input rules of the node structure, and the preprocessing of node insertion and pointer update is completed.
[0014] In this specification, in S2, counter variables are set in the data structure of vertices, edges and triangles, and the vertex coordinates, edge endpoints, triangle vertices and null pointers are initialized, and the counter values are updated synchronously when inserting or deleting nodes to reflect the changes in the number of points, edges and triangles.
[0015] In this specification, in S2, the counter updates the number of points, edges and triangles of any data set, which is divided into three parts: the first part contains three-dimensional coordinate information and pointers to the previous and next nodes, where the three-dimensional coordinate information is represented as three floating-point numbers or double-precision numbers, which are used to store the position of the vertex in three-dimensional space; the second part contains the information of the two endpoints of the edge and the pointers to the previous and next nodes, where the two endpoints of the edge are used to store the reference or ID of the two vertices that constitute the edge; the third part contains the information of the three vertices that constitute the triangle and the pointers to the previous and next nodes, where the three vertices of the triangle are used to store the reference or ID of the three vertices that constitute the triangle.
[0016] In the specification, the sweep-line algorithm process in S3 includes: all input points are sorted according to any single coordinate of the point set by using quick sort, a virtual line moving from left to right is simulated by combining the algorithm, and each point is processed in turn;
[0017] The sweep-line traversal feature is to set a virtual scanning line, the virtual scanning line is initially located on the left side of the leftmost point, the virtual scanning line moves from left to right, each time a new point is encountered, all triangles containing the current point are found, the triangles are removed, a hole is left, the new point is connected to the vertices on the boundary of the hole to form new triangles; before performing the triangulation, the points need to be sorted, which requires O(nlogn) time; when adding a point, the edges on the boundary that meet the conditions need to be searched, and the search process requires O(n(logn+logn)) time; the time complexity of the entire triangulation construction and the total time complexity are:
[0018] T1=O(n log n);
[0019] T2=O(n(logn+logn))=O(n log n);
[0020] T1+T2=O(n log n);
[0021] O(n(logn+logn))、T2 represents the time complexity of adding each point to the constructed triangulation;
[0022] O(n log n), T1 represents the time complexity required for sorting the given points;
[0023] n represents the number of given points.
[0024] In the specification, in S4, the LOP process algorithm is specifically: the existing triangles are traversed by recursive edge flipping operation, it is detected whether the new point is located in the circumscribed circle, the triangle set containing the point is marked as an affected triangle domain, the common edges in the domain are deleted to form a concave polygon region, the new point is connected to all vertices in the domain to generate new triangles, and the diagonal exchange is performed to ensure that the empty circle feature is met.
[0025] In the specification, in S4, when a new point is added, new edges and triangles are created according to the position of the point, the LOP process algorithm is optimized and connected to the existing structure; when a point is deleted, all triangles related to the point are removed, the local triangulation is reconstructed, and the counter is updated.
[0026] In summary, the present application has at least the following beneficial effects:
[0027] The application uses a counter to update the number of points, edges and triangles of any data set by constructing a double-linked list data structure, and then uses a Sweep-line algorithm to construct a Delaunay triangulation network, develops an interface to add or delete points on the inside and the boundary, and uses a LOP process algorithm to maintain the Delaunay condition, so that the Delaunay triangulation network can be quickly constructed for various or certain types of data, and easily applied to different problems in the same field. BRIEF DESCRIPTION OF DRAWINGS
[0028] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can also be obtained without creative labor.
[0029] Figure 1 A schematic diagram of the multi-scale triangulation network three-dimensional reconstruction method based on Sweep-line involved in the present application.
[0030] Figure 2 A schematic diagram of the initialization triangle involved in the present application.
[0031] Figure 3 A schematic diagram of the Sweep-line traversal triangle involved in the present application.
[0032] Figure 4 A schematic diagram of the LOP local optimization detection involved in the present application.
[0033] Figure 5 A schematic diagram of the Delaunay triangulation grid involved in the present application. DETAILED DESCRIPTION
[0034] In the following, only some exemplary embodiments are simply described. As those skilled in the art can recognize, the described embodiments can be modified in various different ways without departing from the spirit or scope of the embodiments of the present application. Therefore, the drawings and the description are considered to be exemplary in nature rather than limiting.
[0035] The following disclosure provides many different embodiments or examples for implementing different structures of the embodiments of the present application. In order to simplify the disclosure of the embodiments of the present application, the components and settings of specific examples are described in the following. Of course, they are only examples, and the purpose is not to limit the embodiments of the present application. In addition, the embodiments of the present application can repeatedly refer to numbers and / or letters in different examples, and such repetition is for the purpose of simplification and clarity, which itself does not indicate the relationship between the various embodiments and / or settings discussed.
[0036] Embodiments of the present application will be described in detail below with reference to the accompanying drawings.
[0037] As Figure 1 shown, the present embodiment provides a multi-scale triangular mesh 3D reconstruction method based on Sweep-line, including the following steps:
[0038] S1, a bidirectional linked list data structure is constructed, including a data field, a predecessor pointer and a successor pointer;
[0039] S2, based on the bidirectional linked list data structure of S1, a counter is used to update the number of points, edges and triangles of any data set;
[0040] S3, based on the number of points, edges and triangles of any data set updated by S2, a Sweep-line algorithm is used to construct a Delaunay triangular mesh, a point set is sorted by a single coordinate using quicksort, and a virtual scan line is traversed from left to right, and each time a new point is encountered, the circumscribed circle triangle containing the point is removed, and a new triangle is generated by reconnecting the new point with the boundary vertex of the hole, to obtain a constructed mesh in the triangular mesh data set;
[0041] S4, based on the constructed mesh of S3, an interface is developed to add or delete points on the inside and boundary, while using a LOP process algorithm to maintain the Delaunay condition, which is that for a given point set, any Delaunay triangle should not contain any other point in the point set except the triangle vertices in its circumscribed circle.
[0042] Wherein, the initialization triangle is as shown in Figure 2 , the Sweep-line traversal triangle is as shown in Figure 3 , the LOP local optimization detection is as shown in Figure 4 , and the Delaunay triangular mesh is as shown in Figure 5 .
[0043] In some embodiments, the step S1 of constructing a data structure uses a bidirectional linked list data structure as a storage data field, and a predecessor pointer and a successor pointer are used as two links to other nodes. From any node of the bidirectional linked list, the entire list can be traversed forward and backward.
[0044] In some embodiments, after step S1, vertex sorting is performed, the data field is sorted by the size of any single coordinate, and the data set is sequentially adjusted to conform to the regular form of node structure input; the head, tail or middle position of the linked list is inserted with a new node for pretreatment operation; the adjacent node's predecessor and successor pointers in the data field are adjusted and matched with the node structure.
[0045] In some embodiments, the step S2: quickly updating the vertex, edge and the number of triangles of any triangle is divided into three parts, the first part contains three-dimensional coordinate information and a pointer to the previous and next nodes, wherein the three-dimensional coordinate information is represented as three floating-point numbers or double-precision numbers x, y and z, which are used to store the position of the vertex in three-dimensional space; the second part contains the two end point information of the edge and a pointer to the previous and next nodes, wherein the two end point information of the edge is used to store the reference or ID of the two vertices constituting the edge; the third part contains the three vertex information of the triangle and a pointer to the previous and next nodes, wherein the three vertex information of the triangle is used to store the reference or ID of the three vertices constituting the triangle; the spatial coordinates of the vertex are set when initialized, the two end points of the edge are specified when the edge is created, and the three vertices of the triangle are set when the triangle is initialized, and the pointers are all set to empty; the pointers of the adjacent vertices are updated when a new vertex, a new edge and a new triangle are inserted to maintain the continuity of the linked list, and a counter variable is maintained in the corresponding data structure at the same time, then the values of the counters are increased or decreased accordingly when the insertion or deletion operation is performed, and the related information of the triangular mesh can be efficiently obtained in the case of dynamic change.
[0046] In some embodiments, the step S3: Sweep-line process is composed of point sorting, creating initial triangle and Sweep-line traversal, the point sorting sorts all input points according to any single coordinate, and a virtual line moving from left to right is simulated to process each point in turn; the point set is sorted by using quicksort;
[0047] The Sweep-line traversal is characterized by setting a virtual scanning line, the initial position of which is located on the left side of the leftmost point; the scanning line is used to move from left to right, and when a new point is encountered each time, all the triangles containing the current point are found, these triangles are removed, a hole is left, the new point is connected with the vertices on the boundary of the hole to form new triangles; before the triangulation is performed, the points need to be sorted, which requires O(n log n) time; when a point is added, the edges on the boundary that meet the conditions need to be searched, and the search process requires O(n(logn+logn)) time; the time complexity of the whole triangulation construction and the total time complexity are:
[0048] T1=O(n log n);
[0049] T2=O(n(logn+logn))=O(n log n);
[0050] T1+T2=O(n log n);
[0051] O(n(logn+logn)), T2 represents the time complexity of adding each point to the constructed triangulation;
[0052] O(n log n), T1 represents the time complexity required for sorting the given points;
[0053] n represents the number of given points.
[0054] In some embodiments, the step S4: after step S2 and step S3, the grid constructed in the triangulation data set is obtained, and then a LOP process algorithm is used to traverse the existing triangle, check whether the current point is located within the circumcircle thereof through recursive edge flipping operation; the triangle set containing the point is marked as an influence triangle domain; all common edges of the influence triangle domain are deleted to form a concave polygon region; the new point is connected with the vertices of all the influence triangle domains to form new triangles; the diagonals are exchanged to ensure that the newly generated triangles meet the empty circle characteristic; the Delaunay triangulation is constructed; meanwhile, a new development interface is newly built to add or delete points on the inside and the boundary, so that the region after the addition or deletion of points is obtained, and according to the position of the new point or the deleted point, necessary new edges and triangles are created and all the triangles related to the point are removed, the LOP optimization reconstruction of the local triangle net is executed, and the region after the addition or deletion of points is connected to the existing structure and the counter is updated.
[0055] The above-described embodiments are used to illustrate the present application, and are not intended to limit the present application, so that the change of example values or the replacement of equivalent elements should still belong to the scope of the present application.
[0056] From the above detailed description, it can be seen by those skilled in the art that the present application can achieve the above-mentioned purpose, and has met the requirements of the Patent Law.
[0057] Although the preferred embodiments of the present application have been described, those skilled in the art can make further changes and modifications to the embodiments once they know the basic inventive concept. Therefore, the appended claims are intended to be interpreted as including all the preferred embodiments and all the changes and modifications falling within the scope of the present application. The above description is only the preferred embodiments of the present application and is not intended to limit the present application. It should be noted that any modification, equivalent replacement and improvement made within the spirit and principle of the present application should be included in the protection scope of the present application.
[0058] It should be noted that the above description of the flow is only for example and illustration, and does not limit the scope of the present application. Those skilled in the art can make various modifications and changes to the flow under the guidance of the present application. However, these modifications and changes are still within the scope of the present application.
[0059] Having described the basic concepts, it is obvious to those of ordinary skill in the art after reading this disclosure that the above-described disclosure of the application is merely illustrative and not limiting of the application. Numerous modifications, improvements, and / or alterations can be made to the application, which are apparent to those of ordinary skill in the art after reading this disclosure. Such modifications, improvements, and alterations are intended to be within the spirit and scope of the exemplary embodiments of the application.
[0060] Also, the use of "an" or "one" to describe the application can be interpreted to mean at least one, for example, one or more. Similarly, the use of "a" or "one" can be interpreted to mean at least one, for example, one or more. Also, the use of the term "if" can be interpreted to mean "when" or "upon" or "responsive to the occurrence of. Also, the use of "one or more of the" can be interpreted to mean "at least one, for example, one or more. Additionally, it will be appreciated that the various embodiments of the application can include one, some, or all of the functions described herein.
[0061] Furthermore, those of ordinary skill in the art will appreciate that the various aspects of the application can be illustrated and described by means of a few preferred embodiments, an example of which is set forth in the attached drawings and description below. Those of ordinary skill in the art will readily recognize that there are alternatives to the embodiments discussed herein, which can be employed in the practice of the application. Accordingly, the following detailed description is not intended to limit the scope of the application as claimed.
[0062] Computer program code for carrying out operations of various aspects of the present application can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python, conventional procedural programming languages, such as the C programming language, Visual Basic, Fortran 2103, Perl, COBOL 2102, PHP, ABAP, dynamic programming languages, such as Python, Ruby and Groovy, or another programming language. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any form of network, such as a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet) or within a cloud computing environment or as a service, such as software as a service (SaaS).
[0063] Furthermore, the order of presentation of the processing elements and sequences, use of nomenclature, or other descriptive terms herein are not intended to limit the scope of the embodiments or the application in any way. Although the above disclosure discusses some presently preferred embodiments of the application, and although various configurations have been set forth, it is understood that the embodiments maybe embodied with various changes, substitutions, and equivalents, without departing from the spirit and essential scope of this application. For example, although the implementation of the various components described above can be embodied in hardware, it can also be embodied as pure software solutions, e.g., as an installation on existing servers or mobile devices.
[0064] Similarly, it is to be noted that, while the above-described embodiments have been characterized as including certain features, the application should not be construed as requiring that the claimed subject matter include more features than those explicitly recited in each claim. Rather, the claimed subject matter should be construed as having fewer features than those of the above-described single embodiments.
Claims
1. A multi-scale TIN 3D reconstruction method based on sweep-line, characterized in that, The method comprises the following steps: S1, constructing a double-linked list data structure, including a data field, a predecessor pointer and a successor pointer; S2, based on the double-linked list data structure of S1, using a counter to update the number of points, edges and triangles of any data set; S3, based on the number of points, edges and triangles of any data set updated by S2, using a Sweep-line algorithm to construct a Delaunay triangular mesh, using quicksort to sort the point set according to a single coordinate, traversing from left to right through a virtual scan line, removing the circumscribed circle triangle containing the point each time a new point is encountered, and generating a new triangle by reconnecting the new point and the boundary vertex of the hole to obtain the constructed mesh in the triangular mesh data set; S4, based on the constructed mesh of S3, developing an interface to add or delete points on the inside and the boundary, while using a LOP process algorithm to maintain the Delaunay condition, which is that for a given point set, the circumscribed circle of any Delaunay triangle should not contain any other points in the point set except the triangle vertices. 2.The Sweep-line based multi-scale TIN 3D reconstruction method of claim 1, wherein, In S1, the data field is sorted in ascending or descending order according to the x / y / z coordinates, a new node is inserted through the head, tail or middle position of the linked list, and the predecessor and successor pointers of the adjacent nodes are updated to match the node structure rules. 3.The Sweep-line based multi-scale TIN 3D reconstruction method of claim 1, wherein, In S1, the data field is defined, the data field stores the basic information of the vertices, edges and triangles, and the predecessor and successor pointers are established to realize the bidirectional traversal of the nodes; the data field is sorted according to a single coordinate, the order of the data set is adjusted to meet the input rules of the node structure, and the insertion of the linked list node and the updating of the pointer are preprocessed. 4.The Sweep-line based multi-scale TIN 3D reconstruction method of claim 1, wherein, In S2, counter variables are set in the data structure of the vertices, edges and triangles, the vertex coordinates, edge endpoints, triangle vertices and null pointers are initialized, and the counter values are updated synchronously when inserting or deleting nodes to reflect the changes in the number of points, edges and triangles. 5.The Sweep-line based multi-scale TIN 3D reconstruction method of claim 1, wherein, The counter updates the number of points, edges and triangles of any data set in S2, which is divided into three parts: the first part contains three-dimensional coordinate information and pointers to the previous and next nodes, where the three-dimensional coordinate information is represented as three floating-point numbers or double-precision numbers, used to store the position of the vertex in three-dimensional space; the second part contains the information of the two endpoints of the edge and the pointers to the previous and next nodes, where the information of the two endpoints of the edge is used to store the reference or ID of the two vertices constituting the edge; the third part contains the information of the three vertices constituting the triangle and the pointers to the previous and next nodes, where the information of the three vertices constituting the triangle is used to store the reference or ID of the three vertices constituting the triangle. 6.The Sweep-line based multi-scale TIN 3D reconstruction method of claim 1, wherein, In S3, the Sweep-line algorithm process includes: using quicksort to sort all input points according to any single coordinate, combining the algorithm to simulate a virtual line moving from left to right, and processing each point in turn; The sweep-line traversal feature is to set a virtual scan line, the virtual scan line is initially located on the left side of the leftmost point, and the virtual scan line moves from left to right. Each time a new point is encountered, all triangles containing the current point are found, these triangles are removed, a hole is left, and the new point is connected to the vertices on the boundary of the hole to form new triangles. Before performing the triangulation, the points need to be sorted, which requires O(n log n) time. When adding a point, the boundary needs to be searched for edges that meet the conditions, and the search process requires O(n(logn+logn)) time. The time complexity of the entire triangulation construction and the total time complexity are: T1=O(n log n); T2=O(n(logn+logn))=O(n log n); T1+T2=O(n log n); O(n(logn+logn))、T2 represents the time complexity of adding each point to the constructed triangulation; O(n log n), T1 represents the time complexity required to sort the given points; n represents the number of given points. 7.The Sweep-line based multi-scale TIN 3D reconstruction method according to claim 1, wherein, The LOP process algorithm in S4 is as follows: by recursively flipping the edges, the existing triangles are traversed, and the new point is detected to see if it is inside the circumcircle. The set of triangles containing the point is marked as the affected triangle domain, and the common edges in the domain are deleted to form a concave polygon region. The new point is connected to all the vertices in the domain to generate new triangles, and the diagonal exchange is performed to ensure that the empty circle feature is met. 8.The Sweep-line based multi-scale TIN 3D reconstruction method of claim 1, wherein, In S4, when a new point is added, new edges and triangles are created based on the point position, the LOP process algorithm is executed for optimization, and the new point is connected to the existing structure. When a point is deleted, all triangles related to the point are removed, the local triangulation is reconstructed, and the counter is updated.