CN107633555B - Curved surface set mutual cutting method and system based on space scanning - Google Patents

Curved surface set mutual cutting method and system based on space scanning Download PDF

Info

Publication number
CN107633555B
CN107633555B CN201710835245.XA CN201710835245A CN107633555B CN 107633555 B CN107633555 B CN 107633555B CN 201710835245 A CN201710835245 A CN 201710835245A CN 107633555 B CN107633555 B CN 107633555B
Authority
CN
China
Prior art keywords
triangle
vertex
scanning
curved surface
result
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.)
Expired - Fee Related
Application number
CN201710835245.XA
Other languages
Chinese (zh)
Other versions
CN107633555A (en
Inventor
胡茂胜
万波
周顺平
叶亚琴
左泽均
李圣文
杨林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China University of Geosciences
Original Assignee
China University of Geosciences
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China University of Geosciences filed Critical China University of Geosciences
Priority to CN201710835245.XA priority Critical patent/CN107633555B/en
Publication of CN107633555A publication Critical patent/CN107633555A/en
Application granted granted Critical
Publication of CN107633555B publication Critical patent/CN107633555B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

the invention discloses a curved surface set mutual cutting realization method and a system based on space scanning, the method and the system provide a technology for efficiently processing a large number of curved surfaces to be mutually cut for a user, can finish a plurality of links such as triangle intersection detection, memory scheduling, re-triangularization, result curved surface sheet generation and the like in a single scanning process, and can overcome the inconsistent problems of multi-curved surface common point, collineation, coplanarity, self-intersection and the like in two-by-two cutting calculation; the data volume involved in calculation is reduced and the calculation scale is reduced by various methods such as stream loading, maintenance of a triangle intersected with a scanning plane, early generation of a stored curved surface sheet, release of an occupied memory of the curved surface sheet and the like; in the cutting process, the calculation of each step does not depend on the completion of all data processing of the previous step any more, and each step can be completed in parallel, so that the method is particularly suitable for a high-performance computing environment.

Description

Curved surface set mutual cutting method and system based on space scanning
Technical Field
the invention relates to a three-dimensional curved surface cutting technology, in particular to a curved surface set mutual cutting implementation method and system based on space scanning.
background
with the development of mapping technology and three-dimensional modeling technology, people gradually construct various complex and fine three-dimensional ground object models conditionally. The construction of the three-dimensional ground object models usually involves cutting a large number of three-dimensional curved surfaces, removing redundant parts and kneading different surfaces into a whole. The idea of generally finishing the mutual cutting of three-dimensional curved surfaces is as follows: and constructing a separate index for each curved surface, performing intersection calculation pairwise, accelerating triangle collision detection through the index in the calculation process, and tracking an intersection line from a certain detected intersection position to complete cutting calculation. However, the above method has several problems:
(1) cutting calculation is carried out pairwise, and inconsistency is easy to generate under the condition that a plurality of curved surfaces pass through and intersect at the same point in space;
(2) If a certain triangular patch is intersected with a plurality of curved surfaces, the triangular patch can be re-triangulated for a plurality of times through multi-wheel pairwise cutting, and the triangularization process is influenced by the cutting sequence, so that a non-global optimal solution can be generated;
(3) only the triangular patches from different curved surfaces are subjected to intersection judgment, and the self-intersection phenomenon existing in the same curved surface is difficult to find;
(4) n three-dimensional curved surfaces need to be subjected to N x (N-1)/2 pairwise cutting calculation, and the calculation scale is possibly very large;
(5) as a result, the generation of the patches needs to be completed at the end of the intersection process, and at this time, it can be guaranteed that all the intersected triangles are processed completely, and when the data volume of a single curved surface is large, a large amount of memory is consumed;
(6) although pairwise cutting calculation among a large number of curved surfaces can be used as a basic operation unit to support parallel calculation, a curved surface data structure needs to support parallel operation, when the same curved surface is subjected to parallel cutting processing, consistency relation in a cutting process needs to be coordinated, but each parallel unit corresponds to a complete cutting process, and consistency maintenance is quite difficult.
disclosure of Invention
The technical problem to be solved by the present invention is to provide a method and a system for implementing mutual cutting of curved surface sets based on spatial scanning, in particular to a method and a system for implementing mutual cutting of three-dimensional curved surfaces suitable for a large number of scattered placement, aiming at the technical defects of (1) to (6).
according to one aspect of the present invention, to solve the technical problem, the present invention provides a method for mutually cutting a curved surface set based on spatial scanning, comprising the following steps:
dynamically loading a memory to the curved surface sets participating in cutting in sequence;
establishing a two-dimensional dynamic space index to maintain the triangle information intersected with the scanning plane at present;
establishing an upper V-shaped vertex in the scanning forward direction in the boundary of the priority queue management curved surface;
Processing the updating and adjustment of the spatial index structure caused by scanning the upper V-shaped vertex;
Processing the update and adjustment of the spatial index structure caused by scanning the middle vertex of the triangle;
processing the update and adjustment of the spatial index structure caused by scanning the end vertex of the triangle;
processing and scanning to complete triangle re-triangularization;
Generating, growing, branching, merging and finishing the processing result curved surface sheet;
the upper V-shaped vertex is a boundary vertex satisfying the following conditions on the boundary of the curved surface: the spatial ordering of two adjacent vertexes of the boundary vertex is larger than that of the boundary vertex, and the spatial ordering of any point in any triangle connecting the boundary vertices is larger than that of the boundary vertex; the spatial ordering is embodied by the order in the priority queue, the order in the priority queue is designed according to the order from the dimension of the scanning forward direction to any other dimension, and the spatial ordering is the spatial coordinate dictionary ordering for the points.
in the method for mutually cutting the curved surface sets, the dynamic memory loading of the curved surface sets in sequence is carried out in the following way:
the space occupied by the curved surfaces participating in calculation is respectively calculated in each dimension, the curved surfaces are sorted according to the dimension with the largest extension, the curved surfaces are scheduled to the memory only when the space scanning plane and a certain curved surface start to intersect, the sorting sequence is exactly the intersecting sequence of the scanning space plane and each curved surface, and therefore each curved surface can be loaded in the scanning process according to the sorting sequence.
in the method for mutually cutting the curved surface set, the two-dimensional dynamic space index structure for maintaining the triangle information intersected with the scanning plane at present is any one of an R tree space index, an R + tree space index, an R x tree space index and a quadtree space index.
in the method for mutually cutting the curved surface set, the triangle information maintained in the two-dimensional dynamic space index comprises the following steps: the source surface of the triangle, the adjacent triangles corresponding to the sides that do not intersect the scan plane, the adjacent triangles in the spatial index, the set of adjacent triangles corresponding to the sides that have completely passed the scan plane, the set of detected intersecting lines within the triangle.
in the curved surface set mutual cutting method of the present invention, only when the scanning plane first comes into contact with the curved surface, the upper V-shaped vertex in the boundary of the curved surface in the scanning advance direction is calculated.
in the method for mutually cutting the curved surface set, the updating and the adjustment of the spatial index structure caused by scanning the upper V-shaped vertex are processed, and the method specifically comprises the following steps:
obtaining all triangles including the upper V-shaped vertex according to the curved surface and the topological situation associated with the upper V-shaped vertex, setting a source curved surface for each triangle, setting a first type of adjacent triangle as a triangle which is not opposite to the side intersected with the scanning plane, setting a second type of adjacent triangle as a triangle which is in the spatial index and shares the boundary with the triangle, setting a third type of adjacent triangle as a triangle which is opposite to the side completely passing through the scanning plane, and setting a detected intersection line set in the triangle as a result of calculating the intersection line between each triangle and the triangle in the spatial index;
Filtering irrelevant triangles through the spatial index in the process of calculating the intersection line by the triangles;
the process of calculating the intersection line by the triangle specifically comprises the following steps: by converting a triangle into a parametric equation, analyzing solutions which simultaneously satisfy two triangular parametric equations and the boundary thereof to obtain the conditions of intersecting at a point 1, intersecting at a line segment 1, intersecting at a triangular patch, intersecting at a quadrilateral patch, intersecting at a pentagonal patch and intersecting at a hexagonal patch … …;
a plurality of common curved sheets with overlapped curved surfaces are used as a result curved sheet;
the calculation of the intersection line also updates the triangle information already in the spatial index structure, as long as the triangles intersect with the new triangle to be added.
in the method for mutually cutting the curved surface set, the updating and the adjustment of the spatial index structure caused by scanning the middle vertex of a certain triangle are processed, and the method can be detailed as follows:
the unprocessed triangles including the middle vertex of the certain triangle are processed in the same way as the upper V-shaped vertex, and the unprocessed triangles are added into the spatial index structure;
the construction of the adjacency relation between triangles in the triangle information updating process also needs to consider the processed triangle containing the vertex: and updating the triangle information of the scanned edge with the middle vertex of the certain triangle as the end point, and adding the adjacent triangle into the adjacent triangle set corresponding to the scanned edge.
in the method for mutually cutting a curved surface set of the present invention, the processing of updating and adjusting the spatial index structure caused by scanning the end vertex of a certain triangle may be further refined as follows:
removing the scanned triangles to form a spatial index structure;
triangles that are adjacent to these removed triangles and in the spatial index update the adjacent triangle information corresponding to their completed scan edges;
in the method for mutually cutting the curved surface set, the re-triangularization of the triangle after the processing and scanning is carried out in the following way:
the intersection lines and the triangle boundaries recorded in the triangle information are used as constraints to carry out triangle constraint;
And if a certain adjacent triangle of the original triangle which is completely scanned is still in the spatial index, updating the new triangle which is constructed by triangularization into the adjacent triangle set corresponding to the edge which is completely scanned by the adjacent triangles.
in the method for mutually cutting the curved surface sets, the generation, growth, branching, merging and ending of the curved surface pieces of the processing result can be subdivided into the following steps:
as a result, a curved patch is produced: if the newly generated triangle is not topologically adjacent to the scanned triangle and the triangle after re-triangularization, marking the generation of a new curved surface slice;
as a result, the surface patch grows: for the original triangle which is finished scanning, if the adjacent triangle is also finished scanning, adding vertex sets of result curved sheet into all connected vertexes which are finished scanning from the common vertex of the adjacent triangle, and adding triangle sets of the result curved sheet into all triangles formed by the vertexes;
the resulting curved sheet branches: if the result curved sheet is broken into a plurality of disconnected parts along the scanning plane at the growth boundary, branches need to be processed, and the divided disconnected parts are connected in series through a linked list; each disconnected portion may be referred to as a growth point;
the resulting patches were merged: each growing result curved surface independently maintains the vertex set and the triangle set, if two or three result curved surfaces form a communicated whole because a certain triangle is scanned, the vertex sets and the triangle sets of the two or three result curved surfaces need to be merged, and the vertex indexes in the triangle sets are updated;
as a result, the surface patch ends: if the adjacent triangles of a certain scanned triangle are also scanned and no other differentiated growing points exist, the processing of the result surface patch is finished, and a complete result surface patch is generated and is finally generated by the algorithm; in order to improve the utilization rate of the memory, the newly generated result surface patch can be directly stored in the external memory or a database, and the memory occupied by the surface patch is released at the same time.
according to another aspect of the present invention, to solve the technical problem, there is provided a curved surface set mutual cutting system based on spatial scanning, including:
the dynamic memory loading unit is used for dynamically loading the memory to the curved surface sets participating in cutting in sequence;
The spatial index establishing unit is used for establishing a two-dimensional dynamic spatial index to maintain triangle information intersected with a scanning plane at present;
the priority queue establishing unit is used for establishing an upper V-shaped vertex in the scanning advancing direction in the boundary of the priority queue management curved surface;
the upper V-shaped vertex processing unit is used for processing the updating and the adjustment of the spatial index structure caused by scanning the upper V-shaped vertex;
the middle vertex processing unit is used for processing the updating and the adjustment of the spatial index structure caused by scanning the middle vertex of the triangle;
the end vertex processing unit is used for processing the updating and the adjustment of the spatial index structure caused by scanning the end vertex of the triangle;
The re-triangularization processing unit is used for processing and scanning the re-triangularization of the triangle;
the curved surface piece processing unit is used for processing the generation, growth, branching, merging and ending of the result curved surface piece;
The upper V-shaped vertex is a boundary vertex satisfying the following conditions on the boundary of the curved surface: the spatial ordering of two adjacent vertexes of the boundary vertex is larger than that of the boundary vertex, and the spatial ordering of any point in any triangle connecting the boundary vertices is larger than that of the boundary vertex; the spatial ordering is embodied by the order in the priority queue, the order in the priority queue is designed according to the order from the dimension of the scanning forward direction to any other dimension, and the spatial ordering is the spatial coordinate dictionary ordering for the points.
the implementation of the method and the system for realizing the mutual cutting of the curved surface sets based on the space scanning has the following beneficial effects: the invention provides a technology for efficiently processing mutual cutting of a large number of curved surfaces for a user, can finish multiple links such as triangle intersection detection, memory scheduling, re-triangularization, result curved surface sheet generation and the like in a single scanning process, and can overcome the inconsistency problems of multi-curved surface common-point, collineation, coplanarity, self-intersection and the like in pairwise cutting calculation; the data volume related to calculation is reduced by various methods such as stream loading, maintenance of a triangle intersected with a scanning plane, early generation of a stored curved surface sheet, release of an occupied memory (storage and release while scanning), and the like, and the calculation scale is reduced; in the cutting process, the calculation of each step does not depend on the completion of all data processing of the previous step any more, and each step can be completed in parallel, so that the method is particularly suitable for a high-performance computing environment.
drawings
the invention will be further described with reference to the accompanying drawings and examples, in which:
FIG. 1 is a schematic block diagram of a curved surface set mutual cutting system based on a spatial scanning method according to the present invention;
FIG. 2 is a schematic view of a curved surface in the present invention;
fig. 3 is a flow chart of the curved surface current collection mutual cutting method based on the space scanning method.
Detailed Description
for a more clear understanding of the technical features, objects and effects of the present invention, embodiments of the present invention will now be described in detail with reference to the accompanying drawings.
As shown in fig. 1, the system for mutually cutting a curved surface set based on a spatial scanning method of the present invention includes a curved surface loader 101, an upper V-shaped vertex priority queue 102, a spatial index 103, a curved surface patch growth chain table 104, and a result generator 105, wherein:
The surface loader 101 is configured to receive a surface data set from another surface modeling module or existing in the read external memory, and assume that the y-axis direction is the spatial scanning direction and is also the main sequence in the spatial sorting, the x-axis is the 1 st secondary sequence in the spatial sorting, and the z-axis is the 2 nd secondary sequence in the spatial sorting. The spatial sorting is used for linearly sorting the spatial points according to a main sequence, a 1 st secondary sequence and a 2 nd secondary sequence, sorting the spatial points according to the main sequence if the primary sequence dimensions are different in coordinate, and sorting the spatial points according to the 1 st secondary sequence if the primary sequence coordinates are completely the same; if the coordinates on the 1 st order are also the same, sorting according to the 2 nd order; the same coordinate point is the same if the 2 nd order is also the same.
in order to avoid the equality judgment of floating point numbers in the space ordering, the data processing precision epsilon, namely the minimum step length in the space scanning process needs to be specified, the space is divided into a three-dimensional grid formed by small cubes according to the scanning step length, three-dimensional points falling into the same small cube are considered to have the same coordinate value, and the three-dimensional points in all the small cubes in the grid surface perpendicular to the main sequence have the same main sequence coordinate.
the curved surface loader 101 performs spatial sorting on minimum points which are concentrated in each curved surface vertex of the loaded curved surface data set and are sorted according to the space, and a curved surface scheduling sequence list L is obtained; if the input is the result data of the curved surface modeling module or the random reading of the curved surface from the external memory is not supported, the curved surface data set is cached in the external memory; the curved surface loader 101 schedules the curved surfaces according to the intersecting sequence of the curved surfaces and the spatial scanning plane, and the sequence is consistent with the curved surface sequence in the curved surface scheduling sequence table L, so that whether the next curved surface needs to be loaded can be determined by judging the position relationship between the first curved surface in the curved surface scheduling sequence table L and the scanning plane.
the surface loader 101 needs to compute a boundary for each surface just loaded and output a list of upper V-vertices therein, the boundaries of the primary surfaces including an inner boundary and an outer boundary. Assuming that the function ord (V) obtains a spatial ordering of the vertices V, the upper V vertex satisfies:
ord (V) < Ord (Vprev) and Ord (V) < Ord (V)next) And Ord (V) < Ord (P)any)
VprevV is the previous point on the boundary of the curved surface, VnextFor the latter point, the continuous vertexes with the same rank number on the curved surface boundary should be merged into 1; panyIs any point in a triangle with V as the vertex.
with respect to the meaning of the upper V vertex, please refer to FIG. 2, in which the curved surface is composed of triangles, and any two adjacent triangles have a common side; any one vertex belongs to 1 to a plurality of triangles. The upper V-shaped vertex is shown as the leftmost vertex 6 in the figure, when the scanning surface S scans the position of the vertex 6, all triangles associated with the vertex are at the right side of S, other vertices do not have the property, and the boundary vertex with the property is the upper V-shaped vertex.
An upper V-type vertex priority queue 102, configured to receive upper V-type vertices output by the surface loader 101, where the upper V-type vertices are still sorted from small to large according to a spatial sorting order defined in the surface loader 101, a head of the queue is an upper V-type vertex with the smallest spatial sorting, and a tail of the queue is an upper V-type vertex with the largest spatial sorting, and a standard priority queue may be selected and a sorting function may be redefined; the order of the elements in the upper V-vertex priority queue 102 reflects the order of the spatial scan, and the upper V-vertices in the new surface loaded by the scanning process are dynamically added to the proper positions in the queue.
the spatial index 103 is used for receiving the triangles associated with the head-of-line elements (upper V-vertices) of the upper V-vertex priority queue 102, and maintaining and assisting in finding all the triangles intersected with the current scanning plane. Each index entry in spatial index 103 includes: the triangle source curved surface M, the minimum enclosing rectangle R projected by the triangle on the scanning plane, the triangle JComing adjacent to the side of the triangle which does not reach the scanning plane, the triangles JOne and JTwo adjacent to the side which intersects the scanning plane, the triangle set JPass adjacent to the side which passes the scanning plane, and the intersection set Sinter detected in the triangle.
In the embodiment, the spatial index 103 is realized on the basis of a grid index, and the grid size is 2 times of the longest edge of the bounding box in the average triangular direction; each mesh maintains a list of triangles that intersect the mesh, with the same index entry information being shared across multiple meshes.
the construction of the intersection set Sinter is divided into two parts: when one part is that the triangle is added into the spatial index 103, the triangle is obtained by inquiring other triangles intersected with the triangle and calculating intersecting lines; the other part is the intersection line updated by the intersection with the triangle when the subsequent triangle is added to the spatial index 103. The previously obtained intersection is also updated into the intersection set Sinter of the intersecting triangles.
Each node of the curved surface piece growth linked list 104 represents a curved surface piece growth point and is used for receiving a triangle which is just scanned in the spatial index 103, completing the linkage with the linked list related elements through a JPass set of the triangle and showing the growth of a newly constructed curved surface piece; tracing the triangles adjacent to the other two sides of the triangle through the JOne and JTwo information in the triangle, and updating the JPass and one of the JOne and JTwo; if the adjacent triangles are also scanned, they may be merged and added to the patch growth chain 104.
if the triangle associated with the triangle JOne and JTwo which are newly added into the curved patch growth linked list 104 is still in the spatial index 103, adding two nodes into the curved patch growth linked list 104, wherein one node replaces a JPass node, and respectively describes the growth points corresponding to two edges, which is expressed as a branch of the linked list 104; if the JOne and the JTwo are not associated with any triangle, the node originally describing the JPass needs to be removed from the linked list 104, and the link list is merged; if the node of a certain curved surface patch growth linked list 104 is empty, the processing of the curved surface patch is finished, and all the nodes which form the triangle are traced back through the last deleted node and are used as the output of the curved surface patch growth linked list 104.
A result generator 105, receiving the set of triangles output by the curved patch growing linked list 104, and forming a data organization model suitable for storage (vertex set, triangle set), wherein each triangle in the triangle set is described by the index number of the vertex in the vertex set; the result generator 105 is also responsible for calling back the yield function for further processing or data saving.
the curved surface set mutual cutting implementation system based on space scanning is characterized in that all the components are connected in series, the output of the former component is the input of the latter component, and each component can generate output while receiving new input without waiting for all data input to be finished, so that each component can work in parallel.
as shown in fig. 3, the curved surface current-collecting mutual cutting method based on the spatial scanning method of the present invention includes the following steps:
Step 201: calculating concentrated spatial sorting minimum points of the vertexes of the curved surfaces; this step is accomplished by the surface loader 101.
Step 202: carrying out spatial sequencing on the minimal point set in the previous step; this step is accomplished by the surface loader 101.
Step 203: the scanning plane moves forwards and moves to a plane determined by a small spatial ordering point in the head element of the curved surface scheduling sequence table L and the head element of the upper V-shaped vertex priority queue 102; this step is done by the master control program.
Step 204: judging whether a scanning plane sweeps through the first element of the curved surface scheduling sequence table L;
Step 205: loading the curved surface corresponding to the first element L, calculating all upper V-shaped vertexes of the curved surface, and inserting the curved surface into the priority queue 102; this step is accomplished by the surface loader 101.
step 206: judging whether the head element of the priority queue 102 is an upper V-shaped vertex;
Step 207: processing an upper V-shaped vertex corresponding to a head element of the priority queue 102, and adding all triangles including the vertex into a spatial index 103; this step is done by the master function.
step 208: judging whether the queue head element of the priority queue 102 is also the middle vertex of some triangles;
Step 209: processing a triangle with a vertex corresponding to a head element of the priority queue 102 as a middle vertex, and establishing an adjacent topological relation between triangles sharing the side on the side which just finishes scanning;
Step 210: judging whether the queue head element of the priority queue 102 is also the end vertex of some triangles; if not, the unprocessed triangles are determined to be left, and the scanning is necessarily continued;
step 211: processing a triangle taking a vertex corresponding to a head element of the priority queue 102 as an end vertex, and establishing an adjacent topological relation between two edges which just finish scanning and share the edge triangle;
Step 212: re-triangularizing a triangle that passes completely through the scan plane, where the triangle already contains intersections between other triangles that intersect the triangle; the intersection lines and the original edges are used as constraints to carry out constraint triangularization;
step 213: maintaining topological adjacency relations among triangles after re-triangularization, wherein the establishment of the relations is represented by the generation of patches (scanning vertexes without association triangles in the opposite direction), the growth (fully surrounding vertexes), the branching (scanning vertexes with defects in the direction), the merging (scanning vertexes with defects in the opposite direction) and the ending (scanning vertexes without association triangles in the direction); this step is accomplished by the patch growth chain 104.
Step 214: processing the intersection relationship between all the triangles newly added to the spatial index 101 and other triangles already in the spatial index 101; the newly generated triangle comprises a part introduced by an upper V-shaped vertex, a part introduced by a middle vertex and a part introduced by an end vertex through a topological relation; this step is accomplished by the master function using the spatial index 103.
step 215: generating a result curved surface, and converting the completely closed curved surface in the curved surface growth chain table 104 into a complete curved surface representation form; this step is done by the result generator 105.
while the present invention has been described with reference to the embodiments shown in the drawings, the present invention is not limited to the embodiments, which are illustrative and not restrictive, and it will be apparent to those skilled in the art that various changes and modifications can be made therein without departing from the spirit and scope of the invention as defined in the appended claims.

Claims (5)

1. a curved surface set mutual cutting method based on space scanning is characterized by comprising the following steps:
dynamically loading a memory to the curved surface sets participating in cutting in sequence;
establishing a two-dimensional dynamic space index to maintain the triangle information intersected with the scanning plane at present;
Establishing an upper V-shaped vertex in the scanning forward direction in the boundary of the priority queue management curved surface;
processing the updating and adjustment of the spatial index structure caused by scanning the upper V-shaped vertex;
processing the update and adjustment of the spatial index structure caused by scanning the middle vertex of the triangle;
processing the update and adjustment of the spatial index structure caused by scanning the end vertex of the triangle;
Processing and scanning to complete triangle re-triangularization;
generating, growing, branching, merging and finishing the processing result curved surface sheet;
the upper V-shaped vertex is a boundary vertex satisfying the following conditions on the boundary of the curved surface: the spatial ordering of two adjacent vertexes of the boundary vertex is larger than that of the boundary vertex, and the spatial ordering of any point in any triangle connecting the boundary vertices is larger than that of the boundary vertex; the spatial ordering is embodied by the order in the priority queue, the order in the priority queue is designed according to the order from the dimension of the scanning forward direction to any other dimension, and the spatial ordering is the spatial coordinate dictionary ordering aiming at the point;
triangle information maintained in a two-dimensional dynamic spatial index includes: a source curved surface of the triangle, an adjacent triangle corresponding to a side not intersecting the scan plane, an adjacent triangle in the spatial index, an adjacent triangle set corresponding to a side that has completely passed through the scan plane, and an intersection set detected within the triangle;
processing the update and adjustment of the spatial index structure caused by scanning the upper V-shaped vertex, specifically comprising:
Obtaining all triangles including the upper V-shaped vertex according to the curved surface and the topological situation associated with the upper V-shaped vertex, setting a source curved surface for each triangle, setting a first type of adjacent triangle as a triangle which is not opposite to the side intersected with the scanning plane, setting a second type of adjacent triangle as a triangle which is in the spatial index and shares the boundary with the triangle, setting a third type of adjacent triangle as a triangle which is opposite to the side completely passing through the scanning plane, and setting a detected intersection line set in the triangle as a result of calculating the intersection line between each triangle and the triangle in the spatial index;
Filtering irrelevant triangles through the spatial index in the process of calculating the intersection line by the triangles;
the process of calculating the intersection line by the triangle specifically comprises the following steps: by converting a triangle into a parametric equation, analyzing the solution which simultaneously satisfies two triangular parametric equations and the boundary thereof to obtain the conditions of intersecting at a point 1, intersecting at a line segment 1, intersecting at a triangular patch, intersecting at a quadrilateral patch, intersecting at a pentagonal patch and intersecting at a hexagonal patch;
A plurality of common curved sheets with overlapped curved surfaces are used as a result curved sheet;
the calculation of the intersection lines can update the triangle information in the spatial index structure at the same time, as long as the triangles are intersected with the new triangle to be added;
the processing of the update and adjustment of the spatial index structure caused by scanning the middle vertex of a certain triangle specifically includes:
The unprocessed triangles including the middle vertex of the certain triangle are processed in the same way as the upper V-shaped vertex, and the unprocessed triangles are added into the spatial index structure;
construction of the adjacency relationships between triangles in the triangle information update process also requires consideration of the processed triangles containing the vertices: updating the triangle information of the scanned edge with the middle vertex of the certain triangle as the end point, and adding the adjacent triangle into the adjacent triangle set corresponding to the scanned edge;
Processing the update and adjustment of the spatial index structure caused by scanning the end vertex of a certain triangle, specifically comprising:
Removing the scanned triangles to form a spatial index structure;
triangles that are adjacent to these removed triangles and in the spatial index update the adjacent triangle information corresponding to their completed scan edges;
the generation, growth, branching, merging and termination of the processing result curved surface sheet specifically comprises the following steps:
As a result, a curved patch is produced: if the newly generated triangle is not topologically adjacent to the scanned triangle and the triangle after re-triangularization, marking the generation of a new curved surface slice;
As a result, the surface patch grows: for the original triangle which is finished scanning, if the adjacent triangle is also finished scanning, adding vertex sets of result curved sheet into all connected vertexes which are finished scanning from the common vertex of the adjacent triangle, and adding triangle sets of the result curved sheet into all triangles formed by the vertexes;
the resulting curved sheet branches: if the result curved sheet is broken into a plurality of disconnected parts along the scanning plane at the growth boundary, branches need to be processed, and the divided disconnected parts are connected in series through a linked list; each disconnected portion may be referred to as a growth point;
the resulting patches were merged: each growing result curved surface independently maintains the vertex set and the triangle set, if two or three result curved surfaces form a communicated whole because a certain triangle is scanned, the vertex sets and the triangle sets of the two or three result curved surfaces need to be merged, and the vertex indexes in the triangle sets are updated;
As a result, the surface patch ends: if the adjacent triangles of a certain scanned triangle are also scanned and no other differentiated growing points exist, the processing of the result surface patch is finished to generate a complete result surface patch, the newly generated result surface patch can be directly stored in an external memory or a database, and the memory occupied by the result surface patch is released.
2. The method for mutually cutting the curved surface sets according to claim 1, wherein the dynamic memory loading of the curved surface sets in sequence is performed by:
and respectively calculating the space occupied by the curved surfaces participating in calculation in each dimension, sequencing according to the dimension with the largest extension, scheduling the curved surfaces to a memory only when a space scanning plane and a certain curved surface start to intersect, and sequentially loading the curved surfaces according to the sequencing in the scanning process.
3. The method for mutually slicing surface sets according to claim 1, wherein the two-dimensional dynamic spatial index structure for maintaining the triangle information currently intersecting the scan plane is any one of an R tree spatial index, an R + tree spatial index, an R tree spatial index, and a quadtree spatial index.
4. the curved-surface-set mutual cutting method as claimed in claim 1, wherein the re-triangularization of the processing scan-completed triangle is performed by:
The intersection lines and the triangle boundaries recorded in the triangle information are used as constraints to carry out triangle constraint;
and if a certain adjacent triangle of the original triangle which is completely scanned is still in the spatial index, updating the new triangle which is constructed by triangularization into the adjacent triangle set corresponding to the edge which is completely scanned by the adjacent triangles.
5. a curved surface set mutual cutting system based on space scanning is characterized by comprising:
The dynamic memory loading unit is used for dynamically loading the memory to the curved surface sets participating in cutting in sequence;
The spatial index establishing unit is used for establishing a two-dimensional dynamic spatial index to maintain triangle information intersected with a scanning plane at present;
the priority queue establishing unit is used for establishing an upper V-shaped vertex in the scanning advancing direction in the boundary of the priority queue management curved surface;
the upper V-shaped vertex processing unit is used for processing the updating and the adjustment of the spatial index structure caused by scanning the upper V-shaped vertex;
the middle vertex processing unit is used for processing the updating and the adjustment of the spatial index structure caused by scanning the middle vertex of the triangle;
The end vertex processing unit is used for processing the updating and the adjustment of the spatial index structure caused by scanning the end vertex of the triangle;
The re-triangularization processing unit is used for processing and scanning the re-triangularization of the triangle;
the curved surface piece processing unit is used for processing the generation, growth, branching, merging and ending of the result curved surface piece;
the upper V-shaped vertex is a boundary vertex satisfying the following conditions on the boundary of the curved surface: the spatial ordering of two adjacent vertexes of the boundary vertex is larger than that of the boundary vertex, and the spatial ordering of any point in any triangle connecting the boundary vertices is larger than that of the boundary vertex; the spatial ordering is embodied by the order in the priority queue, the order in the priority queue is designed according to the order from the dimension of the scanning forward direction to any other dimension, and the spatial ordering is the spatial coordinate dictionary ordering aiming at the point;
triangle information maintained in a two-dimensional dynamic spatial index includes: a source curved surface of the triangle, an adjacent triangle corresponding to a side not intersecting the scan plane, an adjacent triangle in the spatial index, an adjacent triangle set corresponding to a side that has completely passed through the scan plane, and an intersection set detected within the triangle;
Processing the update and adjustment of the spatial index structure caused by scanning the upper V-shaped vertex, specifically comprising:
Obtaining all triangles including the upper V-shaped vertex according to the curved surface and the topological situation associated with the upper V-shaped vertex, setting a source curved surface for each triangle, setting a first type of adjacent triangle as a triangle which is not opposite to the side intersected with the scanning plane, setting a second type of adjacent triangle as a triangle which is in the spatial index and shares the boundary with the triangle, setting a third type of adjacent triangle as a triangle which is opposite to the side completely passing through the scanning plane, and setting a detected intersection line set in the triangle as a result of calculating the intersection line between each triangle and the triangle in the spatial index;
filtering irrelevant triangles through the spatial index in the process of calculating the intersection line by the triangles;
the process of calculating the intersection line by the triangle specifically comprises the following steps: by converting a triangle into a parametric equation, analyzing the solution which simultaneously satisfies two triangular parametric equations and the boundary thereof to obtain the conditions of intersecting at a point 1, intersecting at a line segment 1, intersecting at a triangular patch, intersecting at a quadrilateral patch, intersecting at a pentagonal patch and intersecting at a hexagonal patch;
a plurality of common curved sheets with overlapped curved surfaces are used as a result curved sheet;
the calculation of the intersection lines can update the triangle information in the spatial index structure at the same time, as long as the triangles are intersected with the new triangle to be added;
the processing of the update and adjustment of the spatial index structure caused by scanning the middle vertex of a certain triangle specifically includes:
the unprocessed triangles including the middle vertex of the certain triangle are processed in the same way as the upper V-shaped vertex, and the unprocessed triangles are added into the spatial index structure;
construction of the adjacency relationships between triangles in the triangle information update process also requires consideration of the processed triangles containing the vertices: updating the triangle information of the scanned edge with the middle vertex of the certain triangle as the end point, and adding the adjacent triangle into the adjacent triangle set corresponding to the scanned edge;
processing the update and adjustment of the spatial index structure caused by scanning the end vertex of a certain triangle, specifically comprising:
removing the scanned triangles to form a spatial index structure;
Triangles that are adjacent to these removed triangles and in the spatial index update the adjacent triangle information corresponding to their completed scan edges;
The generation, growth, branching, merging and termination of the processing result curved surface sheet specifically comprises the following steps:
As a result, a curved patch is produced: if the newly generated triangle is not topologically adjacent to the scanned triangle and the triangle after re-triangularization, marking the generation of a new curved surface slice;
as a result, the surface patch grows: for the original triangle which is finished scanning, if the adjacent triangle is also finished scanning, adding vertex sets of result curved sheet into all connected vertexes which are finished scanning from the common vertex of the adjacent triangle, and adding triangle sets of the result curved sheet into all triangles formed by the vertexes;
the resulting curved sheet branches: if the result curved sheet is broken into a plurality of disconnected parts along the scanning plane at the growth boundary, branches need to be processed, and the divided disconnected parts are connected in series through a linked list; each disconnected portion may be referred to as a growth point;
The resulting patches were merged: each growing result curved surface independently maintains the vertex set and the triangle set, if two or three result curved surfaces form a communicated whole because a certain triangle is scanned, the vertex sets and the triangle sets of the two or three result curved surfaces need to be merged, and the vertex indexes in the triangle sets are updated;
as a result, the surface patch ends: if the adjacent triangles of a certain scanned triangle are also scanned and no other differentiated growing points exist, the processing of the result surface patch is finished to generate a complete result surface patch, the newly generated result surface patch can be directly stored in an external memory or a database, and the memory occupied by the result surface patch is released.
CN201710835245.XA 2017-09-15 2017-09-15 Curved surface set mutual cutting method and system based on space scanning Expired - Fee Related CN107633555B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710835245.XA CN107633555B (en) 2017-09-15 2017-09-15 Curved surface set mutual cutting method and system based on space scanning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710835245.XA CN107633555B (en) 2017-09-15 2017-09-15 Curved surface set mutual cutting method and system based on space scanning

Publications (2)

Publication Number Publication Date
CN107633555A CN107633555A (en) 2018-01-26
CN107633555B true CN107633555B (en) 2019-12-17

Family

ID=61102403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710835245.XA Expired - Fee Related CN107633555B (en) 2017-09-15 2017-09-15 Curved surface set mutual cutting method and system based on space scanning

Country Status (1)

Country Link
CN (1) CN107633555B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113642062B (en) * 2021-10-18 2022-03-15 广州中望龙腾软件股份有限公司 Topological geometric data representation method of three-dimensional model, terminal and storage medium
CN117656272A (en) * 2021-11-01 2024-03-08 青岛高测科技股份有限公司 Cutting device of silicon rod cutting system and silicon rod cutting system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1967596A (en) * 2006-08-14 2007-05-23 东南大学 Construction method of triangulation of 3D scattered point set in 3D scan system
CN101807308A (en) * 2009-02-12 2010-08-18 富士通株式会社 Three-dimensional model segmenting device and method
CN102930597A (en) * 2012-09-28 2013-02-13 中国科学院自动化研究所 Processing method for three-dimensional model of external memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1967596A (en) * 2006-08-14 2007-05-23 东南大学 Construction method of triangulation of 3D scattered point set in 3D scan system
CN101807308A (en) * 2009-02-12 2010-08-18 富士通株式会社 Three-dimensional model segmenting device and method
CN102930597A (en) * 2012-09-28 2013-02-13 中国科学院自动化研究所 Processing method for three-dimensional model of external memory

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
快速成型中粗糙STL模型细分算法;张争艳等;《机械工程学报》;20160405;第52卷(第7期);第178页至186页 *
顾及几何特征的规则激光点云分割方法;方军等;《测绘通报》;20160825;第47页至52页 *

Also Published As

Publication number Publication date
CN107633555A (en) 2018-01-26

Similar Documents

Publication Publication Date Title
CN113178014B (en) Scene model rendering method and device, electronic equipment and storage medium
CN100468418C (en) Method and program for generating volume data from boundary representation data
CN103761397B (en) Three-dimensional model slice for surface exposure additive forming and projection plane generating method
CN102298795B (en) Three-dimensional segmenting method for STL (Standard Template Library) triangular network model
CN110033519B (en) Three-dimensional modeling method, device and system based on implicit function and storage medium
CN106373184B (en) A kind of 3 D-printing model puts required amount of support Method of fast estimating
CN105205866A (en) Dense-point-cloud-based rapid construction method of urban three-dimensional model
CN112633657B (en) Construction quality management method, device, equipment and storage medium
CN1967596A (en) Construction method of triangulation of 3D scattered point set in 3D scan system
CN107622530B (en) Efficient and robust triangulation network cutting method
CN105844067B (en) A kind of hull curve plate welding becomes the acquisition methods of the automatic process data of groove
CN102629391A (en) Three-dimensional space structure graph cutting and slicing method based on digital graph medium
CN110211234B (en) Grid model stitching system and method
CN107633555B (en) Curved surface set mutual cutting method and system based on space scanning
CN109636889B (en) Large-scale three-dimensional terrain model rendering method based on dynamic sewing belt
CN108986218A (en) A kind of building point off density cloud fast reconstructing method based on PMVS
CN111444573B (en) Ship symmetric segment model generation method and device, storage medium and terminal
CN109551768A (en) A kind of data processing method of the 3D printing file based on STL
CN103679814A (en) Processing method and device for triangle mesh model
CN112462689B (en) Method for generating handicraft digital model random carving four-axis three-linkage cutter path
CN105869210A (en) Interpolation data processing method in three-dimensional geological surface model
CN105931297A (en) Data processing method applied to three-dimensional geological surface model
CN112819108B (en) Slice fusion method and system of multi-source heterogeneous model and storage medium
CN111179420B (en) Three-dimensional city model optimization method and system
CN113888701A (en) Method and system for converting curved surface 3D model into mesh 3D model in Obj format

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
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20191217

Termination date: 20200915