A method for constructing irregular stratigraphic entities based on sequenced stratigraphic units
Through a multi-step method, the stratigraphic structure and topographic data are processed, and the problem of inefficient stratigraphic analysis in traditional technology is solved, and the rapid construction and accurate analysis of irregular strata are realized, providing intuitive stratigraphic solid model and generality Stratigraphic analysis capability.
Patent Information
- Application Number
- CN202410305753.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-03-18
- Publication Date
- 2024-12-10
- Estimated Expiration
- 2044-03-18
AI Technical Summary
Traditional stratigraphic analysis technology is difficult to build an intuitive three-dimensional stratigraphic model, especially in the case of irregular stratigraphic distribution, which leads to inefficient construction of stratigraphic entities and the inability to effectively describe the stratigraphic characteristics.
Adopting a method, including writing a log management plan, creating a terrain triangular net surface, processing stratigraphic structural surfaces, cutting terrain and stratigraphic entities, building terrain and interstratigraphic entities, building adjacent interstratigraphic entities, and building stratigraphic entities with complete sequences , generate an accurate stratigraphic solid model by fixing mesh logic.
It realizes rapid construction and Boo L calculation of irregular strata, provides an intuitive strata solid model, provides a strong basis for subsequent analysis, is universal and automated, can process a variety of data and formats, and improves the accuracy of strata analysis. Sex and efficiency.
Smart Images

Figure CN118172512B_ABST
Abstract
Description
Technical Field
[0001] The invention relates to the technical field of engineering geology, and in particular to a method for constructing an irregular stratum entity for a sequenced stratum. Background Art
[0002] Traditional stratigraphic analysis technology mainly analyzes the distribution of stratigraphic conditions by constructing stratigraphic section lines or section surfaces through drilling. The disadvantages of this method are: it is not as intuitive as a three-dimensional stratigraphic model; generally, section lines can only express local characteristics, and it is necessary to carefully select multiple section lines to comprehensively observe the distribution characteristics of the stratigraphic formation; if the stratigraphic surface is directly projected between the upper and lower layers, it can only express regular, adjacent local stratigraphic characteristics, which is of limited help for regional stratigraphic analysis; if the distribution of the stratigraphic formation is orderly, but the distribution range itself is irregular, and the surface construction sources are different, there are stratigraphic surfaces generated by the occurrence and terrain surfaces generated by irregular point clouds, which will cause the Bool operation of the surface to generate a large number of various types of anomalies, resulting in low efficiency in constructing stratigraphic entities, and the constructed stratigraphic entities are too large, which makes the stratigraphic entities unusable. Summary of the invention
[0003] The object of the present invention is to provide a method for constructing an irregular stratigraphic entity for a sequenced stratigraphic layer, thereby solving the above-mentioned problems existing in the prior art.
[0004] In order to achieve the above object, the technical solution adopted by the present invention is as follows:
[0005] A method for constructing an irregular stratigraphic entity for a stratigraphic sequence comprises the following steps:
[0006] S1. Write a log management plan:
[0007] Configure log files and the information that needs to be recorded for each process, log problems and execution performance at each stage, and store the log records in log files;
[0008] S2. Create terrain triangulated surface:
[0009] Collecting terrain point cloud data and preprocessing it, segmenting the preprocessed terrain point cloud data to obtain terrain triangulated network surfaces;
[0010] S3. Create a stratum structure surface:
[0011] The point cloud data generated by the occurrence factor and the point cloud data obtained by the drilling and terrain interpolation factors are respectively segmented to obtain the corresponding stratigraphic structure surfaces; all stratigraphic structure surfaces are repaired and regenerated, and the regenerated stratigraphic structure surfaces are added into the array according to the layer order;
[0012] S4. Write the Bool operation exception handling logic in the construction entity:
[0013] Write the logic for processing hole filling, self-intersection, coplanarity, degeneration, and overall mesh repair logic respectively;
[0014] S5. Clip terrain and strata to preserve common areas:
[0015] Determine the xy plane projection point set of the minimum common convex boundary covering all strata, project the plane projection point set onto the terrain surface, and clip the terrain within the boundary; based on the clipped terrain within the boundary, obtain the terrain convex boundary and then clip all strata; use the overall logic of repairing mesh to perform self-intersection detection and repair on the clipped strata and terrain data;
[0016] S6. Constructing entities between terrain and strata:
[0017] Based on the calculated stretching distance, the terrain and stratum are vertically pulled down and vertically pulled up respectively to obtain the terrain closed entity and the stratum closed entity, and the terrain closed entity and the stratum closed entity are repaired by using the overall logic of repairing the mesh, and the repaired terrain closed entity is traversed and intersected with all stratum closed entities to obtain the intersection of all stratum closed entities and the terrain closed entity;
[0018] S7. Construct entities between adjacent strata:
[0019] Traverse the stratigraphic surfaces of 0 to (n-1) sequences, generate a vertical Bbox surface corresponding to the stratigraphic surface based on the calculated stretching distance as an equivalent closed stratigraphic entity surface, use the stratigraphic entity of 1 to n sequences obtained in step S6 to subtract the closed stratigraphic entity surface, determine whether it is necessary to use the processing coplanar logic to extend the surface according to the threshold and loop through the threshold difference operation according to the execution result, and retain the closed stratigraphic entity surface of 1 to n sequences;
[0020] S8. Constructing a complete stratigraphic entity:
[0021] Perform intersection detection on the closed stratum solid surface of the 1-n layers obtained in step S7 and all upper stratum surfaces except the adjacent upper stratum surface; determine whether it is necessary to subtract the vertical Bbox surface corresponding to the stratum surface from the currently traversed closed stratum entity according to the intersection detection result, and repair the subtraction result using the overall logic of repairing mesh;
[0022] S9. Save or transfer the generated entity:
[0023] Save the surface in the specified 3D format, store it in the specified path or stream it according to the configuration items.
[0024] Preferably, the information to be recorded in step S1 includes the name of the stage to be called, the exception type, the input and output mesh features, and the execution time of each part.
[0025] Preferably, step S2 specifically includes the following contents:
[0026] S21, terrain point cloud data input: collect terrain point cloud and simplify and reduce noise;
[0027] S22. 2.5D segmentation of point cloud and organization into half-edge structure: segment the terrain point cloud on the projected xy plane and organize the data into a half-edge structure surface.
[0028] Preferably, step S3 specifically includes the following contents:
[0029] S31, determining the point cloud data generated by the occurrence factor: generating closed polylines to form point cloud data for the occurrence of strata close to the surface and the detectable point set;
[0030] S32, dividing the closed polyline source point cloud to generate a stratum surface: dividing the closed polyline generated in step S31 into a stratum structure surface and performing a certain degree of manual adjustment;
[0031] S33, determining the point cloud data obtained by the borehole and terrain interpolation factors: taking the corresponding stratum coordinates in the borehole as the necessary points, taking the terrain as the reference surface, and interpolating and smoothing the necessary points to obtain the overall point cloud relative to the terrain surface; converting the relative elevation coordinates of the point cloud into actual coordinates to obtain the final point cloud as the subsequent segmentation point cloud data;
[0032] S34, 2.5d subdivision of boreholes and terrain interpolation factors to generate stratigraphic surfaces from point clouds: based on the S33 point cloud, subdivision is performed on the projection xy plane and the data is organized into a half-edge structure surface and a certain degree of manual adjustment is performed;
[0033] S35, repair and regenerate all stratum structure surfaces: remove abnormal points from the stratum structure surfaces generated in step S32 and step S34 and re-divide them by 2.5d;
[0034] S36, determine the formation surface array: add the formation structure surface regenerated in step S35 into the array according to the layer sequence.
[0035] Preferably, step S4 specifically includes the following contents:
[0036] S41. Write the logic for processing hole filling, including:
[0037] S411. Write hole filling logic for unclosed surfaces: detect unclosed surface meshes. For terrain and stratum surfaces, detect whether the area of the hole exceeds a certain threshold. If it exceeds, do not fill the hole. For the largest hole, which is a hole composed of surface boundaries and does not contain a surface, fill the hole if it does not exceed.
[0038] S412. Write hole filling logic for closed surfaces: detect closed solid surface mesh, detect holes and fill them all;
[0039] S42. Write the logic for handling self-intersection, including:
[0040] S421. Write a simple self-intersection repair logic: detect the self-intersecting Face pairs on the surface mesh, delete the self-intersecting Face pairs and perform some repairs on the surface mesh;
[0041] S422. Write the logic of expanding and repairing self-intersection: detect the self-intersecting Face pair on the surface mesh, traverse all the faces around the self-intersecting Face pair, add them to the deletion array, delete them and perform certain repairs on the surface mesh;
[0042] S43. Write the logic for processing coplanarity, including:
[0043] S431, write logic to avoid coplanarity of upper surfaces: for the case where the upper surfaces of two adjacent layers of entities of the stratum and terrain intermediate entities generated in step S6 overlap, generate an entity whose upper stratum surface is vertically pulled up to the highest point of the terrain, and use the lower layer entity to perform subtraction on the pulled-up entity to obtain the same Bool difference result;
[0044] S432, write the inevitable vertical boundary coplanar logic: for the case where the vertical planes are coplanar when the difference between two adjacent layers of entities is calculated in step S7 or step S8, the upper layer stratum surface is slightly expanded in the xy dimension along the center point to the surrounding according to different thresholds, and the threshold is continuously adjusted until the difference calculation logic at the vertical intersection is successfully processed;
[0045] S44. Write the logic for handling degradation, including:
[0046] S441. Write logic for processing degenerate surfaces: detect degenerate triangular surfaces, delete them, and perform some repair and improvement on the surfaces;
[0047] S442. Write logic for processing isolated vertices: detect independent vertices, delete them, and perform certain repairs and improvements on the surface;
[0048] S443, write the logic for processing isolated faces: detect isolated triangular faces and the face set of the largest connected domain, retain the face set of the largest connected domain, and delete the remaining faces;
[0049] S444. Write logic for processing non-manifold vertices: detect non-manifold vertices and delete them;
[0050] S445, write the triangulation logic: detect the surface with problems in surface triangulation and re-triangulate it; S45, write the overall logic of repairing the mesh, including:
[0051] S451, write the repair logic of the unclosed surface: set the loop termination condition to no self-intersection and holes below the threshold, and execute steps S411, S42, and S44 each time;
[0052] S452. Write the repair logic of the closed surface: set the loop termination condition to no self-intersection and no hole, and execute step S412, step S42, and step S44 each time in the loop.
[0053] Preferably, step S5 specifically includes the following contents:
[0054] S51, determine the xy plane projection point set of the minimum common convex boundary covering all strata: regenerate a new boundary according to the curved boundary of all strata in step S36, project the boundary point set onto the xy plane and retain only the x, y coordinates;
[0055] S52, clipping terrain: projecting the boundary point set determined in step S51 onto the terrain surface, and clipping the terrain within the boundary;
[0056] S53, clipping the strata: clipping the terrain boundary according to step S52, and clipping all strata after obtaining the terrain convex boundary;
[0057] S54, repairing the cropped strata and terrain: according to the strata and terrain data cropped in step S51 and step S52, executing step S451 to detect possible self-intersections and perform repairs.
[0058] Preferably, step S6 specifically includes the following contents:
[0059] S61, calculating the maximum elevation of the terrain and the minimum elevation of all strata as the stretching distance;
[0060] S62, the terrain is vertically pulled down in step S61 to obtain the stretching distance to generate a closed entity;
[0061] S63, all strata are vertically pulled up to generate a closed entity by the stretching distance obtained in step S61;
[0062] S64, using the repair logic of step S452 to repair the closed solid surface of step S62 and step S63;
[0063] S65. Traverse and intersect all strata with the terrain repaired in step S64 to obtain the intersection of all strata and the terrain.
[0064] Preferably, step S7 comprises the following steps:
[0065] S71, traverse the stratigraphic surfaces of the 0 to (n-1) layers, execute the logic of step S431 to vertically pull up the maximum elevation of the terrain to obtain a closed stratigraphic solid surface;
[0066] S72, for the stratigraphic entities of the 1-n layers generated in step S65, subtract the closed stratigraphic entity surface generated in step S71. If an error occurs, execute the logic of step S432 to extend the surface according to a very small threshold, and continuously loop through the threshold to perform the difference operation until the execution is successful. If the execution is successful, the stratigraphic closed entity surface is retained;
[0067] S73. Repair the closed surface obtained in step S72 by executing the repair logic of step S452.
[0068] Preferably, step S8 comprises the following steps:
[0069] S81, traversing the closed stratum solid surface of 1 to n layers obtained in step S73, and performing intersection detection with all upper stratum surfaces except the adjacent upper stratum surface. If they intersect, execute steps S82 to S84; if they do not intersect, continue to detect until the traversal is completed;
[0070] S82, executing the logic of step S431 to vertically pull up the maximum elevation of the terrain to obtain a closed stratum solid surface;
[0071] S83, subtracting the closed surface of step S82 from the closed stratum solid surface currently traversed;
[0072] S84. Execute the repair logic of step S452 based on the result of step S83 to repair the closed stratum solid surface of step S83.
[0073] Preferably, step S9 specifically includes the following contents:
[0074] S91, save the mesh as stream data in a specified 3D format;
[0075] S92, if it is configuration item writing, save the stream data of step S91 according to the configuration item path;
[0076] S93: If the data needs to be generated and then transmitted, the stream data of step S91 is transmitted in a shared memory or over a network.
[0077] The beneficial effects of the present invention are: 1. The method of the present invention can accept point clouds from multiple sources to construct terrain and strata, construct the surface of half-edge structure for fast query and Bool calculation, successfully construct complex strata entities by solving various anomalies in large-area complex strata construction entities, accept multiple IO methods, and provide a powerful and intuitive basis for subsequent analysis of underground building distribution by dissecting solids, as well as a more accurate strata entity model for downstream mechanical analysis. 2. The input is universal, accepts multi-source data, and constructs terrain and strata surfaces in multiple ways; the output is universal, can be streamed, saved, and output in different formats for different downstream steps. 3. The logic of repairing self-intersection, degeneration, coplanarity, and hole filling in entity generation is universal and can be applied to other three-dimensional modeling. 4. The information recorded by the log management itself can also be analyzed as digital data; at the same time, the entire process is automated, and the manual operation areas themselves can be used as parameters or empirical data to avoid human intervention. 5. Since the entire process adopts the pipe line form, only part of this process can be used; the Fork-Join process can fully utilize the advantages of multi-threaded computing; the entire process of entity generation itself does not involve any rendering operations, and is executed in the background, which is convenient for combining with other platform calls; since the ply format is used by default, it can be viewed on general mobile phones and computers, and the IO format is output on demand according to the downstream format. BRIEF DESCRIPTION OF THE DRAWINGS
[0078] Figure 1 is a technical flow chart of the method in an embodiment of the present invention;
[0079] Figure 2 is an engineering Fork-Join flow chart of the method in an embodiment of the present invention;
[0080] Figure 3 is a pseudo code diagram of the repair mesh of the method in the embodiment of the present invention;
[0081] Figure 4 is a pseudo code diagram for obtaining a difference in a formation entity in a method according to an embodiment of the present invention;
[0082] Figure 5 is a top view of a terrain curved surface in an embodiment of the present invention;
[0083] Figure 6 It is a top view of the formation surface distribution generated by the occurrence and manually adjusted in the embodiment of the present invention;
[0084] Figure 7 is a clipped local view of terrain and stratum distribution in an embodiment of the present invention;
[0085] Figure 8It is a partial view of the ordered entity group finally generated in the embodiment of the present invention. DETAILED DESCRIPTION
[0086] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings. It should be understood that the specific implementation methods described herein are only used to explain the present invention and are not used to limit the present invention.
[0087] like Figure 1 As shown in the example, a method for constructing irregular stratum entities for sequential strata is provided. The entity generation service written in C++ is called by C#. The actual project adopts the attached Figure 2 The Fork-Join process includes the following nine steps:
[0088] 1. Write a log management plan:
[0089] That is, log the problems and execution performance of each stage and store them in the log management file. Specifically: S11, configure the log file and the information that needs to be recorded for each process, log the problems and execution performance of each stage and store the log records in the log file.
[0090] This process mainly uses log files to record the relevant information of each stage. The information that needs to be recorded in this process includes the stage name that needs to be called at each stage, the exception type, the input and output mesh characteristics. The execution time of each part. Such as the determination of the location of the log file, each function, each function, the important input and output of each stage of the pipeline, the execution time, the performance consumed, and the characteristics of the mesh generated at the stage, such as the number of mesh faces, the number of mesh self-intersections and holes, etc.
[0091] 2. Create terrain triangulated surface:
[0092] That is, irregular terrain triangulated network surfaces are constructed based on terrain point cloud data collected by drones or other equipment. Specifically: terrain point cloud data is collected and preprocessed, and the preprocessed terrain point cloud data is segmented to obtain terrain triangulated network surfaces. Figure 5 A top view of the terrain surface.
[0093] It mainly includes two sub-steps. The detailed process of each sub-step is as follows:
[0094] S21. Terrain point cloud data input: collect terrain point clouds and simplify and reduce noise. In this step, after the point cloud data is collected by surveying or drones, the point cloud is simplified and denoised. The basis for simplification and denoising is to first calculate the average distance of the point cloud. The average distance of the point cloud is generally calculated by the nearest neighbor method. The nearest neighbor K can generally be set by the number and density of the point cloud, such as 24, 12, and 6. Then, the outliers are calculated based on the average distance of the point cloud and simplified. Simplification can be done by grid simplification or other simplification methods; similarly, outliers can be removed by calculating the point cloud normal.
[0095] S22, 2.5D decomposition of point cloud and organization into half-edge structure: Decomposition of the topographic point cloud on the projection xy plane and organization of the data into a half-edge structure surface. In this step, delaunary decomposition is performed by projecting the three-dimensional points onto the xy plane. This decomposition method can make each point on each topographic surface unique in two dimensions, and there will never be the same xy two-dimensional point at the same z value in three dimensions.
[0096] 3. Create a stratum structure surface:
[0097] That is, the stratigraphic surface is generated according to the borehole, occurrence and terrain. Specifically: the point cloud data generated by the occurrence factor and the point cloud data obtained by the borehole and terrain interpolation factor are segmented to obtain the corresponding stratigraphic structure surface; all stratigraphic structure surfaces are repaired and regenerated, and the regenerated stratigraphic structure surfaces are added to the array according to the layer order. Figure 6 It is a side view of the stratigraphic surface distribution generated by occurrence and manually adjusted.
[0098] It mainly includes six sub-steps, and the detailed process of each sub-step is as follows:
[0099] S31. Determine the point cloud data generated by the occurrence factor: Generate closed polylines to form point cloud data for the occurrence of strata close to the surface and detectable point sets.
[0100] In this step, closed polylines are generated to form point cloud data according to the occurrence of strata close to the surface and detectable point sets. Specifically, a group of detectable point sets are used to generate a closed point set at the other end through the occurrence. Such a point set can form a closed polyline because it is ordered.
[0101] S32, dividing the closed polyline source point cloud into a stratum surface: dividing the closed polyline generated in step S31 into a stratum structure surface and performing a certain degree of manual adjustment.
[0102] In this step, a stratum surface is generated based on the point cloud segmentation determined in S31 and a certain degree of manual adjustment is performed; the terrain and strata are all segmented using 2.5d, and manual adjustment can add some inferable or observable distribution features to the generated terrain surface.
[0103] S33. Determine the point cloud data obtained by the borehole and terrain interpolation factors: take the corresponding stratum coordinates in the borehole as the must-pass points, take the terrain as the reference surface, and obtain the overall point cloud relative to the terrain surface after interpolation and smoothing of the must-pass points; convert the relative elevation coordinates of the point cloud into actual coordinates to obtain the final point cloud as the subsequent segmentation point cloud data.
[0104] In this step, the characteristic of this construction method is that the boreholes are the observed points that must be passed, while the points that are pulled down to a certain depth in the stratum are inferred points. Therefore, kriging or DSI interpolation can be used to obtain all the required point sets.
[0105] S34, 2.5d subdivision of boreholes and terrain interpolation factors to generate stratigraphic surfaces from point clouds: Based on the S33 point cloud, subdivision is performed on the projection xy plane and the data is organized into a half-edge structure surface with a certain degree of manual adjustment.
[0106] In this step, the point cloud generated by S33 can also be directly obtained by rasterization interpolation, which is characterized by regular structure. The characteristic of 2.5D subdivision directly based on S33 is that the point set is relatively small and only key features are retained. Each method has its own characteristics and can be selected as needed.
[0107] S35, repair and regenerate all stratum structure surfaces: remove abnormal points from the stratum structure surfaces generated in step S32 and step S34 and re-divide them by 2.5d.
[0108] This step is mainly for the situation where the manually adjusted part or the collected point cloud itself has abnormal points. Regeneration is actually the process of removing the abnormal points of self-intersection of the surface.
[0109] S36, determine the formation surface array: add the formation structure surface regenerated in step S35 into the array according to the layer sequence.
[0110] In this step, based on the input ordered point cloud, generate the strata and add them into the array in order.
[0111] 4. Write the Bool operation exception handling logic in the construction entity:
[0112] That is, write solutions to a series of exceptions that cause Bool operation failures in the process of creating stratum entities, such as self-intersection, holes, coplanarity, degeneration, etc. Specifically: write logic for processing holes, logic for processing self-intersection, logic for processing coplanarity, logic for processing degeneration, and overall logic for repairing meshes.
[0113] It mainly includes five sub-steps, and the detailed process of each sub-step is as follows:
[0114] S41. Write the logic for processing hole filling, including:
[0115] S411. Write hole filling logic for unclosed surfaces: detect unclosed surface meshes. For terrain and stratum surfaces, detect whether the area of the hole exceeds a certain threshold. If it exceeds, do not fill the hole. For the largest hole, which is a hole composed of surface boundaries and does not contain the surface, fill it if it does not exceed.
[0116] The threshold set in this step can generally be set to a ratio of hole area to surface area of about 0.3-0.5, mainly for the annular formations that appear when constructing the formation surface.
[0117] S412. Write hole filling logic for closed surfaces: detect closed solid surface mesh, detect holes and fill them all.
[0118] The core difference between S411 and S412 is that S412 fills all holes to form a fully closed mesh, while S411 calculates the size of the hole's bbox to determine whether the hole needs to be deleted. One situation is that the existence of the hole itself and the self-intersection, degenerate edges, and degenerate faces are intertwined, and the hole cannot be filled. In this case, the faces around the hole need to be deleted and refilled. Generally, multiple cycles can eliminate this multi-factor interference situation.
[0119] S42. Write the logic for handling self-intersection, including:
[0120] S421. Write a simple self-intersection repair logic: detect the self-intersecting Face pairs on the surface mesh, delete the self-intersecting Face pairs and perform certain repairs on the surface mesh.
[0121] S422. Write the logic of expanding and repairing self-intersection: detect the self-intersecting Face pair on the surface mesh, traverse all the faces around the self-intersecting Face pair, add them to the deletion array, delete them and perform certain repairs on the surface mesh.
[0122] The difference between S421 and S422 is that S421 assumes that the self-intersection only has the detected related faces, while S422 assumes that the influence range of the self-intersection affects multiple surrounding faces, which may be along a certain path or diffuse. Therefore, S422 needs to delete the surrounding faces to repair the self-intersection, so as to ensure that the repair status of each self-intersection is improved and can be completely repaired in the end.
[0123] S43. Write the logic for processing coplanarity, including:
[0124] S431. Write logic to avoid coplanarity of upper surfaces: For the case where the upper surfaces of two adjacent layers of entities of the stratum and terrain intermediate entities generated in step S6 overlap, generate an entity where the upper stratum surface is vertically pulled up to the highest point of the terrain, and use the lower layer entity to perform a difference on the pulled-up entity to obtain the same Bool difference result.
[0125] S432. Write the inevitable vertical boundary coplanar logic: For the case where the vertical surfaces are coplanar when the difference between two adjacent layers of entities is calculated in step S7 or step S8, the upper layer of the stratum surface is slightly expanded in the xy dimension along the center point according to different thresholds, and the threshold is continuously adjusted until the difference logic at the vertical intersection is successfully processed.
[0126] The two processes of S43 mainly solve two coplanar problems that occur during the entity subtraction process. The difference between the two sub-processes is that S431 mainly solves the coplanar problem of the upper surface direction of the entity, that is, the coplanar problem perpendicular to the xy direction, while S432 mainly solves the coplanar problem with the vertical surface formed during the stretching of the entity. The approach taken by S431 is to directly avoid the intersection of the upper surface to obtain the same result, while the strategy adopted by S432 is to extend the surface a very small distance in all directions to avoid it. The common feature of the two is to avoid coplanar situations, mainly because the coplanar problem is difficult to handle.
[0127] The range of extending the formation surface from the center to the periphery set in step S432 can generally be set to about 0.5%-3%. It has been verified that the coplanarity can generally be avoided within about 0.5%-1.5%.
[0128] S44. Write the logic for handling degradation, including:
[0129] S441. Write logic for processing degenerate surfaces: detect degenerate triangular surfaces, delete them, and perform certain repairs and improvements on the surfaces.
[0130] S442. Write logic for processing isolated vertices: detect independent vertices, delete them, and perform certain repairs and improvements on the surface.
[0131] S443. Write the logic for processing isolated faces: detect isolated triangular faces and the face set of the largest connected domain, retain the face set of the largest connected domain, and delete the remaining faces.
[0132] S444. Write logic for processing non-manifold vertices: detect non-manifold vertices and delete them.
[0133] S445. Write triangulated surface logic: detect surfaces with triangulation problems and re-triangulate them.
[0134] Among them, degenerate faces, isolated points, and non-manifold vertices have a relatively large interference with Bool calculations. Eliminating them can speed up the Bool calculation time and the mesh shape calculated by Bool. The reason why S443 handles isolated faces is that some very small isolated faces may be generated. These faces may be incorrect because they are too small and will also interfere with subsequent calculations. Therefore, generally only the largest component in the mesh is retained. Another option is to use the area, volume, and number of faces of the component as the basis for screening components. S445 triangulation is mainly used as a supplement to delete degenerate faces to prevent the occurrence of degenerate or other polygonal faces.
[0135] S45. Write the overall logic of repairing mesh, including:
[0136] S451, write the repair logic of the unclosed surface: set the loop termination condition to no self-intersection and holes below the threshold, and execute steps S411, S42, and S44 each time;
[0137] S452. Write the repair logic of the closed surface: set the loop termination condition to no self-intersection and no hole, and execute step S412, step S42, and step S44 each time in the loop.
[0138] The core of the S45 process is to combine the repair logic according to different situations. The reason for the combination is that some local features in the mesh may be degenerate, self-intersecting, and the holes are intertwined with each other. It is impossible to completely repair the problem by dealing with one aspect alone. The difference between S451 and S452 is mainly the difference in hole filling.
[0139] The distinction between calling S421 and S422 in step S45 is based on each traversal to check whether the last self-intersection and hole have been improved. If the last repair has not been improved, it means that the self-intersection repair needs to be expanded and S422 needs to be called. If it is improved, S421 is called directly. The reason for distinguishing S421 from S422 is that the detected self-intersection is generally a face pai r type, and it is impossible to determine the impact range of the self-intersection on the surrounding area. If it is directly deleted, the local structure of the surface will be destroyed.
[0140] In this embodiment, the strategy of reducing and conquering is adopted to repair the mesh, and each cycle causes the least damage to the original structure of the mesh. For a surface mesh M, the face set Faces and the vertex set Vertices in M. Figure 3 To repair the pseudo code flow of mesh, you can see that: in each loop,
[0141] If the mesh was improved in the last loop,
[0142] Repair_Self_Intersection_Faces (repair the number of self-intersection face reduction) = Intersected_faces (the number of self-intersection faces detected) - Boundary Adjustment_Faces (the number of faces added by boundary optimization when deleting self-intersection); Repair_Degenerate_Faces (repair the number of degenerate face reduction) = Remove_Isolated_Faces (remove the number of isolated faces) + Remove_Degenerate_Faces (remove the number of degenerate faces) Repair_HoleFilling_Faces (repair the number of hole face changes) = HoleFilling_faces (the number of faces added by hole filling) - Boundary Adjustment_Faces (the number of faces added by boundary optimization when filling holes); Faces = Faces-Repair_Self_Intersection_Faces-Repair_Degenerate_Faces+Repair_HoleFilling_Faces;
[0143] If the mesh does not improve self-intersection in the last loop,
[0144] Repair_Self_Intersection_Faces (the number of faces reduced by repairing self-intersections) = Intersected_faces (the number of self-intersections detected) + Around_Intersected_faces (the number of faces around the self-intersections detected) - Boundary Adjustment_Faces (the number of faces increased by boundary optimization when deleting self-intersections);
[0145] If the mesh has no holes improved by the last loop,
[0146] Repair_HoleFilling_Faces (number of changes in repair hole faces) = -Around_Intersected_faces (number of faces removed around the hole) + HoleFilling_faces (number of faces added by hole filling) - Boundary Adjustment_Faces (number of faces added by boundary optimization when filling holes).
[0147] 5. Cut terrain and strata to preserve common areas:
[0148] That is, first calculate the maximum common convex boundary of all strata to clip the terrain, and then use the clipped terrain boundary to clip the strata. Clipping terrain and strata is achieved to reduce the scope of subsequent Bool calculations. Specifically: determine the xy plane projection point set of the minimum common convex boundary covering all strata, project the plane projection point set onto the terrain surface, and clip the terrain within the boundary; based on the terrain within the boundary obtained by clipping, obtain the terrain convex boundary and then clip all strata; use the overall logic of repairing mesh to perform self-intersection detection and repair on the clipped strata and terrain data. Figure 7 This is a cropped side view of the terrain and stratigraphic distribution.
[0149] It mainly includes four sub-steps, and the detailed process of each sub-step is as follows:
[0150] S51, determine the xy plane projection point set of the minimum common convex boundary covering all strata: regenerate a new boundary according to the curved boundary of all strata in step S36, project the boundary point set to the xy plane and retain only the x, y coordinates.
[0151] In this step, all stratum boundary vertices of S36 are extracted to generate a new minimum common convex boundary, and the z values of these boundary vertices are set to 0. The reason for determining the convex boundary is that the concave boundary is not unique.
[0152] S52, clipping terrain: projecting the boundary point set determined in step S51 onto the terrain surface, and clipping to obtain the terrain within the boundary.
[0153] S53, cropping the strata: according to the cropped terrain boundary in step S52, cropping all strata after obtaining the terrain convex boundary.
[0154] S54, repairing the cropped strata and terrain: according to the strata and terrain data cropped in step S51 and step S52, executing step S451 to detect possible self-intersections and perform repairs.
[0155] In this embodiment, the method for clipping terrain and clipping strata is to project points onto the surface to form a new boundary, and then directly clip by intersection. The convexity of the boundary can also be used to take an indirect method of clipping with multiple vertical planes.
[0156] 6. Constructing entities between terrain and strata:
[0157] That is, the entities between the terrain and the terrain are obtained by intersecting the entities pulled up vertically on the stratum surface and the entities pulled down vertically on the terrain. Specifically: based on the calculated stretching distance, the terrain and stratum are respectively pulled down vertically and pulled up vertically to obtain the terrain closed entity and the stratum closed entity, and the terrain closed entity and the stratum closed entity are repaired using the overall logic of repairing the mesh, and the repaired terrain closed entity is traversed and intersected with all stratum closed entities to obtain the intersection of all stratum closed entities and the terrain closed entity.
[0158] It mainly includes five sub-steps, and the detailed process of each sub-step is as follows:
[0159] S61, calculating the maximum elevation of the terrain and the minimum elevation of all strata: calculating the maximum elevation of the terrain and the minimum elevation of all strata as the stretching distance;
[0160] S62, vertically pull down the terrain to generate a closed entity: the terrain is vertically pulled down in step S61 to obtain a stretched distance to generate a closed entity;
[0161] S63, vertically pull up the strata to generate a closed entity: all strata are vertically pulled up in step S61 to generate a closed entity by the stretching distance obtained;
[0162] S64, repairing the entity: using the repair logic of step S452 to repair the closed entity surface of step S62 and step S63;
[0163] S65, finding the intersection of the terrain entity and the stratum entity: traversing and finding the intersection of the terrain entity repaired in step S64 and all stratum entities to obtain the intersection of all stratum entities and the terrain entity.
[0164] In this embodiment, the overstretching distance of S6 can ensure that the intersection of the sub-process S64 will not be missing or redundant. This intersection method itself is the same as the projection method.
[0165] 7. Constructing entities between adjacent strata:
[0166] That is, the stratigraphic entities in S6 are subtracted from the stratigraphic entities adjacent to the upper stratigraphic entities. Specifically: the stratigraphic surfaces of 0 to (n-1) sequences are traversed, and the vertical Bbox surface corresponding to the stratigraphic surface is generated based on the calculated stretching distance as an equivalent closed stratigraphic entity surface. The stratigraphic entities of 1 to n sequences obtained in step S6 are subtracted from the closed stratigraphic entity surface. According to the execution result, it is determined whether it is necessary to use the processing coplanar logic to extend the surface according to the threshold and loop through the threshold difference operation, and retain the closed stratigraphic entity surface of 1 to n sequences.
[0167] It mainly includes three sub-steps, and the detailed process of each sub-step is as follows:
[0168] S71, vertical pull-up: traverse the stratigraphic surfaces of the 0 to (n-1) layers, execute the logic of step S431 to vertically pull up the maximum elevation of the terrain to obtain a closed stratigraphic solid surface;
[0169] S72, finding the difference: for the stratigraphic entities of the 1-n sequences generated in step S65, subtract the closed stratigraphic entity surface generated in step S71. If an error occurs, the logic of step S432 is executed to extend the surface according to a very small threshold value, and the difference operation is performed repeatedly through the threshold value until the execution succeeds. If the execution succeeds, the stratigraphic closed entity surface is retained.
[0170] S73, repair: execute the repair logic of step S452 to repair the closed surface obtained in step S72.
[0171] In this embodiment, the technique of S7 mainly solves two coplanar problems generated in the process of difference finding. The processing of coplanar anomaly problems mainly relies on Extend and Extrude operations. Among them, the problem of large-area coplanarity of the upper surface of the upper geological body is avoided by pulling up the entity generated by the corresponding stratum, that is, the Extrude operation; in the S72 sub-process, the threshold is set to appropriately extend the corresponding upper surface to avoid the problem of vertical coplanarity, that is, the Extend operation. These two processing methods avoid the problem of coplanarity, are more efficient than direct difference finding, and can obtain solutions. Figure 4 This is the pseudo code flow of S7.
[0172] The Extend operation formula is as follows:
[0173]
[0174] (MeshCenter is the coordinate of the mesh center point, extendvalue is the scaling ratio)
[0175] As you can see, the essence is a 2D zoom of the center point.
[0176] 8. Constructing a complete stratigraphic entity:
[0177] That is, subtract all intersecting stratigraphic entities of the upper layer from each stratigraphic entity of S7. Further subtraction is achieved to obtain a complete stratigraphic array. Specifically: perform intersection detection on the closed stratigraphic entity surfaces of the 1 to n sequences obtained in step S7 and all upper stratigraphic surfaces except the adjacent upper stratigraphic surfaces; determine whether it is necessary to subtract the vertical Bbox surface corresponding to the stratigraphic surface from the currently traversed closed stratigraphic entity based on the intersection detection result, and use the overall logic of repairing the mesh to repair the subtraction result.
[0178] It mainly includes four sub-steps, and the detailed process of each sub-step is as follows:
[0179] S81, intersection detection: traverse the closed stratum solid surfaces of the 1-n layers obtained in step S73, and perform intersection detection with all upper stratum surfaces except the adjacent upper stratum surfaces. If they intersect, execute steps S82 to S84; if they do not intersect, continue to detect until the traversal is completed;
[0180] S82, vertical pull-up: execute the logic of step S431 to vertically pull up the maximum elevation of the terrain to obtain a closed stratum solid surface;
[0181] S83, finding the difference: finding the difference between the currently traversed closed stratum solid surface and the closed surface in step S82;
[0182] S84. Repair: Execute the repair logic of step S452 based on the result of step S83 to repair the closed stratum solid surface of step S83.
[0183] In this embodiment, the purpose of S8 is essentially the same as that of S7. S7 is to find the difference between adjacent stratigraphic sequences, and S8 is a way to deal with the situation that the stratigraphic sequences are not adjacent but are inevitably spatially adjacent in the geological body constructed in S6. S8 adds an intersection test at the beginning. If there is no intersection, there is no need to find the difference, because the cost of the intersection test is less than the cost of the Bool calculation, so this operation is worthwhile. Similarly, the situation where the input sequences are spatially adjacent but not adjacent also occurs when the strata are distributed in different areas. They may be separated by faults, there may be certain areas of overlap in the natural distribution, or it may be a problem when making stratigraphic surfaces. Because the stratigraphic sequences can be analyzed, but the distribution range of the strata cannot be accurately judged. It depends on drilling, occurrence, topography, etc., and the process of S8 is inevitable. Appendix Figure 8 This is a top view of the final generated ordered entity group.
[0184] IX. Save or transmit the generated entity:
[0185] That is, according to the configuration items, the surface is saved in the specified 3D format, stored in the specified path or streamed. The mesh is saved in the ply stream format for saving or transmission.
[0186] It mainly includes three sub-steps, and the detailed process of each sub-step is as follows:
[0187] S91, mesh to stream: save mesh as stream data in a specified 3D format;
[0188] S92, write to file: if it is configuration item writing, save the stream data of step S91 according to the configuration item path;
[0189] S93, transmission: if it is necessary to transmit after generation, the stream data of step S91 is transmitted in a shared memory or over a network.
[0190] In this embodiment, the S9 process is mainly to pave the way for subsequent operations, which may be cutting, calculation, rendering, and stream format storage or transmission, providing a way to combine with subsequent multiple steps. As a way, IO also provides formats such as stl, fbx, obj, wrl, and gocad. In comparison, the default ply format is concise and convenient for stream transmission, unambiguous, and can be quickly expanded, improving the efficiency of stream transmission and the speed of downstream rendering or calculation analysis.
[0191] In this embodiment, the repair function can be used as a separate module, and the repair can be performed after each execution of S5, S6, S7, and S8. The reason for doing so is to decouple each stage. Since the S4 processing part accounts for a large proportion of the time, different functions, such as Boolean operations, and the proportion of various repair times can be analyzed through decoupling, thereby providing a basis for subsequent substantial optimization.
[0192] In this embodiment, the method for constructing an irregular stratum entity for a sequence stratum has the following characteristics:
[0193] 1. All surface models adopt half-edge structure, which can be added, deleted, modified and checked efficiently;
[0194] 2. The terrain surface model and the stratum surface model can be either a regular grid triangulation network or an irregular triangulation network mesh. As a universal geological entity construction method, it is universal for various inputs. In addition, it will automatically detect the input, remove abnormal points and regenerate.
[0195] 3. There are no restrictions on the size of the terrain, the number of strata, and the distribution of the strata themselves. Since various abnormal problems in the generation have been solved, complex and diverse stratum entities can be successfully constructed.
[0196] 4. The repair logic in processing entity generation is universal and can be transplanted to other types of 3D modeling and Bool calculations.
[0197] 5. Log management can automatically record the characteristics of each layer and the performance of each stage for output analysis, which can serve as a basis for subsequent algorithm improvement.
[0198] 6. The output can write mesh into ply, a simple open source streaming format that can be viewed on multiple platforms, or it can be output in the format of a downstream platform and written into a file or transmitted as needed.
[0199] 7. The algorithm itself does not depend on any platform. It is executed in the background of pure C++ code. Any platform can connect to the input and output of the constructed entity method for calling.
[0200] By adopting the above technical solution disclosed in the present invention, the following beneficial effects are obtained:
[0201] The present invention provides a method for constructing irregular stratum entities for sequential strata. The method can accept point clouds from multiple sources to construct terrain and strata, construct the surface of half-edge structure for fast query and Bool calculation, successfully construct complex stratum entities by solving various anomalies in large-area complex stratum construction entities, accept multiple IO methods, provide a powerful and intuitive basis for subsequent analysis of underground building distribution by dissecting solid entities, and provide a more accurate stratum entity model for downstream mechanical analysis. The input is universal, accepts multi-source data, and constructs terrain and stratum surfaces in multiple ways; the output is universal, can be streamed, saved, and output in different formats for different downstream steps. The logic of repairing self-intersection, degeneration, coplanarity, and hole filling in entity generation is universal and can be applied to other three-dimensional modeling. The information recorded by log management itself can also be analyzed as digital data; at the same time, the entire process is automated, and the manual operation areas themselves can be used as parameters or empirical data to avoid human intervention. Since the entire process adopts the pipe line form, only part of this process can be used; the Fork-Join process can fully utilize the advantages of multi-threaded computing; the entire process of entity generation itself does not involve any rendering operations and is executed in the background, which is convenient for combining with other platform calls; since the ply format is used by default, it can be viewed on general mobile phones and computers, and the IO format is output on demand according to the downstream format.
[0202] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principle of the present invention. These improvements and modifications should also be considered as the scope of protection of the present invention.
Claims
1. A method for constructing an irregular stratigraphic entity for a stratigraphic sequence, characterized by: The following steps are included: S1. Write a log management plan: Configure log files and the information that needs to be recorded for each process, log problems and execution performance at each stage, and store the log records in log files; S2. Create terrain triangulated surface: Collecting terrain point cloud data and preprocessing it, segmenting the preprocessed terrain point cloud data to obtain terrain triangulated network surfaces; S3. Create a stratum structure surface: The point cloud data generated by the occurrence factor and the point cloud data obtained by the drilling and terrain interpolation factors are respectively segmented to obtain the corresponding stratigraphic structure surfaces; all stratigraphic structure surfaces are repaired and regenerated, and the regenerated stratigraphic structure surfaces are added into the array according to the layer order; S4. Write the Bool operation exception handling logic in the construction entity: Write the logic for processing hole filling, self-intersection, coplanarity, degeneration, and overall mesh repair logic respectively; Step S4 specifically includes the following contents: S41. Write the logic for processing hole filling, including: S411. Write hole filling logic for unclosed surfaces: detect unclosed surface meshes. For terrain and stratum surfaces, detect whether the area of the hole exceeds a certain threshold. If it exceeds, do not fill the hole. For the largest hole, which is a hole composed of surface boundaries and does not contain a surface, fill the hole if it does not exceed. S412. Write hole filling logic for closed surfaces: detect closed solid surface mesh, detect holes and fill them all; S42. Write the logic for processing self-intersection including: S421. Write a simple self-intersection repair logic: detect the self-intersecting Face pairs on the surface mesh, delete the self-intersecting Face pairs and perform some repairs on the surface mesh; S422. Write the logic of expanding and repairing self-intersection: detect the self-intersecting Face pair on the surface mesh, traverse all faces around the self-intersecting Face pair, add and delete the array, delete and perform certain repairs on the surface mesh; S43. Writing the logic for processing coplanarity includes: S431, write logic to avoid coplanarity of upper surfaces: for the case where the upper surfaces of two adjacent layers of entities of the stratum and terrain intermediate entities generated in step S6 overlap, generate an entity whose upper stratum surface is vertically pulled up to the highest point of the terrain, and use the lower layer entity to perform subtraction on the pulled-up entity to obtain the same Bool difference result; S432, write the inevitable vertical boundary coplanar logic: for the case where the vertical planes are coplanar when the difference between two adjacent layers of entities is calculated in step S7 or step S8, the upper layer stratum surface is slightly expanded in the xy dimension along the center point to the surrounding according to different thresholds, and the threshold is continuously adjusted until the difference calculation logic at the vertical intersection is successfully processed; S44. Write the logic for handling degradation including: S441. Write logic for processing degenerate surfaces: detect degenerate triangular surfaces, delete them, and perform some repair and improvement on the surfaces; S442. Write logic for processing isolated vertices: detect independent vertices, delete them, and perform certain repairs and improvements on the surface; S443, write the logic for processing isolated faces: detect isolated triangular faces and the face set of the largest connected domain, retain the face set of the largest connected domain, and delete the remaining faces; S444. Write logic for processing non-manifold vertices: detect non-manifold vertices and delete them; S445, write triangulation logic: detect the surface with triangulation problems and re-triangulate it; S45. The overall logic of writing repair mesh includes: S451, write the repair logic of the unclosed surface: set the loop termination condition to no self-intersection and holes below the threshold, and execute steps S411, S42, and S44 each time; S452, write the repair logic of the closed surface: set the loop termination condition to no self-intersection and hole, and execute step S412, step S42, and step S44 each time; S5. Clip terrain and strata to preserve common areas: Determine the xy plane projection point set of the minimum common convex boundary covering all strata, project the plane projection point set onto the terrain surface, and clip the terrain within the boundary; based on the clipped terrain within the boundary, obtain the terrain convex boundary and then clip all strata; use the overall logic of repairing mesh to perform self-intersection detection and repair on the clipped strata and terrain data; Step S5 specifically includes the following contents: S51, determine the xy plane projection point set of the minimum common convex boundary covering all strata: regenerate a new boundary according to the curved boundary of all strata in step S36, project the boundary point set onto the xy plane and retain only the x, y coordinates; S52, clipping terrain: projecting the boundary point set determined in step S51 onto the terrain surface, and clipping to obtain the terrain within the boundary; S53, clipping the strata: clipping the terrain boundary according to step S52, and clipping all strata after obtaining the terrain convex boundary; S54, repairing the cropped strata and terrain: according to the strata and terrain data cropped in step S51 and step S52, executing step S451 to detect possible self-intersections and perform repairs; S6. Constructing entities between terrain and strata: Based on the calculated stretching distance, the terrain and stratum are vertically pulled down and vertically pulled up respectively to obtain the terrain closed entity and the stratum closed entity, and the terrain closed entity and the stratum closed entity are repaired by using the overall logic of repairing the mesh, and the repaired terrain closed entity is traversed and intersected with all stratum closed entities to obtain the intersection of all stratum closed entities and the terrain closed entity; Step S6 specifically includes the following contents: S61, calculating the maximum elevation of the terrain and the minimum elevation of all strata as the stretching distance; S62, the terrain is vertically pulled down in step S61 to obtain a stretching distance to generate a closed entity; S63, all strata are vertically pulled up to generate a closed entity by the stretching distance obtained in step S61; S64, using the repair logic of step S452 to repair the closed solid surface of step S62 and step S63; S65, traversing and intersecting the terrain repaired in step S64 with all strata to obtain the intersection of all strata and the terrain; S7. Construct entities between adjacent strata: Traverse the stratigraphic surface of the 0~(n-1) sequence, generate the vertical Bbox surface corresponding to the stratigraphic surface as an equivalent closed stratigraphic entity surface based on the calculated stretching distance, use the stratigraphic entity of the 1~n' sequence obtained in step S6 to subtract the closed stratigraphic entity surface, determine whether it is necessary to use the processing coplanar logic to extend the surface according to the threshold and loop through the threshold difference operation according to the execution result, and retain the closed stratigraphic entity surface of the 1~n'' sequence; Step S7 includes the following steps: S71, traverse the stratigraphic surface of the 0~(n-1) sequence, execute the logic of step S431 to vertically pull up the maximum elevation of the terrain to obtain a closed stratigraphic solid surface; S72, for the stratigraphic entity of the 1~n' sequence generated in step S65, subtract the closed stratigraphic entity surface generated in step S71. If an error occurs, execute the logic of step S432 to extend the surface according to a very small threshold, and continuously loop through the threshold to perform the difference operation until the execution is successful. If the execution is successful, the closed stratigraphic entity surface is retained; S73, repairing the closed stratum solid surface obtained in step S72 by executing the repair logic of step S452; S8. Constructing a complete stratigraphic entity: Perform intersection detection on the closed stratum solid surface of the 1~n'' sequence obtained in step S7 and all upper stratum surfaces except the adjacent upper stratum surface; determine whether it is necessary to subtract the vertical Bbox surface corresponding to the stratum surface from the currently traversed closed stratum solid surface according to the intersection detection result, and repair the subtraction result using the overall logic of repairing mesh; Step S8 includes the following steps: S81, traversing the closed stratum solid surface of the 1-n'' sequence obtained in step S73, and performing intersection detection with all upper stratum surfaces except the adjacent upper stratum surface. If they intersect, execute steps S82 to S84; if they do not intersect, continue to detect until the traversal is completed; S82, executing the logic of step S431 to vertically pull up the maximum elevation of the terrain to obtain a closed stratum solid surface; S83, subtracting the closed stratum solid surface currently traversed from the closed stratum solid surface in step S82; S84, executing the repair logic of step S452 according to the result of step S83 to repair the closed stratum solid surface of step S83; S9. Save or transfer the generated entity: Save the surface in the specified 3D format, store it in the specified path or stream it according to the configuration items.
2. The method for constructing an irregular stratigraphic entity for a sequenced stratigraphic layer according to claim 1, characterized in that: The information that needs to be recorded in step S1 includes the stage name that needs to be called in each stage, the exception type, the mesh characteristics of the input and output, and the execution time of each stage.
3. The method for constructing an irregular stratigraphic entity for a sequenced stratigraphic layer according to claim 1, characterized in that: Step S2 specifically includes the following contents: S21, terrain point cloud data input: collect terrain point cloud and simplify and reduce noise; S22. 2.5D segmentation of point cloud and organization into half-edge structure: segment the terrain point cloud on the projected xy plane and organize the data into a half-edge structure surface.
4. The method for constructing an irregular stratigraphic entity for a sequenced stratigraphic layer according to claim 1, characterized in that: Step S3 specifically includes the following contents: S31, determining the point cloud data generated by the occurrence factor: generating closed polylines to form point cloud data for the occurrence of strata close to the surface and the detectable point set; S32, dividing the closed polyline source point cloud to generate a stratum surface: dividing the closed polyline generated in step S31 into a stratum structure surface and performing a certain degree of manual adjustment; S33, determining the point cloud data obtained by the borehole and terrain interpolation factors: taking the corresponding stratum coordinates in the borehole as the necessary points, taking the terrain as the reference surface, and interpolating and smoothing the necessary points to obtain the overall point cloud relative to the terrain surface; converting the relative elevation coordinates of the point cloud into actual coordinates to obtain the final point cloud as the subsequent segmentation point cloud data; S34, 2.5d subdivision of boreholes and terrain interpolation factors to generate stratigraphic surfaces from point clouds: based on the S33 point cloud, subdivision is performed on the projection xy plane and the data is organized into a half-edge structure surface and a certain degree of manual adjustment is performed; S35, repair and regenerate all stratum structure surfaces: remove abnormal points from the stratum structure surfaces generated in step S32 and step S34 and re-divide them by 2.5d; S36, determine the formation surface array: add the formation structure surface regenerated in step S35 into the array according to the layer sequence.
5. The method for constructing an irregular stratigraphic entity for a sequenced stratigraphic layer according to claim 1, characterized in that: Step S9 specifically includes the following contents: S91, save the mesh as stream data in a specified 3D format; S92, if it is configuration item writing, save the stream data of step S91 according to the configuration item path; S93: If the data needs to be generated and then transmitted, the stream data of step S91 is transmitted in a shared memory or over a network.
