Ore body three-dimensional model top and bottom plate gridding extraction method and electronic equipment

Through standardized mesh division, quadtree iteration and triangulation rules, the top and bottom plate model of the ore body three-dimensional model is automatically extracted, which solves the problem of inefficiency in the existing technology, realizes real-time synchronization and accurate update of the model, and avoids logical errors at the junction.

CN120388146AActive Publication Date: 2025-07-29DAYE NONFERROUS DESIGN & RES INST +1
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
CN202510466031.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-15
Publication Date
2025-07-29
Estimated Expiration
2045-04-15

AI Technical Summary

Technical Problem

The extraction efficiency of the top and bottom plate model of the three-dimensional model of ore body in mining is inefficient and difficult to deal with complex junctions, resulting in untimely model updates and logical errors.

Method used

Standardized outsourcing rectangular parameterized mesh division, quadtree iteration refinement and triangulation rules are adopted to automatically extract the top and bottom plate model, and dynamic updates are achieved through the decoupling of design parameters and ore model to ensure real-time synchronization and accuracy of the model.

Benefits of technology

It realizes automated top-bottom board model extraction, improves efficiency, supports dynamic updates, avoids model cross-logic errors, and ensures the timeliness and accuracy of the model.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120388146A_ABST
    Figure CN120388146A_ABST
Patent Text Reader

Abstract

The invention discloses an ore body three-dimensional model top and bottom plate gridding extraction method and electronic equipment, and the method comprises the steps: obtaining a plurality of ore body three-dimensional models corresponding to an ore body, and determining a to-be-extracted boundary type and a design parameter corresponding to the to-be-extracted boundary type; constructing a minimum bounding rectangle corresponding to the plurality of ore body three-dimensional models along the trend of the ore body; carrying out standardization processing on the minimum bounding rectangle; generating an initial grid point set based on the plurality of first grid segments and the plurality of generated second grid segments; classifying the grids in the initial grid point set into boundary grids and non-boundary grids based on the number of external points in the vertexes of each grid; leaf nodes corresponding to the initial boundary grids are determined; if the number of the external points of the leaf nodes is zero, performing triangulation network construction on the leaf nodes based on a triangulation method, and generating a first triangulation network corresponding to the initial boundary grid; and generating a boundary model corresponding to the boundary type based on each first triangulation network.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of 3D modeling technology, and particularly to a method for extracting the meshes of the roof and floor of an ore body 3D model and an electronic device. Background Art

[0002] In the field of mine exploitation, an ore body 3D model is a geological model that visually expresses the shape and structure of an underground ore body through digital technology. As an important geological tool, the roof or floor model of an ore body 3D model plays a crucial role in accurate mine exploitation design, quantitative safety assessment, and efficient production management.

[0003] Currently, the roof or floor model is mainly extracted through human-computer interaction. Specifically, in the window where the ore body 3D model is displayed, the operator needs to select the triangular patches belonging to the roof or floor through human-computer interaction and merge them to form the roof or floor model.

[0004] However, this method has the following disadvantages: (1) Low efficiency. The human-computer interaction method requires a large amount of manual operations, which is time-consuming and laborious. Especially when the ore body 3D model needs to be dynamically updated, it is difficult to update the roof or floor model in a timely manner, seriously affecting the efficiency of mine exploitation and the timeliness of decision-making. (2) Insufficient ability to handle complex junctions. The human-computer interaction method is difficult to handle the roof and floor models at the junctions of multiple ore body models, easily resulting in logical errors of spatial intersection in the roof and floor models at the junctions of multiple ore body models. Summary of the Invention

[0005] In view of this, embodiments of this application provide a method for extracting the meshes of the roof and floor of an ore body 3D model and an electronic device, aiming to solve the problems of low efficiency and insufficient ability to handle complex junctions when extracting the roof and floor models.

[0006] The technical solution of the embodiments of this application is implemented as follows:

[0007] In a first aspect, embodiments of this application provide a method for extracting the meshes of the roof and floor of an ore body 3D model and an electronic device, including:

[0008] Obtain multiple ore body 3D models corresponding to an ore body, and determine the boundary type to be extracted and the design parameters corresponding to the boundary type to be extracted; wherein, the boundary type includes the roof or floor, and the design parameters include the first mesh size data along the ore body strike and the second mesh size data perpendicular to the ore body;

[0009] Construct the minimum bounding rectangle corresponding to the multiple three-dimensional ore body models along the strike of the ore body; and perform standardization processing on the minimum bounding rectangle, where the size of the bounding rectangle along the strike of the ore body is an integer multiple of the first grid size data, and the size of the bounding rectangle perpendicular to the strike of the ore body is an integer multiple of the second grid size data;

[0010] Divide the standardized minimum bounding rectangle into multiple first grid segments along the strike of the ore body and multiple second grid segments perpendicular to the strike of the ore body; based on the multiple first grid segments and the generated multiple second grid segments, generate an initial grid point set, and determine the elevation values of the vertices in each of the initial grid point sets;

[0011] Classify the grids in the initial grid point set into boundary grids and non-boundary grids based on the number of external points among the vertices of each grid;

[0012] For each initial boundary grid in the initial grid point set, perform quadtree iteration to divide the initial boundary grid into multiple sub-boundary grids until the vertex number condition or the iteration number condition is met and then stop the iteration, and determine the leaf nodes corresponding to the initial boundary grid, where the leaf nodes are the sub-boundary grids of the initial boundary grid when the vertex number condition or the iteration number condition is met;

[0013] If the number of external points of the leaf node is 0, then construct a triangular mesh for the leaf node based on the triangulation method to generate the first triangular mesh corresponding to the initial boundary grid; based on each of the first triangular meshes, generate the boundary model corresponding to the boundary type.

[0014] In some embodiments, the classifying the grids in the initial grid point set into boundary grids and non-boundary grids based on the number of external points among the vertices of each grid includes:

[0015] For each grid among the multiple grids, if it is determined that the number of external points of the grid satisfies the threshold interval, then classify the grid as a boundary grid, where the threshold interval is [1, 3], and the external points are the vertices among each vertex where the ray along the vertical direction has no intersection with the multiple three-dimensional ore body models;

[0016] If it is determined that the number of external points does not satisfy the threshold interval, then classify the grid as a non-boundary grid.

[0017] In some embodiments, the method further includes:

[0018] For each vertex of each grid among the multiple grids, make a ray along the vertical direction to intersect with the multiple three-dimensional ore body models;

[0019] If a ray is drawn from the vertex in the vertical direction and intersects with the multiple 3D ore body models, determine the maximum elevation value corresponding to each intersection point; and use the maximum elevation value as the elevation value of the vertex.

[0020] In some embodiments, the vertex quantity condition is that the number of external points among the four vertices of the initial boundary grid is 0 or 4, and the iteration number condition is that the quadtree depth of the initial boundary grid reaches a preset boundary fitting iteration number.

[0021] In some embodiments, for each initial boundary grid in the initial grid point set, perform quadtree iteration to divide the initial boundary grid into multiple sub-boundary grids until the iteration stops when the vertex quantity condition or the iteration number condition is satisfied, and determine the leaf node corresponding to the initial boundary grid, including:

[0022] For each initial boundary grid in the initial grid point set, perform quadtree iteration based on the iteration rule until the iteration stops when the vertex quantity condition of the boundary grid or the iteration number condition is satisfied, and determine the leaf node corresponding to the initial boundary grid;

[0023] Among them, the iteration rule includes:

[0024]

[0025] Among them, Q(c i′,j′ ) is the quadtree representation of the initial boundary grid c i′,j′ , Leaf() represents the leaf node of the quadtree, Node() represents the intermediate node of the quadtree, and I(c i′,j′ ) represents performing c() on the 4 vertices of the initial boundary grid c i′,j′ .

[0026] When the initial boundary grid c i′,j′ satisfies the vertex quantity condition or the iteration number condition, then generate Leaf(), and Leaf() is the leaf node; the vertex quantity condition is that the number of vertices marked as external points among the 4 vertices of the initial boundary grid c i′,j′ is 0 or 4; the iteration number condition is that the quadtree depth of the initial boundary grid c i′,j′ reaches a preset boundary fitting iteration number n b .

[0027] In some embodiments, the non-boundary grid further includes: an external grid and an internal grid, and the method further includes:

[0028] Ignore the external grid; the external grid is a grid with the number of external points being 4.

[0029] For each internal grid in the initial grid points set, construct a triangular network for the internal grid based on a triangulation method to generate a second triangular network corresponding to the internal grid; the internal grid is a grid with the number of external points being 0.

[0030] Generate a boundary model corresponding to the boundary type based on each of the first triangular networks and each of the second triangular networks.

[0031] In some embodiments, the method further includes:

[0032] If the number of external points of the leaf node is 1, determine three non-external points in the leaf node except the external point; and construct a triangular network based on the three non-external points to generate a first triangular network corresponding to the initial boundary grid.

[0033] If the number of external points of the leaf node is 2 to 4, ignore the leaf node.

[0034] In some embodiments, the triangulation method includes a diagonal triangulation method and a triangle refinement method based on the quadtree depth. The constructing a triangular network for the leaf node based on the triangulation method to generate a first triangular network corresponding to the initial boundary grid includes:

[0035] Based on the diagonal triangulation method, construct a first sub-triangle for the quadrilateral formed by the four vertices of the sub-boundary grid corresponding to the leaf node.

[0036] Based on the diagonal triangulation method, divide the first sub-triangle to generate a second sub-triangle, and determine whether to generate a sub-quadrilateral; if so, divide the sub-quadrilateral based on the triangulation method to generate a third sub-triangle until the edge quadtree depth of the third sub-triangle is 0.

[0037] Generate the first triangular network based on the second sub-triangle and the third sub-triangle.

[0038] In some embodiments, the diagonal triangulation method includes:

[0039] Determine a first minimum interior angle value of a first candidate triangle group of the quadrilateral and a second minimum interior angle value of a second candidate triangle group of the quadrilateral; the first candidate triangle group is composed of two triangles generated by dividing with a first diagonal, and the second candidate triangle group is composed of two triangles generated by dividing with a second diagonal.

[0040] Determine whether the first minimum interior angle value is greater than the second minimum interior angle value; if so, construct the first sub-triangle based on the first candidate triangle group.

[0041] Otherwise, construct the first sub-triangle based on the second candidate triangle group.

[0042] In some embodiments, the triangle refinement method based on the quadtree depth includes:

[0043] If the quadtree depths of the adjacent sides of the first sub-triangle are both 0, determine that the first sub-triangle is the second sub-triangle;

[0044] If the quadtree depth of one of the adjacent sides of the first sub-triangle is 0, divide the first sub-triangle into the second sub-triangle;

[0045] If the quadtree depths of the adjacent sides of the first sub-triangle are both non-zero, determine the side with the higher quadtree depth as the target side; and connect the midpoint on the target side to the vertex of the opposite side of the target side to generate the second sub-triangle and the sub-quadrilateral.

[0046] In a second aspect, an embodiment of the present application provides an electronic device, including: a processor and a memory for storing a computer program that can run on the processor, wherein when the processor is used to run the computer program, it executes the steps of the method described in the first aspect of the embodiments of the present application.

[0047] The technical solution provided by the embodiments of the present application, a method for grid extraction of the top and bottom plates of an ore body three-dimensional model, includes: obtaining multiple ore body three-dimensional models corresponding to the ore body, and determining the boundary types to be extracted and the design parameters corresponding to the boundary types to be extracted; wherein, the boundary types include the top plate or the bottom plate, and the design parameters include the first grid size data along the ore body strike and the second grid size data perpendicular to the ore body; constructing the minimum circumscribed rectangles corresponding to the multiple ore body three-dimensional models along the ore body strike; and performing standardization processing on the minimum circumscribed rectangles, the size of the circumscribed rectangle along the ore body strike is an integer multiple of the first grid size data, and the size of the circumscribed rectangle perpendicular to the ore body strike is an integer multiple of the second grid size data; dividing the standardized minimum circumscribed rectangles into multiple first grid segments along the ore body strike and multiple second grid segments perpendicular to the ore body strike; generating an initial grid point set based on the multiple first grid segments and the multiple second grid segments, and determining the elevation values of the vertices in each initial grid point set; classifying the grids in the initial grid point set as boundary grids and non-boundary grids based on the number of external points among the vertices of each grid; for each initial boundary grid in the initial grid point set, performing quadtree iteration to divide the initial boundary grid into multiple sub-boundary grids until the vertex number condition or the iteration number condition is met and then stop the iteration, and determining the leaf nodes corresponding to the initial boundary grids, the leaf nodes are the sub-boundary grids of the initial boundary grids when the vertex number condition or the iteration number condition is met; if the number of external points of the leaf node is 0, then constructing a triangular network for the leaf node based on the triangulation method to generate the first triangular network corresponding to the initial boundary grid; generating the boundary model corresponding to the boundary type based on each first triangular network.

[0048] In this way, the embodiments of the present application can achieve (1) automation and efficiency improvement. Through standardized circumscribed rectangle parameterized grid division, quadtree iteration refinement, and triangulation rules, the extraction of the boundary model can be automated, solving the problems of time-consuming and laborious human-computer interactive extraction of the top and bottom plates and low efficiency; (2) dynamic update support. In the present application, by decoupling the design parameters (grid size, iteration number) from the ore body model, when the ore body three-dimensional model is updated, only the grid division and quadtree iteration processes need to be re-executed based on the new model without manual intervention, ensuring real-time synchronization of the top and bottom plate models, which ensures that the top and bottom plate models can be updated in real time to maintain the timeliness and accuracy of the models; (3) support for extracting the top and bottom plate models at the junction of multiple ore body models and avoiding logical errors of spatial intersection of the top and bottom plate models. The ore body boundary is accurately identified through external points, and at the same time, the boundary grids are recursively divided by combining quadtree refinement, and finally a continuous triangular network is constructed using the triangulation method to avoid model intersection or hole problems caused by grid misalignment at the junction of multiple ore body models. Description of the Drawings

[0049] Figure 1Schematic flow chart of the method for extracting the top and bottom plates of the ore body three-dimensional model provided by the embodiments of the present application;

[0050] Figure 2 Schematic flow chart of the method for extracting the top and bottom plates of the ore body three-dimensional model provided by an application example of the present application;

[0051] Figure 3 Schematic structural diagram of the electronic device provided by the embodiments of the present application. Detailed implementation manners

[0052] The present application will be further described in detail below with reference to the accompanying drawings and embodiments.

[0053] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those of ordinary skill in the technical field to which this application belongs. The terms used in the description of this application herein are only for the purpose of describing specific embodiments and are not intended to limit this application.

[0054] The embodiments of the present application provide a method for extracting the top and bottom plates of the ore body three-dimensional model. As Figure 1 shown, the method includes the following steps:

[0055] Step 110: Obtain multiple ore body three-dimensional models corresponding to the ore body, and determine the boundary type to be extracted and the design parameters corresponding to the boundary type to be extracted; wherein, the boundary type includes the top plate or the bottom plate, and the design parameters include the first grid size data along the ore body strike and the second grid size data perpendicular to the ore body.

[0056] In this embodiment, the input data for extracting the top and bottom plates of the ore body three-dimensional model includes multiple ore body three-dimensional models.

[0057] In this embodiment, the ore body three-dimensional model is a digital model constructed through geological exploration, borehole data or three-dimensional scanning technology, and is used to represent the three-dimensional spatial form and distribution of the ore body. In practical applications, the ore body corresponds to multiple ore body three-dimensional models.

[0058] In this embodiment, the boundary type of the ore body includes the top plate or the bottom plate. It can be understood that the top plate is the upper surface of the ore body, representing the interface between the ore body and the overlying rock formation. The bottom plate is the lower surface of the ore body, representing the interface between the ore body and the basement rock formation.

[0059] The ore body extension direction (i.e., the long axis direction) can be determined based on geological exploration data and corresponds to the X-axis in the three-dimensional coordinate system; while the direction perpendicular to the ore body strike, that is, the direction perpendicular to the ore body strike, corresponds to the Y-axis.

[0060] In this embodiment, the first grid size (along the ore body strike) defines the division accuracy of the grid in the ore body extension direction (such as the X-axis). The second grid size (perpendicular to the ore body strike) defines the division accuracy of the grid in the direction perpendicular to the ore body extension (such as the Y-axis).

[0061] Exemplarily, the design parameters for extracting the top and bottom plates of the three-dimensional ore body model include the first grid size data e along the ore body strike x and the second grid size data e perpendicular to the ore body strike y .

[0062] Step 120: Construct the minimum bounding rectangles corresponding to multiple three-dimensional ore body models along the ore body strike; and perform standardization processing on the minimum bounding rectangles. The size of the bounding rectangle along the ore body strike is an integer multiple of the first grid size data, and the size of the bounding rectangle perpendicular to the ore body strike is an integer multiple of the second grid size data.

[0063] It can be understood that the minimum bounding rectangle is the rectangle with the smallest area that contains a set of geometric objects (such as the three-dimensional ore body model), and its sides are aligned with the preset coordinate system (such as the X-axis in the ore body strike direction and the Y-axis in the vertical direction), so as to ensure that all ore body models are completely contained within the rectangle, providing a reference range for subsequent grid division and standardization processing.

[0064] In this embodiment, the minimum bounding rectangles of multiple ore body models can be constructed along the ore body strike (X-axis) to cover the spatial range of all ore bodies.

[0065] It can be understood that the standardization processing refers to adjusting the size of the bounding rectangle to an integer multiple of the grid size to ensure the regularity of subsequent grid division.

[0066] In this embodiment, the size of the bounding rectangle along the ore body strike is adjusted to an integer multiple of the first grid size, and the size perpendicular to the ore body strike is adjusted to an integer multiple of the second grid size, so as to ensure the regularity of grid division, avoid the occurrence of non-integer multiple remainder areas, and simplify the subsequent processing flow

[0067] Exemplarily, the first grid size e along the ore body strike x and the second grid size e perpendicular to the ore body strike y . Construct the minimum rectangular envelopes of multiple three-dimensional ore body models along the ore body strike. Let the size of the minimum rectangular envelope along the strike be b x and the size perpendicular to the strike be b y . Standardize the size of the minimum rectangular envelope so that the size of the minimum rectangular envelope along the ore body strike is the minimum value of an integer multiple of the first grid size e x and the size perpendicular to the strike is the minimum value of an integer multiple of the second grid size e y . The size of the standardized minimum rectangular envelope along the strike is ex × ceil(b x / e x )、 the dimension in the vertical direction is e y × ceil(b y / e y ).

[0068] It should be noted that the design parameters of this application (such as grid size, number of iterations, etc.) are independent of the three-dimensional ore body model itself and do not depend on a specific ore body model. This decoupled design enables the design parameters to be flexibly adjusted without being bound to the specific details of the ore body model. In addition, this application ensures that the design parameters are independent of the size of the ore body model through standardization processing (such as adjusting the size of the circumscribed rectangle to an integer multiple of the grid size).

[0069] The independence of the design parameters (such as grid size, number of iterations, etc.) means that when the three-dimensional ore body model is updated, these parameters do not need to be readjusted, thus supporting dynamic updates. For example, the grid size can be set to a fixed value (such as 1 meter × 1 meter) regardless of the size or shape of the ore body model. The decoupled design enables the design parameters to remain unchanged or only need to be simply adjusted to adapt to the new model when the ore body model changes, supporting dynamic updates.

[0070] Step 130: Divide the standardized minimum circumscribed rectangle into multiple first grid segments along the ore body strike and into multiple second grid segments perpendicular to the ore body strike; Generate an initial grid point set based on the multiple first grid segments and the generated multiple second grid segments, and determine the elevation values of the vertices in each initial grid point set.

[0071] It can be understood that grid division refers to the process of uniformly dividing the circumscribed rectangle after standardization into multiple grid cells along the X-axis and Y-axis.

[0072] In this embodiment, the standardized minimum circumscribed rectangle is divided into multiple first grid segments with m = ceil(b x / e x ) along the ore body strike; and divided into multiple second grid segments with n = ceil(b y / e y ) perpendicular to the ore body strike. The evenly divided grids are constructed into a grid set, and let any grid be c i,j , and each grid cell is composed of the following four vertices:

[0073] P i,j , P i+1,j , P i,j+1 and P i+1,j+1

[0074] Among them, the value range of i is [1, ceil(b x / ex )], the value range of j is [1,ceil(b y / e y )]

[0075] It is understood that the normalization process has ensured that the size of the outer rectangle is e x ×m and e y ×n, so the meshing does not need to deal with the remainder area.

[0076] In addition, the elevation value of each vertex in each initial grid point set can also be determined.

[0077] Step 140: Classify the meshes in the initial mesh point set into boundary meshes and non-boundary meshes based on the number of external points in the vertices of each mesh.

[0078] It is understood that external points refer to points located outside the ore body boundary. Boundary grids are grids located near the top or bottom of the ore body and are mainly used to construct the boundary model of the ore body. Non-boundary grids are grids located inside the ore body or other non-boundary areas.

[0079] This example counts the number of external points in the mesh vertices to determine the type of each mesh in the initial mesh point set, classifying the meshes in the initial mesh point set into boundary and non-boundary meshes. This effectively identifies meshes near the roof or floor of the ore body, providing a foundation for subsequent boundary model extraction.

[0080] Step 150: For each initial boundary grid in the initial grid point set, perform quadtree iteration to divide the initial boundary grid into multiple sub-boundary grids until the iteration is stopped when the vertex number condition or the iteration number condition is met, and determine the leaf node corresponding to the initial boundary grid. The leaf node is the sub-boundary grid of the initial boundary grid when the vertex number condition or the iteration number condition is met.

[0081] It can be understood that the quadtree is a spatial subdivision algorithm that continuously divides the mesh into four sub-meshes, gradually refining the boundary mesh and improving the accuracy of the boundary model. Each iteration checks whether the termination conditions, such as the number of vertices or the number of iterations, are met to ensure that the iteration process is carried out within a reasonable range. When the termination conditions are met, the sub-boundary meshes of the initial boundary mesh that currently meets the number of vertices or the number of iterations are marked as leaf nodes. These leaf nodes represent the final details of the boundary model and provide the basic units for the subsequent triangulation construction.

[0082] In this way, the initial boundary grid is iteratively refined by the quadtree to achieve local grid iterative refinement to meet the boundary fitting accuracy, without manual intervention. At the same time, logical errors can be avoided, and the processing of multi-model intersections can be realized, ensuring grid refinement at the intersections of multiple ore body models and avoiding model crossing or hole problems.

[0083] Step 160: If the number of external points of the leaf node is 0, construct a triangular mesh for the leaf node based on the triangulation method to generate a first triangular mesh corresponding to the initial boundary grid; based on each first triangular mesh, generate a boundary model corresponding to the boundary type.

[0084] It can be understood that the triangulation method is a technology that connects spatial data points into a triangular network and is widely used in terrain modeling, building surface representation, and computer graphics to construct complex graphics and models. The boundary model is used to represent the three-dimensional model of the roof or floor of the ore body and can accurately reflect the boundary shape and spatial distribution of the ore body.

[0085] In this embodiment, the leaf node is a sub-boundary grid of the initial boundary grid that meets the vertex number condition or the iteration number condition during the quadtree iteration process. These leaf nodes are the basis for triangular mesh construction. By connecting the leaf nodes into triangles to form a continuous and smooth boundary surface, triangular mesh construction can be carried out to generate a boundary model corresponding to the boundary type.

[0086] It can be understood that if there are external points in the leaf node, including these external points in the triangular mesh construction may cause errors or inaccuracies in the boundary model. For example, external points may cause breaks, intersections, or other logical errors in the boundary surface, thus affecting the accuracy and usability of the boundary model. Based on this, if the number of external points of the leaf node is 0, construct a triangular mesh for the leaf node based on the triangulation method to generate a first triangular mesh corresponding to the initial boundary grid; based on each first triangular mesh, generate a boundary model corresponding to the boundary type.

[0087] In this way, the triangular mesh construction can be automated to generate the boundary model, reducing the workload of manual construction and improving efficiency. At the same time, by ensuring that there are no external points in the leaf node for triangular mesh construction, model errors caused by external points are avoided, ensuring the continuity and smoothness of the boundary model.

[0088] Thus, the embodiments of the present application can achieve: (1) automation and efficiency improvement. By standardizing the parametric grid division of the outsourcing rectangle, the quadtree iterative refinement, and the triangulation rules, the extraction of the boundary model can be automated, solving the problems of time-consuming and inefficient human-computer interactive extraction of the top and bottom plates; (2) dynamic update support. By decoupling the design parameters (grid size, number of iterations) from the ore body model in the present application, when the three-dimensional model of the ore body is updated, only the grid division and quadtree iteration processes need to be re-executed based on the new model without manual intervention, ensuring the real-time synchronization of the top and bottom plate models, which ensures that the top and bottom plate models can be updated in real time and maintain the timeliness and accuracy of the models; (3) support for processing the extraction of the top and bottom plate models at the junction of multiple ore body models and avoiding logical errors of spatial intersection of the top and bottom plate models. By accurately identifying the ore body boundary with external points and combining the quadtree refinement to recursively divide the boundary grid, and finally using the triangulation method to construct a continuous triangular mesh, the problems of model intersection or holes caused by grid misalignment at the junction of multiple ore body models can be avoided.

[0089] In some embodiments, based on the number of external points among the vertices of each grid, the grids in the initial grid point set are classified into boundary grids and non-boundary grids, including:

[0090] For each of the multiple grids, if it is determined that the number of external points of the grid satisfies the threshold interval, the grid is classified as a boundary grid, the threshold interval is [1, 3], and the external point is the vertex among the vertices where the ray along the vertical direction has no intersection with the three-dimensional models of multiple ore bodies;

[0091] If it is determined that the number of external points does not satisfy the threshold interval, the grid is classified as a non-boundary grid.

[0092] In this embodiment, to accurately identify the grids near the roof or floor of the ore body, it is necessary to classify the grid types to ensure that the subsequent boundary model extraction is based on the correct grids, improving the accuracy and reliability of the model.

[0093] In this embodiment, the grids can be classified into boundary grids or non-boundary grids according to the number of external points among the vertices of the grids. The external point refers to the vertex among the vertices of the grid where the ray along the vertical direction has no intersection with the three-dimensional models of multiple ore bodies. This means that these vertices are located outside the three-dimensional models of the ore bodies and do not belong to the boundary range of the ore bodies.

[0094] In this embodiment, for each grid, its classification is determined by checking the number of external points among its vertices. If the number of external points of a grid is within the threshold range [1, 3], then the grid is classified as a boundary grid. This indicates that the grid is near the boundary of the ore body because some of its vertices belong to the interior of the ore body while some others are outside. If the number of external points is not within this range (i.e., 0 or 4), then the grid is a non-boundary grid. This indicates that the grid is either completely inside the ore body or completely outside the ore body. Thus, by checking the number of external points of each grid and classifying according to the preset threshold range, boundary grids and non-boundary grids can be effectively distinguished.

[0095] Exemplarily, for any vertex P in the grid i,j , a ray is drawn in the vertical direction, and all the intersection points of the ray and multiple three-dimensional ore body models are calculated. When the number of intersection points is 0, the point P i,j is marked as an external point. For any grid c i,j , when the number of vertices marked as external points among the 4 vertices of the grid c i,j is 1 to 3, then the grid c i,j is a boundary grid.

[0096] In some embodiments, the method further includes:

[0097] For each vertex of each grid among multiple grids, a ray is drawn in the vertical direction to intersect with multiple three-dimensional ore body models;

[0098] If the ray drawn from the vertex in the vertical direction intersects with multiple three-dimensional ore body models, then determine the maximum elevation value corresponding to each intersection point; and use the maximum elevation value as the elevation value of the vertex.

[0099] In this embodiment, for each vertex of each grid among multiple grids, a ray is drawn in the vertical direction. And determine whether the ray intersects with multiple three-dimensional ore body models. This means that the ray may pass through one or more faces of the ore body model. If the ray intersects with the three-dimensional ore body model, then determine the elevation values of all the intersection points. The elevation values of these intersection points reflect the height of the position where the ray passes through the ore body model. Among the elevation values of all the intersection points, select the maximum elevation value as the elevation value of the vertex. Doing so ensures the accuracy of the vertex elevation value and can truly reflect the height of the ore body boundary (such as the roof or floor).

[0100] It should be noted that if the ray in the vertical direction from the vertex does not intersect with the three-dimensional ore body model, then the vertex is marked as an external point. This indicates that the vertex is outside the ore body model and does not belong to the boundary range of the ore body.

[0101] Exemplarily, define the method c(P i,j ), which means for any vertex P i,j, draw a ray in the vertical direction, calculate all the intersection points of the ray and the three-dimensional models of multiple ore bodies, and obtain the elevation value h of the point with the maximum elevation among all the intersection points max Assign it to vertex P i,j , that is, vertex P i,j is set to have an elevation of h max .

[0102] In some embodiments, the vertex quantity condition is that the number of external points among the four vertices of the initial boundary grid is 0 or 4, and the iteration number condition is that the quadtree depth of the initial boundary grid reaches a preset boundary fitting iteration number.

[0103] In this embodiment, during the quadtree iteration process, whenever a boundary grid meets the vertex quantity condition or the iteration number condition, further subdivision of this grid is stopped. At this time, this grid is marked as a leaf node. A leaf node is the final node in the quadtree that is no longer subdivided, representing the final detailed part of the boundary model. These leaf nodes will be used for subsequent triangular mesh construction.

[0104] In this embodiment, the vertex quantity condition is defined as that among the four vertices of the boundary grid, the number of external points must be 0 or 4. If the number of external points is 0, it means that all four vertices are within the ore body boundary. This means that this grid completely belongs to the boundary range of the ore body and can be used for subsequent triangular mesh construction. When the number of external points is 4, it indicates that all four vertices are outside the ore body boundary. This means that this grid is completely outside the ore body and does not belong to the boundary range of the ore body and can be ignored.

[0105] In this embodiment, the iteration number condition means that the quadtree depth of the boundary grid reaches a preset boundary fitting iteration number. A quadtree is a spatial subdivision algorithm that divides a grid into four sub-grids in each iteration. The quadtree depth represents the number of iterations, and the greater the depth, the finer the grid division. The preset boundary fitting iteration number: This is a preset parameter used to control the fineness of the iteration. When the quadtree depth reaches this preset value, further iteration is stopped to avoid over-subdivision.

[0106] In some embodiments, for each initial boundary grid in the initial grid point set, perform quadtree iteration, divide the initial boundary grid into multiple sub-boundary grids, and stop the iteration until the vertex quantity condition or the iteration number condition is met, and determine the leaf node corresponding to the initial boundary grid, including:

[0107] For each initial boundary grid in the initial grid point set, perform quadtree iteration based on the iteration rule until the vertex quantity condition or the iteration number condition of the boundary grid is met, and stop the iteration, and determine the leaf node corresponding to the initial boundary grid;

[0108] Among them, the iteration rule includes:

[0109]

[0110] Among them, Q(c i′,j′ ) is the quadtree representation of the initial boundary grid c i′,j′ . Leaf() represents the leaf nodes of the quadtree, Node() represents the intermediate nodes of the quadtree, and I(c i′,j′ ) represents performing c() on the 4 vertices of the initial boundary grid c i′,j′ .

[0111] When the initial boundary grid c i′,j′ satisfies the vertex quantity condition or the iteration number condition, Leaf() is generated, and Leaf() is a leaf node; the vertex quantity condition is that the number of externally marked points among the 4 vertices of the initial boundary grid c i′,j′ is 0 or 4; the iteration number condition is that the quadtree depth of the initial boundary grid c i′,j′ reaches the preset boundary fitting iteration number n b .

[0112] Exemplarily, when the initial boundary grid c i′,j′ satisfies the vertex quantity condition or the iteration number condition, Leaf() is generated, and Leaf(I(c i′,j′ )) is directly returned. Otherwise, continue to recursively perform the same operation on the four sub-grids c i′,j′ of c i′,j′,1 , c i′,j′,2 , c i′,j′,3 , c i′,j′,4 and combine the results into an intermediate node Node().

[0113] In some embodiments, the non-boundary grid further includes: an external grid and an internal grid, and the method further includes:

[0114] Ignoring the external grid; the external grid is a grid with 4 external points;

[0115] For each internal grid in the initial grid point set, constructing a triangular mesh for the internal grid based on the triangulation method to generate a second triangular mesh corresponding to the internal grid; the internal grid is a grid with 0 external points;

[0116] Generating a boundary model corresponding to the boundary type based on each first triangular mesh and each second triangular mesh.

[0117] In this embodiment, the non-boundary grids are further divided into external grids and internal grids. The external grids are defined as those with all four vertices being external points (i.e., the number of external points is 4). These grids are completely outside the boundary of the ore body and can thus be ignored and not participate in the subsequent modeling process. The internal grids are defined as those with no external points among their four vertices (i.e., the number of external points is 0).

[0118] Exemplarily, for each grid c i,j modeling is performed separately. When the number of vertices marked as external points among the 4 vertices of grid c i,j is 4, this grid is an external grid and is thus ignored; when the number of vertices marked as external points among the 4 vertices of grid c i,j is 0, this grid is an internal grid, and a triangulation method is used to construct a triangular network.

[0119] In some embodiments, the method further includes:

[0120] If the number of external points of a leaf node is 1, then determine the three non-external points in the leaf node except the external point; and construct a triangular network based on the three non-external points to generate the first triangular network corresponding to the initial boundary grid;

[0121] If the number of external points of a leaf node is 2 to 4, then ignore the leaf node.

[0122] Exemplarily, when the number of vertices marked as external points among the 4 vertices of grid c i,j is 1 to 3, this grid is the initial boundary grid c i,j , and at this time, modeling is performed separately for all leaf nodes c i,j of the quadtree of the initial boundary grid c i″,j″ :

[0123] When the number of vertices marked as external points among the 4 vertices of grid c i″,j″ is 2 to 4, ignore this grid;

[0124] When the number of vertices marked as external points among the 4 vertices of grid c i″,j″ is 1, then there are 3 vertices in grid c i″,j″ that are non-external points, and use these 3 vertices to directly construct a triangular network;

[0125] When the number of vertices marked as external points among the 4 vertices of grid c i″,j″ is 0, then there are 4 vertices in grid c i″,j″ that are non-external points, and use the triangulation method T2(c i″,j″ ) to construct a triangular network.

[0126] In some embodiments, the triangulation method includes a diagonal triangulation method and a triangle refinement method based on the quadtree depth. Based on the triangulation method, a triangular mesh is constructed for the leaf nodes to generate a first triangular mesh corresponding to the initial boundary mesh, including:

[0127] Based on the diagonal triangulation method, a first sub-triangle is constructed for the quadrilateral formed by the four vertices of the sub-boundary mesh corresponding to the leaf node;

[0128] Based on the diagonal triangulation method, the first sub-triangle is divided to generate a second sub-triangle, and it is determined whether a sub-quadrilateral is generated; if so, based on the triangulation method, the sub-quadrilateral is divided to generate a third sub-triangle until the quadtree depth of the edges of the third sub-triangle is 0;

[0129] Based on the second sub-triangle and the third sub-triangle, the first triangular mesh is generated.

[0130] In this embodiment, the diagonal triangulation method is a method of dividing a quadrilateral into two triangles. By selecting the diagonal of the quadrilateral, the quadrilateral is divided into two triangles. In practical applications, the diagonal triangulation method is applied to the quadrilateral formed by the four vertices of the sub-boundary mesh corresponding to the leaf node to generate the first sub-triangle.

[0131] In this embodiment, the triangle refinement method is a method of further dividing triangles according to the quadtree depth to improve the accuracy of the triangular mesh. In practical applications, the generated first sub-triangle is further divided to generate finer-grained triangles (second sub-triangles), and it is checked whether a sub-quadrilateral is generated. If so, continue to divide the sub-quadrilateral based on the triangulation method until the quadtree depth of the edges of the triangle is 0.

[0132] In this embodiment, using the diagonal triangulation method, the quadrilateral formed by the four vertices of the sub-boundary mesh corresponding to the leaf node is divided into two triangles to generate the first sub-triangle. Based on the diagonal triangulation method, the first sub-triangle is further divided to generate finer-grained triangles (second sub-triangles). And it is determined whether a sub-quadrilateral is generated. If a sub-quadrilateral is generated, continue to use the diagonal triangulation method to divide the sub-quadrilateral to generate the third sub-triangle. Repeat this process until the quadtree depth of the generated triangle edges is 0. Combine all the generated sub-triangles (second sub-triangles and third sub-triangles) together to form the first triangular mesh corresponding to the initial boundary mesh.

[0133] In this way, by combining the diagonal triangulation method and the triangle refinement method based on the quadtree depth, a continuous and smooth triangular mesh can be generated, thus ensuring that the boundary shape and spatial distribution of the ore body can be accurately reflected.

[0134] In some embodiments, the diagonal triangulation method includes:

[0135] Determine a first minimum interior angle value of a first candidate triangle group of a quadrilateral and a second minimum interior angle value of a second candidate triangle group of the quadrilateral; the first candidate triangle group is composed of two triangles generated by dividing with a first diagonal, and the second candidate triangle group is composed of two triangles generated by dividing with a second diagonal;

[0136] Determine whether the first minimum interior angle value is greater than the second minimum interior angle value. If so, construct a first sub-triangle based on the first candidate triangle group;

[0137] If not, construct a first sub-triangle based on the second candidate triangle group.

[0138] Exemplarily, define the diagonal triangulation method T2(S R ), where S R is composed of P1P2P3P4, S R is a quadrilateral, and P1, P2, P3, and P4 are the four vertices of the quadrilateral respectively. For the quadrilateral S R , it includes a first diagonal and a second diagonal.

[0139] Exemplarily, assume that the two triangles generated by dividing with the first diagonal are {(ΔP1P2P4), (ΔP2P3P4)}. The two triangles generated by dividing with the second diagonal are T2(S R ) = {T1(ΔP1P2P3), T1(ΔP1P3P4)}. Let the minimum interior angle of ΔP1P2P4 be α1, the minimum interior angle of ΔP2P3P4 be α2, the minimum interior angle of ΔP1P2P3 be α3, and the minimum interior angle of ΔP1P3P4 be α4. Determine the first minimum interior angle value of the first candidate triangle group of the quadrilateral and the second minimum interior angle value of the second candidate triangle group of the quadrilateral; determine whether the first minimum interior angle value is greater than the second minimum interior angle value. When min{α1, α2} ≥ min{α3, α4}, construct a first sub-triangle T2(S R ) = {T1(ΔP1P2P4), T1(ΔP2P3P4)} based on the first candidate triangle group; otherwise, construct a first sub-triangle T2(S R ) = {T1(ΔP1P2P3), T1(ΔP1P3P4)} based on the second candidate triangle group.

[0140] In some embodiments, the triangle refinement method based on the quadtree depth includes:

[0141] If the quadtree depths of the adjacent sides of the first sub-triangle are both 0, determine that the first sub-triangle is the second sub-triangle;

[0142] If the quadtree depth of one of the adjacent sides of the first sub-triangle is 0, then divide the first sub-triangle into second sub-triangles;

[0143] If the quadtree depths of the adjacent sides of the first sub-triangle are both non-zero, then determine the side with the higher quadtree depth as the target side; and connect the midpoint on the target side to the vertex of the opposite side of the target side to generate a second sub-triangle and a sub-quadrilateral.

[0144] Exemplarily, define a triangle refinement method T1(ΔABC) based on the quadtree depth. Let the first sub-triangle be ΔABC, and its adjacent sides include side AB and side AC. Let the quadtree depth on side AB be n1 and the quadtree depth on side AC be n2:

[0145] (1) When n1 = n2 = 0, the triangulation result is ΔABC; that is, if the quadtree depths of the adjacent sides of the first sub-triangle are both 0, then determine the first sub-triangle as the second sub-triangle;

[0146] (2) When n1 = 0 or n2 = 0, taking n1 = 0 as an example, connect point B to all the midpoints on side AC, thereby dividing ΔABC into n2×2 - 1 sub-triangles, and the triangulation result is n2×2 - 1 sub-triangles; that is, if the quadtree depth of one of the adjacent sides of the first sub-triangle is 0, then divide the first sub-triangle into second sub-triangles.

[0147] (3) When n1 ≠ 0 and n2 ≠ 0, if the quadtree depths of the adjacent sides of the first sub-triangle are both non-zero, then determine the side with the higher quadtree depth as the target side; and connect the midpoint on the target side to the vertex of the opposite side of the target side to generate a second sub-triangle and a sub-quadrilateral:

[0148] If n1 ≥ n2, then determine the side with the higher quadtree depth as side AC, connect all the midpoints on side AC to the corresponding points on AB, thereby dividing ΔABC into sub-triangle S T and n2×2 - 1 sub-quadrilaterals Triangulate each of the n2×2 - 1 sub-quadrilaterals

[0149] Otherwise, determine the side with the higher quadtree depth as side AB, connect all the midpoints on side AB to the corresponding points on AC, thereby dividing ΔABC into sub-triangle S T′ and n1×2 - 1 sub-quadrilaterals Triangulate each of the n1×2 - 1 sub-quadrilaterals

[0150] Next, the present application will be described in detail with a specific application example.

[0151] The three-dimensional ore body model is a geological model that visually represents the three-dimensional shape and structure of the underground ore body through digital technology. The roof or floor model of the three-dimensional ore body model plays a crucial role in the precise mining design, quantitative safety assessment, and efficient production management of mines.

[0152] The current main method for extracting the roof or floor model from the three-dimensional ore body model is through human-computer interaction. That is, in the window where the three-dimensional ore body model is displayed, triangular patches belonging to the roof or floor are selected interactively by humans and machines and merged to form the roof or floor model. This method has some obvious drawbacks. First, the human-computer interaction method is time-consuming and laborious, with low efficiency. After the three-dimensional ore body model is dynamically updated, the roof or floor model cannot be updated in a timely manner. Second, the human-computer interaction method is difficult to handle the roof and floor models at the intersection of multiple ore body models, easily leading to logical errors of spatial intersection in the roof and floor models at the intersection of multiple ore body models.

[0153] Based on this, this application example proposes a method for grid extraction of the roof and floor of the three-dimensional ore body model, which can conveniently and efficiently complete the grid extraction of the roof and floor of the three-dimensional ore body model according to the design parameters, thus achieving the following technical effects:

[0154] 1. Solve the problem of time-consuming and laborious extraction of the roof and floor by human-computer interaction and low efficiency, and at the same time meet the requirement that when the three-dimensional ore body model is dynamically updated, the roof or floor model can be updated in a timely manner;

[0155] 2. Support the extraction of the roof and floor models at the intersection of multiple ore body models, and at the same time avoid logical errors of spatial intersection in the roof and floor models at the intersection of multiple ore body models.

[0156] In this application example, the principle of extracting the roof of the three-dimensional ore body model is similar to that of extracting the floor of the three-dimensional ore body model. The following will be described in detail by taking the extraction of the roof as an example Figure 2 , taking the extraction of the roof as an example for detailed description. Figure 2 is a schematic flow chart of the method for grid extraction of the roof and floor of the three-dimensional ore body model.

[0157] Step 201: Obtain the design parameters and input data for the extraction of the roof and floor of the three-dimensional ore body model.

[0158] Here, the design parameters for the extraction of the roof and floor of the three-dimensional ore body model include the grid size along the ore body strike (i.e., the first grid size data) e x , the grid size perpendicular to the ore body strike (i.e., the second grid setting size) e y , and the number of boundary fitting iterations n b . The input data for the extraction of the roof and floor of the three-dimensional ore body model includes multiple three-dimensional ore body models.

[0159] Step 202: Construct a grid point set (i.e., the initial grid point set) based on the three-dimensional ore body model.

[0160] Here, construct the minimum rectangular circumscribing of multiple three-dimensional ore body models along the strike of the ore body. Let the dimension of the minimum rectangular circumscribing along the strike be b x and the dimension perpendicular to the strike be b y .

[0161] Normalize the dimensions of the minimum rectangular circumscribing so that the dimension of the minimum rectangular circumscribing along the strike of the ore body is an integer multiple of the minimum value e x and the dimension perpendicular to the strike is an integer multiple of the minimum value e y . After normalization, the dimension of the minimum rectangular circumscribing along the strike is e x × ceil(b x / e x ) and the dimension perpendicular to the strike is e y × ceil(b y / e y ).

[0162] Divide the normalized minimum rectangular circumscribing along the strike of the ore body into ceil(b x / e x ) parts and divide it perpendicular to the strike of the ore body into ceil(b y / e y ) parts. The grid vertices after division are constructed into a grid point set. Let any grid be c i,j , where the value range of i is [1, ceil(b x / e x )] and the value range of j is [1, ceil(b y / e y )]. The four vertices of grid c i,j are P i,j , P i+1,j , P i,j+1 and P i+1,j+1 .

[0163] Define the method c(P i,j ), which means that for any point P i,j , draw a ray in the vertical direction and calculate all the intersections of the ray and multiple three-dimensional ore body models. Assign the elevation value h max of the point with the maximum elevation among all the intersections to point P i,j , that is, set the elevation of point P i,j to h max . Among them, when the number of intersections is 0, mark point P i,j as an external point.

[0164] Step 203: Locally iterate and refine the grid to meet the boundary fitting accuracy.

[0165] For any grid c i,j , when the number of vertices marked as external points among the four vertices of grid c i,j is 1 to 3, then grid c i,j is a boundary grid (for each of the multiple grids, if it is determined that the number of external points of the grid satisfies the threshold interval, the grid is classified as a boundary grid, the threshold interval is [1, 3], and the external points are the vertices among the vertices where the ray in the vertical direction has no intersection with the three-dimensional models of the multiple ore bodies), and iterative refinement is performed according to the following steps:

[0166] Define the data structure Q(c i′,j′ ), and Q(c i′,j′ ) is the quadtree representation of c i′,j′ .

[0167]

[0168] Among them, Leaf() represents the leaf node of the quadtree, Node() represents the intermediate node of the quadtree, and I(c i′,j′ ) represents performing c() on the four vertices of grid c i′,j′ .

[0169] When c i′,j′ satisfies one of the following conditions, then c i′,j′ is a leaf node:

[0170] (1) The number of vertices marked as external points among the four vertices of grid c i′,j′ is 0 or 4 (vertex quantity condition);

[0171] (2) The quadtree depth of grid c i′,j′ reaches n b (iteration times condition).

[0172] Step 204: Construct a roof model based on the grid point set after iterative refinement of the local grid.

[0173] I. Define the triangulation method T1(ΔABC) (triangulation refinement method based on quadtree depth). Let the quadtree depth on side AB be n1 and the quadtree depth on side AC be n2:

[0174] (1) When n1 = n2 = 0, the triangulation result is ΔABC;

[0175] (2) When n1 = 0 or n2 = 0, taking n1 = 0 as an example, connect point B to all intermediate points on side AC, thereby dividing ΔABC into n2×2 - 1 sub-triangles, and the triangulation result is n2×2 - 1 sub-triangles;

[0176] (3) When n1 ≠ 0 and n2 ≠ 0:

[0177] If n1 ≥ n2, connect all the intermediate points on side AC to the corresponding points on AB, thus dividing ΔABC into sub - triangles S T and n2×2 - 1 sub - quadrilaterals Triangulate the n2×2 - 1 sub - quadrilaterals respectively Otherwise, connect all the intermediate points on side AB to the corresponding points on AC, thus dividing ΔABC into sub - triangles S T′ and n1×2 - 1 sub - quadrilaterals Triangulate the n1×2 - 1 sub - quadrilaterals respectively

[0178] II. Define the triangulation method T2(S R )(diagonal triangulation method), S R is composed of P1P2P3P4. Let the smallest interior angle of ΔP1P2P4 be α1, the smallest interior angle of ΔP2P3P4 be α2, the smallest interior angle of ΔP1P2P3 be α3, and the smallest interior angle of ΔP1P3P4 be α4.

[0179] When min{α1, α2} ≥ min{α3, α4}, T2(S R ) = {T1(ΔP1P2P4), T1(ΔP2P3P4)};

[0180] Otherwise T2(S R ) = {T1(ΔP1P2P3), T1(ΔP1P3P4)}.

[0181] III. Next, the following can be used to model each grid c i,j respectively:

[0182] (1) When the number of vertices marked as external points among the 4 vertices of grid c i,j is 4, ignore this grid (the external grid is the grid with 4 external points);

[0183] (2) When the number of vertices marked as external points among the 4 vertices of grid c i,j is from 1 to 3, model all the leaf nodes c i,j of the quadtree of grid c i″,j″ respectively:

[0184] (2.1) When the number of vertices marked as external points among the 4 vertices of grid c i″,j″ is 2 to 4, ignore this grid;

[0185] (2.2) When grid c i″,j″When the number of vertices marked as external points among the 4 vertices of is 1, then the grid c i″,j″ has 3 vertices that are non-external points, and use these 3 vertices to directly construct a triangular mesh;

[0186] (2.3) When the grid c i″,j″ has 0 vertices marked as external points among its 4 vertices, then the grid c i″,j″ has 4 vertices that are non-external points, and use the triangulation method T2(c i″,j″ ) to construct a triangular mesh;

[0187] (3) When the number of vertices marked as external points among the 4 vertices of c i,j is 0, use the triangulation method T2(c i,j ) to construct a triangular mesh (for each internal grid in the initial grid point set, based on the triangulation method, perform triangular mesh construction on the internal grid to generate the second triangular mesh corresponding to the internal grid; the internal grid is a grid with 0 external points).

[0188] To implement the method of the embodiments of the present application, the embodiments of the present application also provide an electronic device. Figure 3 Only the exemplary structure of the electronic device is shown rather than all structures, and according to needs, it can implement Figure 3 the shown partial structure or all structures. As Figure 3 shown, the electronic device 300 provided by the embodiments of the present application includes: at least one processor 301, a memory 302, a user interface 303, and at least one network interface 304. Each component in the electronic device 300 is coupled together through a bus system 305. It can be understood that the bus system 305 is used to realize the connection and communication between these components. In addition to including a data bus, the bus system 305 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clear illustration, in Figure 3 all kinds of buses are labeled as the bus system 305.

[0189] Among them, the user interface 303 may include a display, a keyboard, a mouse, a trackball, a click wheel, a button, a touchpad, or a touch screen, etc.

[0190] The memory 302 in the embodiments of the present application is used to store various types of data to support the operation of the electronic device. Examples of these data include: any computer program for operating on the electronic device.

[0191] The method for extracting the meshing of the top and bottom plates of the ore body three-dimensional model of the electronic device disclosed in the embodiments of the present application can be applied to or implemented by the processor 301. The processor 301 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the method for extracting the meshing of the top and bottom plates of the ore body three-dimensional model of the electronic device can be completed by the integrated logic circuit in hardware or the instructions in software form in the processor 301. The above-mentioned processor 301 may be a general-purpose processor, a digital signal processor (DSP, Digital Signal Processor), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The processor 301 can implement or execute each method, step, and logic block diagram disclosed in the embodiments of the present application. The general-purpose processor may be a microprocessor or any conventional processor, etc. Combining the steps of the method disclosed in the embodiments of the present application can be directly embodied as being executed by the hardware decoding processor, or executed by the combination of the hardware and software modules in the decoding processor. The software module may be located in the storage medium, and this storage medium is located in the memory 302. The processor 301 reads the information in the memory 302 and combines its hardware to complete the steps of the method for extracting the meshing of the top and bottom plates of the ore body three-dimensional model of the electronic device provided in the embodiments of the present application.

[0192] In an exemplary embodiment, the electronic device may be implemented by one or more application-specific integrated circuits (ASICs, Application Specific Integrated Circuit), DSPs, programmable logic devices (PLDs, ProgrammableLogic Device), complex programmable logic devices (CPLDs, Complex Programmable Logic Device), field programmable gate arrays (FPGAs, FieldProgrammable GateArray), general-purpose processors, controllers, microcontrollers (MCUs, MicroControllerUnit), microprocessors (Microprocessor), or other electronic components, and is used to execute the foregoing method.

[0193] It can be understood that the memory 302 can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM, Read Only Memory), a programmable read-only memory (PROM, Programmable Read-Only Memory), an erasable programmable read-only memory (EPROM, Erasable Programmable Read-Only Memory), an electrically erasable programmable read-only memory (EEPROM, Electrically Erasable Programmable Read-Only Memory), a ferromagnetic random access memory (FRAM, ferromagnetic random access memory), a flash memory (Flash Memory), a magnetic surface memory, an optical disc, or a compact disc read-only memory (CD-ROM, Compact Disc Read-Only Memory); the magnetic surface memory can be a disk memory or... The volatile memory can be a random access memory (RAM, Random Access Memory), which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as a static random access memory (SRAM, Static Random Access Memory), a synchronous static random access memory (SSRAM, Synchronous Static Random Access Memory), a dynamic random access memory (DRAM, Dynamic Random Access Memory), a synchronous dynamic random access memory (SDRAM, Synchronous Dynamic Random Access Memory), a double data rate synchronous dynamic random access memory (DDR SDRAM, Double Data Rate Synchronous Dynamic Random Access Memory), an enhanced synchronous dynamic random access memory (ESDRAM, Enhanced Synchronous Dynamic Random Access Memory), a synchronous link dynamic random access memory (SLDRAM, SyncLink Dynamic Random Access Memory), a direct rambus random access memory (DRRAM, Direct Rambus Random Access Memory). The memory described in the embodiments of the present application is intended to include but not be limited to these and any other suitable types of memory.

[0194] In an exemplary embodiment, the embodiment of the present application further provides a computer storage medium, specifically a computer-readable storage medium, on which a computer program is stored. The above computer program can be executed by a processor to complete the steps of the method in the embodiment of the present application. The computer-readable storage medium can be a memory such as ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disc, or CD-ROM.

[0195] In an exemplary embodiment, the embodiment of the present application further provides a computer program product, including a computer program. The above computer program can be executed by the processor 301 of the electronic device to complete the steps described in the method of the embodiment of the present application.

[0196] It should be noted that: "first", "second", etc. are used to distinguish similar objects and do not necessarily need to describe a specific order or sequence.

[0197] In addition, among the technical solutions described in the embodiments of the present application, they can be arbitrarily combined without conflict.

[0198] As described above, the above is only the specific implementation manner of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present application can easily think of changes or substitutions, which should be covered by the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A method for extracting the meshing of the roof and floor of a three-dimensional model of an ore body, characterized in that, Including: Obtain multiple three-dimensional ore body models corresponding to the ore body, and determine the boundary types to be extracted and the design parameters corresponding to the boundary types to be extracted; wherein, the boundary types include the roof or the floor, and the design parameters include the first grid size data along the ore body strike and the second grid size data perpendicular to the ore body; Construct the minimum bounding rectangle corresponding to the multiple three-dimensional ore body models along the ore body strike; and perform normalization processing on the minimum bounding rectangle, the size of the bounding rectangle along the ore body strike is an integer multiple of the first grid size data, and the size of the bounding rectangle perpendicular to the ore body strike is an integer multiple of the second grid size data; Divide the normalized minimum bounding rectangle into multiple first grid segments along the ore body strike and multiple second grid segments perpendicular to the ore body strike; based on the multiple first grid segments and the generated multiple second grid segments, generate an initial grid point set, and determine the elevation values of the vertices in each of the initial grid point sets; Classify the grids in the initial grid point set into boundary grids and non-boundary grids based on the number of external points among the vertices of each grid; For each initial boundary grid in the initial grid point set, perform quadtree iteration to divide the initial boundary grid into multiple sub-boundary grids until the vertex number condition or the iteration number condition is met and stop the iteration, and determine the leaf nodes corresponding to the initial boundary grid, the leaf nodes are the sub-boundary grids of the initial boundary grid when the vertex number condition or the iteration number condition is met; If the number of external points of the leaf node is 0, then construct a triangular mesh for the leaf node based on the triangulation method to generate the first triangular mesh corresponding to the initial boundary grid; based on each of the first triangular meshes, generate the boundary model corresponding to the boundary type.

2. The method according to claim 1, characterized in that The classifying the grids in the initial grid point set into boundary grids and non-boundary grids based on the number of external points among the vertices of each grid includes: For each grid among the multiple grids, if it is determined that the number of external points of the grid satisfies the threshold interval, classify the grid as a boundary grid, the threshold interval is [1, 3], and the external points are the vertices among each vertex where the ray along the vertical direction has no intersection with the multiple three-dimensional ore body models; If it is determined that the number of external points does not satisfy the threshold interval, classify the grid as a non-boundary grid.

3. The method according to claim 1, characterized in that The method further includes: For each vertex of each grid among the multiple grids, make a ray along the vertical direction to intersect with the multiple three-dimensional ore body models; If the ray made along the vertical direction from the vertex intersects with the multiple three-dimensional ore body models, determine the maximum elevation value corresponding to each intersection point; and use the maximum elevation value as the elevation value of the vertex.

4. The method according to claim 1, characterized in that, The vertex number condition is that the number of external points among the four vertices of the initial boundary grid is 0 or 4, and the iteration number condition is that the quadtree depth of the initial boundary grid reaches the preset boundary fitting iteration number.

5. The method according to claim 1, characterized in that For each initial boundary grid in the initial grid point set, perform quadtree iteration to divide the initial boundary grid into multiple sub-boundary grids, and stop the iteration until the vertex number condition or the iteration number condition is satisfied, and determine the leaf node corresponding to the initial boundary grid, including: For each initial boundary grid in the initial grid point set, perform quadtree iteration based on the iteration rule, and stop the iteration until the vertex number condition of the boundary grid or the iteration number condition is satisfied, and determine the leaf node corresponding to the initial boundary grid; Wherein, the iteration rule includes: Among them, Q(c i′,j′ ) is the quadtree representation of the initial boundary grid c i′,j′ . Leaf() represents the leaf nodes of the quadtree, Node() represents the intermediate nodes of the quadtree, and I(c i′,j′ ) represents performing c() on the 4 vertices of the initial boundary grid c i′,j′ ; When the initial boundary grid c i′,j′ meets the vertex quantity condition or the iteration number condition, Leaf() is generated, and Leaf() is a leaf node; the vertex quantity condition is that the number of externally marked points among the 4 vertices of the initial boundary grid c i′,j′ is 0 or 4; the iteration number condition is that the quadtree depth of the initial boundary grid c i′,j′ reaches the preset boundary fitting iteration number n b .

6. The method according to claim 1, wherein The non-boundary grid further includes: an external grid and an internal grid, and the method further includes: Ignore the external grid; the external grid is a grid with 4 external points of the grid; For each internal grid in the initial grid point set, construct a triangular network for the internal grid based on the triangulation method to generate a second triangular network corresponding to the internal grid; the internal grid is a grid with 0 external points of the grid; Generate a boundary model corresponding to the boundary type based on each of the first triangular networks and each of the second triangular networks.

7. The method according to claim 1, characterized in that, The method further includes: If the number of external points of the leaf node is 1, determine the three non-external points in the leaf node except the external point; and construct a triangular network based on the three non-external points to generate a first triangular network corresponding to the initial boundary grid; If the number of external points of the leaf node is 2 to 4, ignore the leaf node.

8. The method according to claim 1, wherein The triangulation method includes a diagonal triangulation method and a triangle refinement method based on the quadtree depth. Constructing a triangular network for the leaf node based on the triangulation method to generate a first triangular network corresponding to the initial boundary grid includes: Based on the diagonal triangulation method, construct a first sub-triangle for the quadrilateral formed by the four vertices of the sub-boundary grid corresponding to the leaf node; Based on the diagonal triangulation method, divide the first sub-triangle to generate a second sub-triangle, and determine whether a sub-quadrilateral is generated; if so, divide the sub-quadrilateral based on the triangulation method to generate a third sub-triangle until the quadtree depth of the sides of the third sub-triangle is 0; Generate the first triangular network based on the second sub-triangle and the third sub-triangle.

9. The method according to claim 8, wherein The diagonal triangulation method includes: Determine the first minimum interior angle value of the first candidate triangle group of the quadrilateral and the second minimum interior angle value of the second candidate triangle group of the quadrilateral; the first candidate triangle group is composed of two triangles generated by dividing the first diagonal, and the second candidate triangle group is composed of two triangles generated by dividing the second diagonal; Determine whether the first minimum interior angle value is greater than the second minimum interior angle value. If so, construct the first sub-triangle based on the first candidate triangle group; If not, construct the first sub-triangle based on the second candidate triangle group.

10. The method according to claim 8, wherein The triangle refinement method based on the quadtree depth includes: If the quadtree depths of the adjacent sides of the first sub-triangle are both 0, determine the first sub-triangle as the second sub-triangle; If the quadtree depth of one of the adjacent sides of the first sub-triangle is 0, divide the first sub-triangle into the second sub-triangle; If the quadtree depths of the adjacent sides of the first sub-triangle are not 0, determine the side with the higher quadtree depth as the target side; and connect the midpoint on the target side to the vertex of the opposite side of the target side to generate the second sub-triangle and the sub-quadrilateral.

11. An electronic device, characterized in that, Comprising: A processor and a memory for storing a computer program that can run on the processor, wherein, When the processor runs the computer program, it executes the steps of the method according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • Triangular surface grid generation method based on three-dimensional entity model

    CN105184868A

  • A topological mesh generation method and electronic device based on boundary constraints

    CN109408870A

  • Three-dimensional reconstruction method, device and equipment and computer readable storage medium

    CN111862343A

  • Topology reconstruction method and system based on external storage octree STL model

    CN116912457A

  • Three-dimensional model texture processing method and device and storage medium

    CN116934938A