Voronoi graph serial calculation method and system driven by cell relation

Through the Voronoi graph serial calculation method driven by point-cell relationship, using preset cropping rules and neighbor search structure, the problem of inefficient cutting efficiency in the traditional Voronoi graph calculation method is solved, and more efficient Voronoi graph calculation is achieved.

CN119887799AInactive Publication Date: 2025-04-25NANCHANG UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411773558.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-05
Publication Date
2025-04-25
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

The traditional Voronoi graph calculation method has the problem of inefficiency during the cutting process, and some cutting does not contribute to the results but is still executed.

Method used

The Voronoi graph serial calculation method driven by point-cell relationship is used to construct neighbor search structures and preset cropping rules, and only crops that contribute to the results are processed to ensure that only one cropping plane is determined for each edge.

Benefits of technology

It significantly improves the computing efficiency of Voronoi graphs, reduces unnecessary cropping operations, and saves computing resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119887799A_ABST
    Figure CN119887799A_ABST
Patent Text Reader

Abstract

The invention provides a Voronoi diagram serial calculation method and system driven by a cell relation, and the method comprises the steps: obtaining a seed point set and a solution domain composed of m geometries, and constructing a neighbor search structure for seed points; performing two stages of first decomposition and diffusion decomposition on each geometry tau k of the solution domain in sequence; in the first decomposition stage of the tau k, recording a nearest seed point of a first vertex as vi and an intersection of a Voronoi cell of vi and the tau k as tk, i, setting the tau k as an initial value of the tk, i, cutting the tk, i according to a first preset cutting rule until all vertexes in the tk, i are in the Voronoi cell of the seed point vi, and merging the tk, i into a cell result omega iM of the vi; in the diffusion decomposition stage of the tau k, other seed points {vj} related to the tau k are found out according to a preset diffusion rule, and intersections {tk, j} of corresponding Voronoi cell elements and the tau k are cut out from the tau k and merged into cell element results {Omega jM} of the Voronoi cell elements and the tau k. According to the method, the calculation efficiency of the Voronoi diagram is greatly improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of Voronoi diagram generation in geometric processing, and in particular to a Voronoi diagram serial calculation method and system driven by a point-cell relationship. Background Art

[0002] The Voronoi diagram is determined by a set of seed points and Euclidean distances. It is one of the most important geometric structures for region partitioning. It can divide the space into several smaller sub-regions. Each seed point corresponds to a sub-region, which is called the Voronoi cell of the seed point. The Voronoi diagram has a very wide range of applications, such as sampling, regridding, mesh generation and simulation. Therefore, the calculation of the Voronoi diagram is a basic task, and improving its efficiency is of great significance for downstream applications.

[0003] The Voronoi diagram is usually a partition of infinite space, so some cells contain points at infinity. However, many applications are usually confined to a finite range, called the solution domain. People are usually interested in the Voronoi diagram within the solution domain.

[0004] The mainstream methods for calculating the Voronoi diagram of arbitrary dimensions include the following two:

[0005] (1) Based on the dual method with Delaunay triangulation, it is considered that Delaunay triangulation (DT) and Voronoi diagram are two structures that are dual to each other. Each seed point can obtain explicit adjacency relations from DT. It only needs to traverse all its neighboring points and form a perpendicular plane with it to cut the space to obtain the Voronoi cell of the seed point. Therefore, the key to this Voronoi diagram calculation method is how to quickly generate DT for a given point set.

[0006] (2) Based on the k-nearest neighbor method, each Voronoi cell can be regarded as the intersection of the half-space between the corresponding seed point and all other seed points. Based on this, this method calculates the cell Ω i When , first get the corresponding seed point v i An ordered queue of i Sort the other seed points from near to far, and then select the queue elements and v one by one iThe vertical plane is constructed to iteratively trim the space. In fact, each cell is only related to the nearest neighbors of its corresponding seed point, so it is not necessary to traverse all elements in the ordered queue. When the farthest distance from the seed point to its cell is less than half of the distance from it to a neighbor, the trimming end condition is reached, and the above cell generation process can be terminated in advance. Therefore, the cell trimming process only requires the nearest k neighbors of each seed point.

[0007] Both of the above methods have an unavoidable problem, that is, in the process of clipping Voronoi cells, some clipping does not contribute to the result, but will still be executed, resulting in efficiency loss. Summary of the invention

[0008] The purpose of the present invention is to provide a point-cell relationship driven Voronoi diagram serial calculation method and system, aiming to solve the problem of low calculation efficiency in traditional technologies.

[0009] In a first aspect, the present invention provides a point-cell relationship driven Voronoi diagram serial calculation method, the method comprising:

[0010] Step 1: Get a set of seed points and the solution domain consisting of m geometric bodies And according to the seed point set Construct a neighbor search structure and initialize the cells of each seed point

[0011] Step 2: For each geometric body τ in the solution domain, k ,k=1,…,m performs the first decomposition and diffusion decomposition in two stages;

[0012] Step 3: k In the first decomposition phase, the nearest seed point of the first vertex is v i , and v i The Voronoi cell and τ k The intersection of k,i , τ k Set to t k,i The initial value of t is set according to the first preset clipping rule. k,i Cut until t k,i All vertices in the i In the Voronoi cell, t k,i Merge to seed point v i The cell result Ω i|M , that is, Ω i|M =Ω i|M ∪t k,i ;

[0013] Step 4: k The diffusion decomposition stage, known as t k,i Other related to τ can be found according to the preset diffusion rules k The relevant seed point {v j}, and according to the preset intersection initialization rule, the second and third preset clipping rules, from τ k Cut out other seed points corresponding to Voronoi cells and τ k The intersection of {t k,j}, merged into the cell result of other seed points {Ω j|M}middle.

[0014] Further, according to the seed point set The steps to build a neighbor search structure include:

[0015] Step 11, set a group of grids, the size of which can be adjusted by the user according to the average number of seed points in the grid;

[0016] Step 12: Place each seed point in the corresponding grid according to the coordinates. The neighbor search structure is now established and will be used for subsequent nearest neighbor searches.

[0017] Furthermore, the first preset cropping rule is:

[0018] Step 31: If t k,i There is an edge p in s p t , satisfying the starting point p s The nearest seed point is v i , end point p t The nearest seed point is v j , and v j ≠v i , then go to step 32; otherwise, the cutting rule ends;

[0019] Step 32: On the side s p t Take a point q between them and set the edge qp s The length is where λ = ‖p s -v i ‖, the nearest seed point v of query point q q , if v q =v i , then let q be Direction translation λ distance, and re-query the nearest seed point v of point q q , until v q ≠v i , then v j Update to v q;

[0020] Step 33: Construct two seed points v i v j The median vertical plane B i,j , calculate B i,j With edge p s p t The intersection point e, query e's nearest seed point v e , determine whether the intersection point e is at the seed point v i The Voronoi cell;

[0021] Step 34: If the intersection point e is at the seed point v i Outside the Voronoi cell, v j Update to v e And re-enter step 33;

[0022] Step 35: If the intersection point e is at the seed point v i In the Voronoi cell, use B i,j t k,i The result is still recorded as t k,i , repeat step 31;

[0023] Furthermore, the determination of whether the intersection point e is at the seed point v i The steps within a Voronoi cell include:

[0024] Step 331: record the nearest seed point of the intersection point e as v e ;

[0025] Step 332: If v e =v i , or ‖ev i ‖ 2 -‖ev e ‖ 2 ≤β, then the intersection point e is determined to be at the seed point v i The Voronoi cell;

[0026] Step 333: If v e ≠v i , or ‖ev i ‖ 2 -‖ev e ‖ 2 >β, then the intersection point e is determined to be at the seed point v i Outside the Voronoi cell.

[0027] Furthermore, the preset diffusion rule is:

[0028] Step 41, set the queue Q with an initial state of an empty set and the array A[1,…,n] with an initial value of 0;

[0029] Step 42: Let F = t k,i The number of edges / faces of traversal sequence f is 1,…,F, if it is from B i,j If A[j] is trimmed and A[j] = 0, store the triple (j, i, f) in Q and update A[j] to 1;

[0030] Step 43: Pop the head triplet (a, b, f) from the queue Q, and calculate the seed point v according to the preset intersection initialization rule and the second preset clipping rule. a The Voronoi cell and τ k The intersection of k,a ;

[0031] Step 44: k,a Merge to seed point v a The cell Ω a|M , that is, Ω a|M =Ω a|M ∪t k,a ;

[0032] Step 45: Let F = t k,a The number of edges / faces of traversal sequence f is 1,…,F, if it is from B a,j If A[j] is trimmed and A[j] = 0, store the triple (j, a, f) in Q and update A[j] to 1;

[0033] Step 46, repeat steps 43-45 until the queue Q becomes an empty set, then the solution domain geometry τ is completed. k diffusion decomposition.

[0034] Furthermore, the preset intersection initialization rule is:

[0035] Step 431: Let t k,a =τ k ;

[0036] Step 432: At this time, the seed point v b The Voronoi cell and τ k The intersection of k,b is known, take t k,b The edge / face P with sequence number f f , traverse P f Adjacent edges / faces, if P f The adjacent edges / faces of are given by the seed point v b v c The median vertical plane B b,c Cut from, then construct the seed point v a v c The median vertical plane B a,c tk,a The result is still recorded as t k,a ;

[0037] Step 433: construct seed point v a v b The median vertical plane B a,b For the latest t k,a The result is still recorded as t k,a . The intersection initialization rule ends.

[0038] Furthermore, the index number of the second preset clipping rule is a, and the index number of the third preset clipping rule is j.

[0039] In a second aspect, the present invention provides a point-cell relationship driven Voronoi diagram serial computing system, the system comprising:

[0040] Initialization module, used to obtain a set of seed points and the solution domain consisting of m geometric bodies And according to the seed point set Construct a neighbor search structure and initialize the cells of each seed point

[0041] The task allocation module is used to sequentially allocate each geometric body τ k ,k=1,…,m performs the first decomposition and diffusion decomposition in two stages;

[0042] The first decomposition module is used to k In the first decomposition phase, the nearest seed point of the first vertex is v i , and v i The Voronoi cell and τ k The intersection of k,i , τ k Set to t k,i The initial value of t is set according to the first preset clipping rule. k,i Cut until t k,i All vertices in the i In the Voronoi cell, t k,i Merge to seed point v i The cell result Ω i|M , that is, Ω i|M =Ω i|M ∪t k,i ;

[0043] Diffusion decomposition module, used to k The diffusion decomposition stage, known as t k,i Other related to τ can be found according to the preset diffusion rules kThe relevant seed point {v j}, and according to the preset intersection initialization rule, the second and third preset clipping rules, from τ k Cut out other seed points corresponding to Voronoi cells and τ k The intersection of {t k,j}, merged into the cell result of other seed points {Ω j|M}middle.

[0044] In a third aspect, the present invention provides a storage medium storing one or more programs, which, when executed by a processor, implement the above-mentioned point-cell relationship driven Voronoi diagram serial calculation method.

[0045] In a fourth aspect, the present invention provides a computer device, the computer device comprising a memory and a processor, wherein:

[0046] The memory is used to store computer programs;

[0047] When the processor is used to execute the computer program stored in the memory, the above-mentioned point-cell relationship driven Voronoi diagram serial calculation method is implemented.

[0048] In summary, according to the above-mentioned point-cell relationship driven Voronoi diagram serial calculation method, by determining at most one clipping plane for each edge of the cell in the clipping process, the intersection of the edge and the clipping plane is consistent with the Voronoi cell to which the starting point of the edge belongs, and is quickly determined through several nearest neighbor searches. Therefore, this method only involves clipping that contributes to the result, thereby greatly improving the calculation efficiency of the Voronoi diagram. BRIEF DESCRIPTION OF THE DRAWINGS

[0049] Figure 1 One of the grid-based search schematic diagrams according to an embodiment of the present invention;

[0050] Figure 2 The second schematic diagram of a grid-based search according to an example of an embodiment of the present invention;

[0051] Figure 3 The third schematic diagram of a grid-based search according to an example of an embodiment of the present invention;

[0052] Figure 4 A schematic diagram of a solution domain in a two-dimensional plane according to an example of an embodiment of the present invention;

[0053] Figure 5 A schematic diagram of a solution domain in a two-dimensional manifold (space surface) according to an example of an embodiment of the present invention;

[0054] Figure 6A schematic diagram of a solution domain in three-dimensional space according to an example of an embodiment of the present invention;

[0055] Figure 7 This is a flow chart of a first preset clipping rule exemplified in an embodiment of the present invention;

[0056] Figure 8 A flowchart of a preset intersection initialization rule exemplified in one embodiment of the present invention;

[0057] Fig. 9 A schematic diagram of the result of calculating the Voronoi diagram on an arbitrary solution domain according to an example of an embodiment of the present invention, wherein: Fig. 9 (a) is a two-dimensional Voronoi diagram. Fig. 9 (b) is the restricted Voronoi diagram on the surface, Fig. 9 (c) is the three-dimensional Voronoi diagram;

[0058] Fig.10 This is a time-consuming comparison diagram of random distribution of seed points when the solution domain is a rectangle on a two-dimensional plane in an experimental example of the present invention;

[0059] Fig.11 This is a time-consuming comparison diagram of uniform distribution of seed points when the solution domain is a rectangle on a two-dimensional plane in an experimental example of the present invention;

[0060] Fig.12 This is a time comparison diagram of random distribution of seed points when the solution domain is a sphere composed of 1280 triangles in an experimental example of the present invention;

[0061] Fig.13 This is a time-consuming comparison diagram of uniform distribution of seed points when the solution domain is a sphere composed of 1280 triangles in a test example of the present invention;

[0062] Fig.14 This is a time comparison diagram of random distribution of seed points when the solution domain is a sphere composed of 1983 tetrahedrons in an experimental example of the present invention;

[0063] Fig.15 This is a time comparison diagram of uniform distribution of seed points when the solution domain is a sphere composed of 1983 tetrahedrons in a test example of the present invention;

[0064] Fig.16 A schematic diagram of the structure of a Voronoi diagram serial computing system driven by a point-cell relationship proposed in one embodiment of the present invention.

[0065] The following specific implementation manner will further illustrate the present invention in conjunction with the above-mentioned drawings. DETAILED DESCRIPTION

[0066] In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention. Unless otherwise defined, the technical terms or scientific terms used herein should be understood by people with general skills in the field to which the present invention belongs. "Including" and similar words used in this article mean that the elements or objects appearing before the word include the elements or objects listed after the word and their equivalents, without excluding other elements or objects.

[0067] An embodiment of the present invention provides a point-cell relationship driven Voronoi diagram serial calculation method, the method comprising steps 1 to 4, wherein:

[0068] Step 1: Obtain a seed point set and a solution domain consisting of m geometric bodies, and construct a neighbor search structure based on the seed point set;

[0069] In this step, a set of grids is first set. The size of the grid can be adjusted by the user according to the average number of seed points in it. Then each seed point is placed in the corresponding grid according to the coordinates. At this point, the neighbor search structure is established and will be used for subsequent nearest neighbor searches, such as Figure 1 , Figure 1 Each gray dot in the figure represents a seed point.

[0070] It should be noted that given a solution domain consisting of m simple geometric bodies (like Figures 4 to 6 As shown, there are m two-dimensional polygons in two-dimensional space, m three-dimensional polygons on the spatial surface, and m tetrahedrons in three-dimensional space) and n seed points Remember each seed point v i The corresponding Voronoi cell is Ω i , which is mathematically defined as Meaning Ω i From any point in to the corresponding seed point v i The distance between the point and other seed points is no greater than the distance between the point and other seed points. The Voronoi diagram can be represented as a collection of cells What needs to be calculated is each cell Ω i The intersection with M, that is, each seed point corresponds to a sub-region Ω of M i|M =Ω i ∩M.

[0071] Then initialize the cell of each seed point

[0072] Step 2: For each geometric body τ in the solution domain k ,k=1,…,m performs the first decomposition and diffusion decomposition in two stages.

[0073] Step 3: In the case of τ k In the first decomposition phase, the nearest seed point of the first vertex is v i , and v i The Voronoi cell and τ k The intersection of k,i , τ k Set to t k,i The initial value of t is set according to the first preset clipping rule. k,i Cut until t k,i All vertices in the i In the Voronoi cell, t k,i Merge to seed point v i The cell result Ω i|M , that is, Ω i|M =Ω i|M ∪t k,i .

[0074] In this step, we need to obtain the nearest seed point v i , the search method used is different from the existing nearest neighbor search method. Specifically, Figure 2 As shown, given a query point p, its coordinates can be used to locate the grid where it is located, such as Figure 2 , traverse the seed points in this grid, and find the seed point v in this grid that is closest to the query point i (If there is no reference point in this grid, the grid will spread outward in circles and search in neighboring grids).

[0075] Furthermore, since the distance found at this time is not necessarily the smallest, further search is required. Figure 3 As shown in the figure, a circle is drawn with the minimum distance currently found as the radius. All grids intersecting the circle may contain other seed points closer to the query point. Therefore, by traversing the grids intersecting the circle and comparing whether the distances from the seed points in these grids to the query point are smaller, the seed point closest to the query point can be found after a few comparisons. Figure 3 Found v j and v k are closer to p. Finally, the closest reference point is v k Similarly, if v is not found j and v k If it is closer to p, the nearest point is v. i .

[0076] It should also be noted that, in some embodiments, Figure 7 As shown, the first preset cropping rule is:

[0077] Step 31: If t k,i There is an edge p in s p t , satisfying the starting point p s The nearest seed point is v i , end point p t The nearest seed point is v j , and v j ≠v i , then go to step 32; otherwise, the cutting rule ends;

[0078] Step 32: On the side s p t Take a point q between them and set the edge qp s The length is where λ = ‖p s -v i ‖, the nearest seed point v of query point q q , if v q =v i , then let q be Direction translation λ distance, and re-query the nearest seed point v of point q q , until v q ≠v i , then v j Update to v q ;

[0079] Step 33: Construct two seed points v i v j The median vertical plane B i,j , calculate B i,j With edge p s p t The intersection point e, query e's nearest seed point v e , determine whether the intersection point e is at the seed point v i The Voronoi cell;

[0080] Step 34: If the intersection point e is at the seed point v i Outside the Voronoi cell, v j Update to e and re-enter step 33;

[0081] Step 35: If the intersection point e is at the seed point v i In the Voronoi cell, use B i,j t k,i The result is still recorded as t k,i , repeat step 31.

[0082] In addition, in some embodiments, it is determined whether the intersection point e is at the seed point v i The steps within a Voronoi cell include:

[0083] Step 331: record the nearest seed point of the intersection point e as v e ;

[0084] Step 332: If v e =v i , or ‖ev i ‖ 2 -‖ev e ‖ 2 ≤β, then the intersection point e is determined to be at the seed point v i The Voronoi cell;

[0085] Step 333: If v e ≠v i , or ‖ev i ‖ 2 -‖ev e ‖ 2 >β, then the intersection point e is determined to be at the seed point v i Outside the Voronoi cell.

[0086] Step 4: k The diffusion decomposition stage, known as t k,i Other related to τ can be found according to the preset diffusion rules k The relevant seed point {v j}, and according to the preset intersection initialization rule, the second and third preset clipping rules, from τ k Cut out other seed points corresponding to Voronoi cells and τ k The intersection of {t k,j}, merged into the cell result of other seed points {Ω j|M}middle.

[0087] In this step, the preset diffusion rule is:

[0088] Step 41, set the queue Q with an initial state of an empty set and the array A[1,…,n] with an initial value of 0;

[0089] Step 42: Let F = t k,i The number of edges / faces of traversal sequence f is 1,…,F, if it is from B i,j If A[j] is trimmed and A[j] = 0, store the triple (j, i, f) in Q and update A[j] to 1;

[0090] Step 43: Pop the head triplet (a, b, f) from the queue Q, and calculate the seed point v according to the preset intersection initialization rule, the second and third preset clipping rules. a The Voronoi cell and τ k The intersection of k,a ; The second preset cropping rule in this step is basically the same as the first preset cropping rule in step 3, the difference being that the index number therein is replaced by a from i; the third preset cropping rule in this step is basically the same as the first preset cropping rule in step 3, the difference being that the index number therein is replaced by j from i.

[0091] Step 44: k,a Merge to seed point v a The cell Ω a|M , that is, Ω a|M =Ω a|M ∪t k,a ;

[0092] Step 45: Let F = t k,a The number of edges / faces of traversal sequence f is 1,…,F, if it is from B a,j If A[j] is trimmed and A[j] = 0, store the triple (j, a, f) in Q and update A[j] to 1;

[0093] Step 46, repeat steps 43-45 until the queue Q becomes an empty set, then the solution domain geometry τ is completed. k diffusion decomposition.

[0094] Furthermore, in some embodiments, Figure 8 As shown, the preset intersection initialization rule is:

[0095] Step 431: Let t k,a =τ k ;

[0096] Step 432: At this time, the seed point v b The Voronoi cell and τ k The intersection of k,b is known, take t k,b The edge / face P with sequence number f f , traverse P f Adjacent edges / faces, if P f The adjacent edges / faces of are given by the seed point v b v c The median vertical plane B b,c Cut from, then construct the seed point v a v c The median vertical plane B a,c t k,aThe result is still recorded as t k,a ;

[0097] Step 433: construct seed point v a v b The median vertical plane B a,b For the latest t k,a The result is still recorded as t k,a . The intersection initialization rule ends.

[0098] In summary, the input of this method is a solution domain consisting of m simple geometric bodies. and n seed points The output is the Voronoi cell Ω for each seed point. i The intersection with M, that is, each seed point v i Corresponding to a sub-region Ω of M i|M =Ω i ∩M, i = 1, ..., n, illustratively, the Voronoi diagram result on any solution domain is as follows Fig. 9 shown.

[0099] According to the above-mentioned Voronoi diagram serial calculation method driven by a point-cell relationship, for each edge of the cell in the clipping process, at most one clipping plane is determined, so that the intersection of the edge and the clipping plane is consistent with the Voronoi cell to which the starting point of the edge belongs, and is quickly determined through several nearest neighbor searches. By iteratively clipping vertices that do not belong to each cell, only the clipping that contributes to the result is involved, which saves a lot of computing resources, thereby greatly improving the computational efficiency of the Voronoi diagram.

[0100] Test Example 1

[0101] In the two-dimensional case, the given solution domain is a rectangle, and 10 groups of seed points are randomly generated in this rectangular area, with the number of seed points in each group being 10,000, 20,000, 30,000, 40,000, 50,000, 60,000, 70,000, 80,000, 90,000, and 100,000 respectively. The distribution of these 10 groups of seed points is random, and the method based on DT duality, the method based on kNN, and the serial solution of the present invention are applied to these 10 groups of seed points respectively. The time consumption data of various methods are plotted in Fig.10 .

[0102] In addition, by applying the centroidal Voronoi decomposition method to these 10 groups of seed points, 10 new groups of seed points can be obtained. The number of seed points in each group is still 10,000, 20,000, 30,000, 40,000, 50,000, 60,000, 70,000, 80,000, 90,000, and 100,000. However, each of the 10 new groups of seed points is evenly distributed. The serial scheme based on the method based on DT duality, the method based on kNN, and the method of the present invention are applied to the new 10 groups of seed points, and the time consumption data of various methods are plotted in Fig.11 .

[0103] In addition, according to the above test scheme, the time consumption of seed points with random distribution and uniform distribution can be tested on the curved surface and in three-dimensional conditions respectively. The results are as follows: Figures 12 to 16 shown.

[0104] Depend on Figures 10 to 16 It can be seen that no matter the solution domain is two-dimensional, curved or three-dimensional, no matter whether the seed points in the solution domain are randomly distributed or uniformly distributed, the time consumption of generating the Voronoi diagram is much less than that of the method based on DT duality and the method based on kNN.

[0105] like Fig.16 As shown, an embodiment of the present invention further provides a point-cell relationship driven Voronoi diagram serial computing system, the system comprising:

[0106] Initialization module 10, used to obtain a set of seed points and the solution domain consisting of m geometric bodies And according to the seed point set Construct a neighbor search structure and initialize the cells of each seed point

[0107] The task allocation module 20 is used to sequentially allocate each geometric body τ k ,k=1,…,m performs the first decomposition and diffusion decomposition in two stages;

[0108] The first decomposition module 30 is used to k In the first decomposition phase, the nearest seed point of the first vertex is v i , and v i The Voronoi cell and τ k The intersection of k,i , τ k Set to t k,i The initial value of t is set according to the first preset clipping rule. k,i Cut until t k,i All vertices in the i In the Voronoi cell, t k,i Merge to seed point v i The cell result Ω i|M , that is, Ω i|M =Ω i|M ∪t k,i ;

[0109] The diffusion decomposition module 40 is used to k The diffusion decomposition stage, known as t k,iOther related to τ can be found according to the preset diffusion rules k The relevant seed point {v j}, and according to the preset intersection initialization rule, the second and third preset clipping rules, from τ k Cut out other seed points corresponding to Voronoi cells and τ k The intersection of {t k,j}, merged into the cell result of other seed points {Ω j|M}middle.

[0110] Another aspect of the present invention further provides a storage medium on which one or more programs are stored, and when the programs are executed by a processor, the above-mentioned point-cell relationship driven Voronoi diagram serial calculation method is implemented.

[0111] On the other hand, the present invention further proposes a computer device, including a memory and a processor, wherein the memory is used to store a computer program, and the processor is used to execute the computer program stored in the memory to implement the above-mentioned point-cell relationship driven Voronoi diagram serial calculation method.

[0112] Those skilled in the art will appreciate that the logic and / or steps represented in the flowchart or otherwise described herein, for example, may be considered as an ordered list of executable instructions for implementing logical functions, and may be embodied in any computer-readable medium for use by an instruction execution system, device or apparatus (such as a computer-based system, a system including a processor, or other system that can fetch instructions from an instruction execution system, device or apparatus and execute instructions), or in conjunction with such instruction execution systems, devices or apparatuses. For purposes of this specification, "computer-readable medium" may be any device that can contain, store, communicate, propagate or transmit a program for use by an instruction execution system, device or apparatus, or in conjunction with such instruction execution systems, devices or apparatuses.

[0113] More specific examples of computer-readable media (a non-exhaustive list) include the following: an electrical connection with one or more wires (electronic device), a portable computer disk case (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable and programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disk read-only memory (CDROM). In addition, the computer-readable medium may even be a paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, deciphering or, if necessary, processing in another suitable manner, and then stored in a computer memory.

[0114] It should be understood that the various parts of the present invention can be implemented by hardware, software, firmware or a combination thereof. In the above-mentioned embodiments, a plurality of steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, it can be implemented by any one of the following technologies known in the art or a combination thereof: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.

[0115] Although the embodiments of the present invention are described in detail above, it is obvious to those skilled in the art that various modifications and variations can be made to these embodiments. However, it should be understood that such modifications and variations are within the scope and spirit of the present invention as described in the claims. Moreover, the present invention described herein may have other embodiments and may be implemented or realized in a variety of ways.

Claims

1. A Voronoi diagram serial calculation method driven by point-cell relationship, characterized in that: The method comprises: Step 1: Get a set of seed points And the solution domain M consisting of m geometric bodies = And according to the seed point set Construct a neighbor search structure and initialize the cells of each seed point Step 2: For each geometric body τ in the solution domain, k ,k=1,…,m performs the first decomposition and diffusion decomposition in two stages; Step 3: k In the first decomposition phase, the nearest seed point of the first vertex is v i , and v i The Voronoi cell and τ k The intersection of k,i , τ k Set to t k,i The initial value of t is set according to the first preset clipping rule. k,i Cut until t k,i All vertices in the i In the Voronoi cell, t k,i Merge to seed point v i The cell result Ω i|M , that is, Ω i|M =Ω i|M ∪t k,i ; Step 4: k The diffusion decomposition stage, known as t k,i Other related to τ can be found according to the preset diffusion rules k The relevant seed point {v j }, and according to the preset intersection initialization rule, the second and third preset clipping rules, from τ k Cut out other seed points corresponding to Voronoi cells and τ k The intersection of {t k,j }, merged into the cell result of other seed points {Ω j|M }middle.

2. The Voronoi diagram calculation method driven by point-cell relationship according to claim 1, characterized in that: According to the seed point set The steps to build a neighbor search structure include: Step 11, set a group of grids, the size of which can be adjusted by the user according to the average number of seed points in the grid; Step 12: Place each seed point in the corresponding grid according to the coordinates. At this point, the neighbor search structure is established and will be used for subsequent nearest neighbor searches.

3. The Voronoi diagram calculation method driven by point-cell relationship according to claim 1, characterized in that: The first preset cropping rule is: Step 31: If t k,i There is an edge p in s p t , satisfying the starting point p s The nearest seed point is v i , end point p t The nearest seed point is v j , and v j ≠v i , then go to step 32; otherwise, the cutting rule ends; Step 32: On the side s p t Take a point q between them and set the edge qp s The length is where λ = ‖p s -v i ‖, the nearest seed point v of query point q q , if v q =v i , then let q be Direction translation λ distance, and re-query the nearest seed point v of point q q , until v q ≠v i , then v j Update to v q ; Step 33: Construct two seed points v i v j The median vertical plane B i,j , calculate B i,j With edge p s p t The intersection point e, query e's nearest seed point v e , determine whether the intersection point e is at the seed point v i The Voronoi cell; Step 34: If the intersection point e is at the seed point v i Outside the Voronoi cell, v j Update to e and re-enter step 33; Step 35: If the intersection point e is at the seed point v i In the Voronoi cell, use B i,j t k,i The result is still recorded as t k,i , repeat step 31.

4. The point-cell relationship driven Voronoi diagram parallel computing method according to claim 3, characterized in that: The determination of whether the intersection point e is at the seed point v i The steps within a Voronoi cell include: Step 331: record the nearest seed point of the intersection point e as v e ; Step 332: If v e =v i , or ‖ev i ‖ 2 -‖ev e ‖ 2 ≤β, then the intersection point e is determined to be at the seed point v i The Voronoi cell; Step 333: If v e ≠v i , or ‖ev i ‖ 2 -‖ev e ‖ 2 >β, then the intersection point e is determined to be at the seed point v i Outside the Voronoi cell.

5. The point-cell relationship driven Voronoi diagram parallel computing method according to claim 1, characterized in that: The preset diffusion rule is: Step 41, set the queue Q with an initial state of an empty set and the array A[1,…,n] with an initial value of 0; Step 42: Let F = t k,i The number of edges / faces of traversal sequence f is 1,…,F, if it is from B i,j If A[j] is trimmed and A[j] = 0, store the triple (j, i, f) in Q and update A[j] to 1; Step 43: Pop the head triplet (a, b, f) from the queue Q, and calculate the seed point v according to the preset intersection initialization rule and the second preset clipping rule. a The Voronoi cell and τ k The intersection of k,a ; Step 44: k,a Merge to seed point v a The cell Ω a|M , that is, Ω a|M =Ω a|M ∪t k,a ; Step 45: Let F = t k,a The number of edges / faces of traversal sequence f is 1,…,F, if it is from B a,j If A[j] is trimmed and A[j] = 0, store the triple (j, a, f) in Q and update A[j] to 1; Step 46, repeat steps 43-45 until the queue Q becomes an empty set, then the solution domain geometry τ is completed. k diffusion decomposition.

6. The point-cell relationship driven Voronoi diagram parallel computing method according to claim 5, characterized in that: The preset intersection initialization rule is: Step 431: Let t k,a =τ k ; Step 432: At this time, the seed point v b The Voronoi cell and τ k The intersection of k,b is known, take t k,b The edge / face P with sequence number f f , traverse P f Adjacent edges / faces, if P f The adjacent edges / faces of are given by the seed point v b v c The median vertical plane B b,c Cut from, then construct the seed point v a v c The median vertical plane B a,c t k,a The result is still recorded as t k,a ; Step 433: construct seed point v a v b The median vertical plane B a,b For the latest t k,a The result is still recorded as t k,a , the intersection initialization rule ends.

7. The point-cell relationship driven Voronoi diagram parallel computing method according to claim 5, characterized in that: The index number of the second preset clipping rule is a, and the index number of the third preset clipping rule is j.

8. A Voronoi diagram serial computing system driven by point-cell relationship, characterized in that: The system comprises: Initialization module, used to obtain a set of seed points and the solution domain consisting of m geometric bodies And according to the seed point set Construct a neighbor search structure and initialize the cells of each seed point The task allocation module is used to sequentially allocate each geometric body τ k ,k=1,…,m performs the first decomposition and diffusion decomposition in two stages; The first decomposition module is used to k In the first decomposition phase, the nearest seed point of the first vertex is v i , and v i The Voronoi cell and τ k The intersection of k,i , τ k Set to t k,i The initial value of t is set according to the first preset clipping rule. k,i Cut until t k,i All vertices in the i In the Voronoi cell, t k,i Merge to seed point v i The cell result Ω i|M , that is, Ω i|M =Ω i|M ∪t k,i ; Diffusion decomposition module, used to k The diffusion decomposition stage, known as t k,i Other related to τ can be found according to the preset diffusion rules k The relevant seed point {v j }, and according to the preset intersection initialization rule, the second and third preset clipping rules, from τ k Cut out other seed points corresponding to Voronoi cells and τ k The intersection of {t k,j }, merged into the cell result of other seed points {Ω j|M }middle.

9. A storage medium, characterized in that: The storage medium stores one or more programs, which, when executed by a processor, implement the point-cell relationship driven Voronoi diagram serial calculation method as described in any one of claims 1 to 7.

10. A computer device comprising a memory and a processor, wherein: The memory is used to store computer programs; When the processor is used to execute the computer program stored in the memory, it implements the point-cell relationship driven Voronoi diagram serial calculation method as described in any one of claims 1-7.