A geological attribute modeling method and device based on cuboid and block surface intersection algorithm
Patent Information
- Application Number
- CN202610864369.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-15
- Publication Date
- 2026-10-13
AI Technical Summary
[0003]然而,现有的地质属性建模方法中,直接采用统一的离散长方体单元对复杂几何结构的地质块体进行三维空间离散化,并没有针对块体内部与边界区域进行差异化处理,由此会导致在块体边界处因离散单元尺寸过大而无法精确表达细节几何结构;或者因过度细化而降低建模效率,从而影响建模精度与效率的平衡,难以满足矿山智能化建设对高精度、高效率地质属性建模的迫切需求
通过将块体内部与边界自适应离散化处理,从而在保证建模精度的同时有效控制离散单元数量,显著提升了地质属性建模的整体效率与几何表达准确性。
Smart Images

Figure CN122906273A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of geological modeling technology, and in particular to a geological attribute modeling method and apparatus based on an algorithm for finding the intersection of cuboid and block surfaces. Background Technology
[0002] Geological attribute modeling, as a core technology for 3D geological modeling and transparent geology in mines, is widely used in the construction of virtual environments for safe mine production and the visualization of geological information. Among related technologies, a complete technical system from data discretization to attribute modeling has been constructed by statistically analyzing the minimum bounding box of geological blocks, setting discretization parameters, using unified discrete cuboid units for 3D spatial partitioning, and combining geological attribute interpolation algorithms (such as the inverse distance weighting method or kriging) with 3D visualization output. Specifically, this system covers key aspects such as block bounding box calculation, spatial discretization, attribute modeling, and result display, aiming to achieve efficient modeling and querying of mine geological attributes.
[0003] However, existing geological attribute modeling methods directly use uniform discrete cuboid units to discretize geological blocks with complex geometric structures in three-dimensional space without differentiating the internal and boundary regions of the blocks. This can lead to situations where the discrete unit size is too large at the block boundaries, making it impossible to accurately represent detailed geometric structures; or where excessive refinement reduces modeling efficiency, thus affecting the balance between modeling accuracy and efficiency and failing to meet the urgent need for high-precision and high-efficiency geological attribute modeling in intelligent mine construction. Summary of the Invention
[0004] This application aims to address, to a certain extent, the technical problems in the related technologies.
[0005] Therefore, this application proposes a geological attribute modeling method, device, electronic device, and storage medium based on an algorithm for finding the intersection of cuboid and block surfaces.
[0006] One embodiment of this application proposes a geological attribute modeling method based on an algorithm for finding the intersection of cuboid and block surfaces, including:
[0007] S1, Determine the minimum cuboid bounding box of the block to be modeled, wherein the edges of the minimum cuboid bounding box are parallel to the coordinate axes; S2, according to the system settings, determine the parameters of the discrete units in the block, the parameters including the length, width, and height of the discrete units and the number of discrete units in the length, width, and height directions of the block; S3. The octree algorithm is used to divide the space of the minimum cuboid bounding box, generating multiple cuboid subspaces. Based on the intersection algorithm between the cuboid and the block surface and the determination algorithm for points located inside the three-dimensional object, the relative positional relationship between each cuboid subspace and the block is determined. According to the relative positional relationship and the size of the current cuboid subspace, the cuboid subspace located inside the block or intersecting with the block boundary is recursively divided until all cuboid subspaces meet the preset conditions, thus completing the three-dimensional spatial discretization of the block. S4 uses a geological attribute interpolation algorithm to solve for the attribute values of each discrete unit and outputs the geological attribute modeling results.
[0008] Optionally, determining the minimum cuboid bounding box of the block to be modeled includes: Obtain the set of triangular facets of the block, the set of triangular facets containing the three-dimensional coordinates of each vertex and the index of the three vertices of each triangular facet; Calculate the x, y, and z coordinates of all vertices in the triangular facet set, and determine the minimum and maximum values of each coordinate. The minimum bounding box of the cuboid is determined based on the minimum and maximum values of each coordinate, and the length, width, and height of the minimum bounding box are calculated.
[0009] Optionally, determining the parameters of discrete units in the block according to system settings includes: Based on the system settings, determine the length, width, and height of the discrete element, and determine the number of discrete elements in the length, width, and height directions; Based on the system settings, determine the maximum number of boundary subdivisions and the minimum size of the boundary subdivision unit.
[0010] Optionally, the algorithm for finding the intersection of the cuboid and the block surface, and the algorithm for determining whether a point is located inside the three-dimensional object, in determining the relative positional relationship between each cuboid subspace and the block, includes: The algorithm for finding the intersection between the cuboid and the block surface is applied to determine whether the current cuboid subspace intersects with the block boundary. If the current cuboid subspace does not intersect with the block boundary, then the algorithm for determining whether a point is located inside a 3D object is applied to determine whether the center point of the current cuboid subspace is located inside the block. If the center point is located inside the block, then the current cuboid subspace is determined to be inside the block; otherwise, the current cuboid subspace is determined to be outside the block.
[0011] Optionally, the recursive partitioning of the cuboid subspace located inside the block or intersecting with the block boundary based on the relative positional relationship and the current size of the cuboid subspace includes any one of the following: If the cuboid subspace is located outside the block, then the position of the cuboid subspace is marked as outside the block, and no further processing is performed; If the cuboid subspace is located inside the block, and the length of the cuboid subspace is greater than a preset multiple of the block partitioning unit length, then the cuboid subspace will continue to be partitioned using an octree. If the cuboid subspace intersects with the block boundary, and the length of the cuboid subspace is greater than a preset multiple of the block partitioning unit length, or the length of the cuboid is less than a preset multiple of the block partitioning unit length and the number of subdivisions of the cuboid subspace is less than the number of subdivisions set by the system, then the cuboid subspace will continue to be divided using an octree.
[0012] Optionally, the algorithm for finding the intersection of the cuboid and the block surface includes: Construct the minimum cuboid bounding box for each triangular facet in the set of triangular facets on the surface of the block; Exclude the triangular faces that are completely separated from the current cuboid subspace by the smallest cuboid bounding box, and construct a set of triangular faces that may intersect with the current cuboid. The algorithm for determining the intersection of triangles and cuboids is used to check whether each triangle in the set of potentially intersecting triangles intersects with the current cuboid. If a triangle intersects with the current cuboid, it is determined that the current cuboid intersects with the boundary of the block. If no triangle intersects with the current cuboid, it is determined that the current cuboid does not intersect with the boundary of the block.
[0013] Optionally, the algorithm for determining the intersection of the triangle and the cuboid includes: Determine whether the three sides of a triangle intersect with the six rectangular faces of a cuboid subspace; Determine whether the twelve sides of a cuboid subspace intersect a triangle; If at least one intersection exists, then the current triangle is determined to intersect with the cuboid subspace.
[0014] Another embodiment of this application proposes a geological property modeling device based on an algorithm for finding the intersection of cuboid and block surfaces, comprising: The bounding box determination module is used to determine the minimum cuboid bounding box of the block to be modeled, wherein the edges of the minimum cuboid bounding box are parallel to the coordinate axes; The discrete unit determination module is used to determine the parameters of the discrete units in the block according to the system settings. The parameters include the length, width, and height of the discrete units, as well as the number of discrete units in the length, width, and height directions of the block. The spatial discretization module is used to divide the minimum cuboid bounding box into multiple cuboid subspaces using an octree algorithm. Based on the intersection algorithm between the cuboid and the block surface and the determination algorithm for points located inside the three-dimensional object, the module determines the relative positional relationship between each cuboid subspace and the block. According to the relative positional relationship and the size of the current cuboid subspace, the module recursively divides the cuboid subspaces located inside the block or intersecting with the block boundary until all cuboid subspaces meet the preset conditions, thus completing the three-dimensional spatial discretization of the block. The attribute modeling module is used to solve for the attribute values of each discrete unit through a geological attribute interpolation algorithm and output the geological attribute modeling results.
[0015] Another embodiment of this application provides an electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, it implements the method described in the foregoing aspect.
[0016] Another embodiment of this application proposes a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method described in the foregoing aspect.
[0017] Another embodiment of this application proposes a chip including processing circuitry configured to perform the method described in one aspect above.
[0018] Another embodiment of this application proposes a computer program product that, when executed by a processor, implements the method described in the foregoing aspect.
[0019] The geological property modeling method, device, electronic device, chip, and storage medium proposed in this application based on the intersection algorithm of cuboid and block surface can achieve the following beneficial effects: By adaptively discretizing the interior and boundaries of the block, the number of discrete units can be effectively controlled while ensuring modeling accuracy, thus significantly improving the overall efficiency of geological attribute modeling and the accuracy of geometric representation.
[0020] Additional aspects and advantages of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this application. Attached Figure Description
[0021] The above and / or additional aspects and advantages of this application will become apparent and readily understood from the following description of the embodiments taken in conjunction with the accompanying drawings, wherein: Figure 1 A flowchart illustrating a geological attribute modeling method based on an intersection algorithm between cuboid and block surfaces, provided in an embodiment of this application; Figure 2 A schematic diagram of a geological attribute modeling device based on an algorithm for finding the intersection of cuboid and block surfaces, provided in an embodiment of this application; Figure 3 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application; Figure 4 This is a schematic diagram of the structure of a chip proposed in an embodiment of this application. Detailed Implementation
[0022] The embodiments of this application are described in detail below. Examples of these embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this application, and should not be construed as limiting this application.
[0023] The following description, with reference to the accompanying drawings, describes a geological attribute modeling method, apparatus, electronic device, chip, and storage medium based on a cuboid and block surface intersection algorithm according to embodiments of this application.
[0024] Figure 1 This is a flowchart illustrating a geological attribute modeling method based on an algorithm for finding the intersection of cuboid and block surfaces, provided in an embodiment of this application.
[0025] As one implementation, the geological attribute modeling method based on the intersection algorithm of cuboid and block surface in this application embodiment can be configured in a geological attribute modeling device based on the intersection algorithm of cuboid and block surface. The geological attribute modeling device based on the intersection algorithm of cuboid and block surface can be applied to any electronic device so that the electronic device can perform the geological attribute modeling function based on the intersection algorithm of cuboid and block surface.
[0026] Among them, electronic devices can be any device with computing capabilities, such as mobile terminals, which can be hardware devices with various operating systems, touch screens and / or displays, such as mobile phones, tablets, personal digital assistants, wearable devices, etc.
[0027] As another implementation, the geological attribute modeling method based on the intersection algorithm of cuboid and block surface in this application embodiment can also be executed by a chip with processing capabilities. The chip includes image signal processing chip (ISP), central processing unit (CPU), application-specific integrated circuit (ASIC), digital signal processor (DSP), field-programmable gate array (FPGA), system on a chip (SOC), reduced instruction set computer (RISC), etc., which will not be listed here.
[0028] It should be noted that all data collection operations related to users in this application are conducted with the user's authorization and in strict compliance with relevant laws and regulations such as privacy and security.
[0029] like Figure 1 As shown, the method may include the following steps: S1, Determine the minimum cuboid bounding box of the block to be modeled, wherein the edges of the minimum cuboid bounding box are parallel to the coordinate axes; In this embodiment, when performing attribute modeling on the geological block to be modeled, it is first necessary to determine the geometric extent of the block in three-dimensional space to provide a unified reference space for subsequent discretization processing. To this end, a minimum cuboid bounding box that can completely enclose the geological block needs to be determined, with each edge of the bounding box parallel to the coordinate axes of the three-dimensional coordinate system. By establishing such a regular spatial framework aligned with the coordinate axes, the complexity of subsequent spatial partitioning and intersection calculations can be simplified, and the discretization process can be ensured to be performed in a unified coordinate system.
[0030] Specifically, the process of determining the minimum bounding box of the cuboid is based on statistical analysis of the geometric features of the geological block. It is usually achieved by obtaining the extreme values of all vertices on the block surface in the three coordinate axes, that is, finding the maximum and minimum values of all vertices in the X, Y, and Z directions, thereby determining the two diagonal vertices of the bounding box, and thus uniquely defining the spatial position and size of the cuboid.
[0031] As one implementation method, when the geological block to be modeled is represented by a set of triangular facets on its surface, the three-dimensional coordinates of all vertices in the set of triangular facets can be traversed, and the maximum and minimum points in the X, Y, and Z directions can be extracted respectively. The minimum cuboid bounding box of the block can be determined from these two extreme points, and the length, width, and height of the bounding box in the three axes can be calculated accordingly.
[0032] By determining the minimum cuboid bounding box parallel to the coordinate axes, a regular and efficient initial spatial framework is provided for the three-dimensional spatial discretization of geological blocks. This avoids the problem of chaotic discretization benchmarks caused by irregular block shapes, lays a geometric foundation for subsequent spatial partitioning algorithms such as octrees, and significantly improves the efficiency and accuracy of spatial partitioning and intersection calculation.
[0033] S2, according to the system settings, determine the parameters of the discrete units in the block, the parameters including the length, width, and height of the discrete units and the number of discrete units in the length, width, and height directions of the block; In this embodiment, the parameters of the discrete unit are determined according to the system settings. These parameters include at least the geometric dimensions of the discrete unit in three spatial dimensions and the number of discrete units corresponding to each dimension. These parameters collectively define the characteristics of the basic unit used for spatial discretization of the geological block, and form the basis for subsequent three-dimensional spatial partitioning and discretization processing.
[0034] The geometric dimensions of a discrete element and the number of discrete elements in each direction are not independent of each other, but are constrained by the overall dimensions of the minimum cuboid bounding box of the geological block to be modeled in the corresponding direction. There is a definite mathematical relationship between the two. For example, in any dimension, the product of the size of the discrete element and the number of discrete elements in that direction should be equal to the overall dimensions of the bounding box in that direction.
[0035] In one possible embodiment, multiple setting methods can be provided. For example, the user can directly set the size of the discrete unit, and the system can automatically determine the corresponding number of discrete units based on the constraint relationship; or, the user can set the number of discrete units, and the system can automatically calculate the corresponding discrete unit size. Furthermore, the system settings may also include parameters related to boundary processing, such as an upper limit for controlling the number of further subdivisions of the boundary region, and a minimum size threshold for the boundary subdivision units. These parameters provide a basis for subsequent finer discretization processing at the block boundaries.
[0036] This step, by clarifying the parameter setting method of the discrete unit, provides a foundation for subsequent efficient, flexible and controllable three-dimensional spatial discretization. It ensures that the discretization process can adapt to the uniform division requirements of the internal region of the block, and also reserves parameter interfaces for the fine processing of the boundary region, thereby improving the adaptability and configurability of geological attribute modeling as a whole.
[0037] S3. The octree algorithm is used to divide the space of the minimum cuboid bounding box, generating multiple cuboid subspaces. Based on the intersection algorithm between the cuboid and the block surface and the determination algorithm for points located inside the three-dimensional object, the relative positional relationship between each cuboid subspace and the block is determined. According to the relative positional relationship and the size of the current cuboid subspace, the cuboid subspace located inside the block or intersecting with the block boundary is recursively divided until all cuboid subspaces meet the preset conditions, thus completing the three-dimensional spatial discretization of the block. In this embodiment, the octree algorithm is used to spatially divide the minimum cuboid bounding box, generating multiple cuboid subspaces. Based on the intersection algorithm between the cuboid and the block surface and the determination algorithm for points located inside the three-dimensional object, the relative positional relationship between each cuboid subspace and the block is determined. According to the relative positional relationship and the size of the current cuboid subspace, the subspaces located inside the block or intersecting with the block boundary are recursively divided until all subspaces meet the preset conditions, thus completing the three-dimensional spatial discretization of the block.
[0038] This step combines the octree space partitioning algorithm with the intersection algorithm of the cuboid and the block surface and the algorithm for judging the positional relationship of internal points. This enables adaptive discretization of the internal and boundary regions of the block, thereby effectively controlling the number of discrete units while ensuring modeling accuracy, and significantly improving the overall efficiency and geometric accuracy of geological attribute modeling.
[0039] S4 uses a geological attribute interpolation algorithm to solve for the attribute values of each discrete unit and outputs the geological attribute modeling results.
[0040] In this embodiment, after completing the three-dimensional spatial discretization and obtaining a series of discrete units, it is necessary to assign corresponding attribute values to each discrete unit through a geological attribute interpolation algorithm, and generate the final geological attribute modeling result based on these attribute values.
[0041] Specifically, for each defined discrete unit, based on its spatial coordinates, a pre-defined interpolation function or model is used to perform spatial interpolation or extrapolation calculations on the known sample point data to solve for the geological attribute value corresponding to each discrete unit. This interpolation process aims to estimate attribute parameters at unknown locations based on the spatial relationship between the discrete unit and known data points, such as distance, orientation, or statistical correlation. Its core is to establish a mapping relationship from known information to unknown spatial locations to reflect the continuous distribution characteristics of geological attributes in three-dimensional space. After obtaining the attribute values of all discrete units, the discretized attribute data is further integrated and presented as a complete geological attribute model through data output or visualization rendering.
[0042] As one implementation method, the geological attribute interpolation algorithm used may include the inverse distance weighting method or the kriging method. The inverse distance weighting method is based on the distance weighted average principle, while the kriging method uses the variogram function to perform unbiased optimal estimation. Both can effectively realize the spatial interpolation calculation of attribute values.
[0043] Through the above steps, geological attribute values can be accurately assigned to each discrete unit, thereby transforming the discretized spatial structure into an attribute model with actual physical meaning, significantly improving the accuracy and reliability of geological attribute modeling. Simultaneously, combined with subsequent output and visualization processing, the complex distribution of geological attributes can be presented intuitively and quantitatively, providing a solid data foundation for mine geological analysis and engineering decision-making.
[0044] Optionally, determining the minimum cuboid bounding box of the block to be modeled includes: Obtain the set of triangular facets of the block, the set of triangular facets containing the three-dimensional coordinates of each vertex and the index of the three vertices of each triangular facet; Calculate the x, y, and z coordinates of all vertices in the triangular facet set, and determine the minimum and maximum values of each coordinate. The minimum bounding box of the cuboid is determined based on the minimum and maximum values of each coordinate, and the length, width, and height of the minimum bounding box are calculated.
[0045] In this embodiment, the set of triangular facets of the block is first obtained. This set of triangular facets is used to represent the surface geometry of the block and includes the three-dimensional coordinate information of each vertex and the sequence number of the three vertices of each triangular facet.
[0046] Subsequently, the x, y, and z coordinates of all vertices in the triangular patch set are calculated, and the minimum and maximum values of the x, y, and z coordinates are determined. Specifically, suppose the triangular patch set contains n vertices, and its coordinate set is... Then xMin and xMax are the minimum and maximum values in the set, respectively. Similarly, determine the minimum and maximum values of the y-coordinate and z-coordinate.
[0047] Then, the bounding box of the minimum cuboid is determined based on points pMin and pMax, where the coordinates of pMin are (xMin, yMin, zMin) and the coordinates of pMax are (xMax, yMax, zMax). The edges of this bounding box are parallel to the coordinate axes of the system. Finally, according to the formula... , , Calculate the length, width, and height of the minimum rectangular bounding box, where length represents the length, width represents the width, and height represents the height.
[0048] Optionally, determining the parameters of discrete units in the block according to system settings includes: Based on the system settings, determine the length, width, and height of the discrete unit, and determine the number of discrete units in the length, width, and height directions. The product of the length of the discrete unit and the number of discrete units in the length direction is equal to the length of the block. Based on the system settings, determine the maximum number of boundary subdivisions and the minimum size of the boundary subdivision unit.
[0049] In this embodiment, the parameters of the discrete unit are determined according to the system settings, specifically including: determining the length of the discrete unit. and the number of discrete units in the length direction ,in and Satisfying constraints That is, the product of the length of the discrete element and the number of discrete elements in the length direction is equal to the length of the bounding box of the block. Similarly, the width and height of the discrete element, as well as the number of discrete elements in the width and height directions, can be determined separately.
[0050] Simultaneously, the system allows users to set the maximum number of boundary subdivisions and the minimum size of the boundary subdivision unit to control the degree of subdivision of the boundary region. Through this method, precise calculation and setting of parameters from block surface data to the minimum bounding box and discrete unit parameters are achieved, providing an accurate geometric basis for subsequent spatial discretization.
[0051] Optionally, the algorithm for finding the intersection of the cuboid and the block surface, and the algorithm for determining whether a point is located inside the three-dimensional object, in determining the relative positional relationship between each cuboid subspace and the block, includes: The algorithm for finding the intersection between the cuboid and the block surface is applied to determine whether the current cuboid subspace intersects with the block boundary. If the current cuboid subspace does not intersect with the block boundary, then the algorithm for determining whether a point is located inside a 3D object is applied to determine whether the center point of the current cuboid subspace is located inside the block. If the center point is located inside the block, then the current cuboid subspace is determined to be inside the block; otherwise, the current cuboid subspace is determined to be outside the block.
[0052] In this embodiment, an intersection algorithm for cuboids and block surfaces is applied to determine whether the current cuboid subspace intersects with the block boundary. This algorithm takes the spatial position and size of the current cuboid subspace, as well as the set of triangular faces representing the block surface, as input. It constructs a minimum cuboid bounding box for each triangular face in the set, excludes triangular faces completely separated from the current cuboid subspace, and builds a set of potentially intersecting triangular faces. Then, it checks whether each triangular face in this set intersects with the current cuboid.
[0053] If any triangle intersects with the current cuboid, the current cuboid subspace is determined to intersect with the block boundary, and the intersection determination result is output; if none of the triangles intersect with the current cuboid, the non-intersection determination result is output.
[0054] If the current cuboid subspace does not intersect with the block boundary, then a further algorithm for determining whether a point is located inside a 3D object is applied to determine whether the center point of the current cuboid subspace is located inside the block.
[0055] The algorithm takes the three-dimensional coordinates of the center point and the set of triangular facets of the block as input, and uses conventional algorithms such as ray casting or angle sum casting to determine whether the point is located inside the block, and outputs the result of whether it is inside or outside.
[0056] If the center point is located inside the block, the current cuboid subspace is determined to be inside the block; otherwise, the current cuboid subspace is determined to be outside the block. This completes the classification of the relative positional relationship between the current cuboid subspace and the block, and outputs one of the three results: it belongs to the block, it belongs to the block, it belongs to the block, or it intersects with the block boundary.
[0057] Then, based on the relative positional relationship and the size of the current cuboid subspace, the subspaces located inside the block or intersecting with the block boundary are recursively partitioned. Specifically, if the current cuboid subspace is located outside the block, the position of the subspace is marked as outside the block, and no further processing is performed on the subspace; it is directly excluded.
[0058] Optionally, the recursive partitioning of the cuboid subspace located inside the block or intersecting with the block boundary based on the relative positional relationship and the current size of the cuboid subspace includes any one of the following: If the current cuboid subspace is located outside the block, then the position of the subspace is marked as outside the block, and the subspace is no longer processed.
[0059] If the current cuboid subspace is located inside the block and the length of the cuboid is greater than 1.5 times the set block partitioning unit length, then the octree algorithm is used to further divide the cuboid subspace into 8 smaller cuboid subspaces. The positions of these 8 subspaces inherit the position of the current space, that is, they are all marked as being located inside the block, and there is no need to re-determine the relative position.
[0060] If the current cuboid subspace intersects with the block boundary, and the length of the cuboid is greater than 1.5 times the set block subdivision unit length, or the length of the cuboid is less than 1.5 times the set block subdivision unit length but the number of subdivisions of the cuboid is less than the number of subdivisions set by the system, then the octree algorithm is used again to divide the cuboid subspace into 8 smaller cuboid subspaces. However, the positions of these 8 subspaces cannot be inherited. The intersection algorithm and the internal point determination algorithm must be reapplied according to the steps described above for determining the relative positional relationship between each cuboid subspace and the block to determine the specific positional category of each subspace.
[0061] Through the above recursive processing, the three-dimensional spatial discretization of the block is completed until the size and number of divisions of all cuboid subspaces meet the system's preset conditions.
[0062] Optionally, the algorithm for finding the intersection of the cuboid and the block surface includes: Construct the minimum cuboid bounding box for each triangular facet in the set of triangular facets on the surface of the block; Exclude the triangular faces that are completely separated from the current cuboid subspace by the smallest cuboid bounding box, and construct a set of triangular faces that may intersect with the current cuboid. The algorithm for determining the intersection of triangles and cuboids is used to check whether each triangle in the set of potentially intersecting triangles intersects with the current cuboid. If a triangle intersects with the current cuboid, it is determined that the current cuboid intersects with the boundary of the block. If no triangle intersects with the current cuboid, it is determined that the current cuboid does not intersect with the boundary of the block.
[0063] In this embodiment, a set of triangular facets representing the surface of the block is obtained. This set of triangular facets consists of multiple triangular facets, each defined by the three-dimensional coordinates of its three vertices. For each triangular facet in this set, a minimum bounding box is constructed. The edges of this minimum bounding box are also parallel to the coordinate axes to facilitate subsequent rapid elimination judgments.
[0064] Subsequently, using the current cuboid subspace to be judged as input, the spatial positional relationship between the cuboid subspace and the minimum cuboid bounding box of each triangular facet is compared one by one. Triangular faces whose minimum cuboid bounding box is completely separated from the current cuboid subspace are excluded, that is, triangular faces whose projection intervals in any coordinate axis direction do not overlap. This constructs a set of triangular faces that may intersect with the current cuboid subspace. This set of triangular faces that may intersect serves as the input for subsequent precise judgment.
[0065] Next, using an algorithm to determine the intersection of triangles and cuboids, each triangle in the set of potentially intersecting triangles is checked to see if it intersects with the current cuboid. In one possible implementation, this algorithm includes two parallel or sequential checks: First, determine whether the three sides of the triangle intersect the six rectangular faces of the cuboid, that is, determine whether any line segment in space intersects a rectangle parallel to the coordinate plane; By fully utilizing the property that rectangles are parallel to the coordinate plane, the algorithm can be simplified and its execution efficiency improved. For example, the plane containing the current rectangle is parallel to the XOY coordinate plane. First, the plane containing the rectangle is translated to the XOY plane, and the line segment is translated at the same time. If the z-values of the two endpoints of the line segment have the same sign, then the line segment does not intersect the rectangle. If the z-values of the two endpoints have different signs, then the coordinates of the intersection point are calculated according to the principle of triangle similarity. If the intersection point is located inside the rectangle, then the line segment intersects the rectangle; otherwise, the line segment does not intersect the rectangle.
[0066] Secondly, determine whether the twelve sides of the cuboid intersect the triangle. These twelve sides can be divided into three groups of four sides, each parallel to the x, y, and z axes respectively. Taking the determination of a line segment parallel to the z-axis as an example, project the line segment and the triangle onto the XOY plane along the z-axis direction. The line segment is projected as a point. If the projection point is located inside the projected triangle, determine the x and y coordinates of the intersection point. Then, solve for the z value of the intersection point using the plane equation of the triangle, and determine whether the intersection point is located inside the line segment.
[0067] In the two judgment processes described above, if any intersection condition exists, the current triangle is determined to intersect with the cuboid. If, during the traversal of the potentially intersecting triangle facet set, a triangle is found to intersect with the current cuboid, the loop is immediately terminated, and the current cuboid subspace is determined to intersect with the boundary of the block. If, after traversing the entire potentially intersecting triangle facet set, no triangle is found to intersect with the current cuboid, the current cuboid subspace is determined not to intersect with the boundary of the block.
[0068] This specific implementation method first uses the smallest cuboid bounding box for rapid elimination, and then combines it with an efficient algorithm for judging the intersection of line segments with rectangles and triangles based on the parallel characteristics of coordinate axes. This significantly reduces the computational complexity of finding the intersection of cuboids and block surfaces and improves the execution efficiency of boundary judgment in the spatial discretization process.
[0069] Optionally, step S4 uses a geological attribute interpolation algorithm to solve for the attribute values of each discrete unit and outputs the geological attribute modeling results, specifically including: The attribute values of each discrete unit are solved by a geological attribute interpolation algorithm, specifically using the inverse distance weighting method or the kriging method.
[0070] When using the inverse distance weighting method, the coordinates of the center point of each discrete unit are first obtained as the points to be estimated. The three-dimensional coordinates and corresponding attribute values of each sample point are then read from a set of sample points with known geological attribute values. For each discrete unit to be estimated, the spatial Euclidean distance between its center point and all sample points is calculated. The attribute values of the sample points are then weighted using the reciprocal of the distance or the reciprocal of a power of the distance as the weight, thus obtaining the attribute value of the discrete unit. Specifically, sample points closer to the point to be estimated are assigned higher weights, and vice versa. The output attribute value thus reflects the spatial correlation of neighboring sample points.
[0071] When using the Kriging method, a variogram model is first constructed based on sample point data. This model describes the spatial variation structure of geological properties, including parameters such as the nugget effect, sill value, and range. Subsequently, for each discrete unit to be estimated, the spatial relationship between its center point coordinates and the sample point coordinates is used, combined with the variogram model, to establish a system of Kriging equations. By solving this system of equations, the optimal weighting coefficients for each sample point are obtained, minimizing the estimation variance.
[0072] Finally, the attribute values of each sample point are linearly combined with their corresponding optimal weight coefficients to output the attribute value of the discrete unit. Both methods use the center point coordinates of the discrete unit as input, and after spatial interpolation calculation, output the geological attribute values corresponding to each discrete unit, providing a data foundation for subsequent 3D visualization or tabular output.
[0073] The specific implementation method for outputting geological attribute modeling results is as follows: First, the system obtains each discrete unit generated after the three-dimensional spatial discretization is completed in step S3. Each discrete unit has its corresponding geological attribute value, which is obtained by solving the geological attribute interpolation algorithm (such as the inverse distance weighting method or the Kriging method) used in step S4.
[0074] According to a pre-defined color index table, the geological attribute values of each discrete unit are mapped to corresponding color values. Specifically, the color index table predefines the correspondence between the range of geological attribute values and color values. The system determines a unique color value for each discrete unit by looking up the index table, thus completing the color assignment process.
[0075] Next, the system acquires the location information, geometric dimensions, and predetermined color values of each discrete unit. The location information is typically represented by the coordinates of the unit's center point, while the geometric dimensions include the unit's length, width, and height. Based on this information, the system uses 3D graphics rendering technology to draw all the discrete unit cells one by one. During the drawing process, each discrete unit cell is filled or colored with its corresponding color, thus constructing a visual model of the entire geological block in 3D space. Finally, the system displays this visual model on the user interface, forming a geological attribute modeling result map of the block. This result map intuitively shows the distribution of geological attributes within the block and at its boundaries.
[0076] The geological attribute modeling results are then presented in a table format. Each row of the table corresponds to a discrete unit, and each column corresponds to a data item, thus forming a structured data output. In one possible implementation, the system also provides a user-defined interface, allowing users to set the data items included in the geological attribute modeling results table according to actual needs. For example, users can choose to display only the discrete unit number, center point coordinates, and attribute values, or add other derived calculation fields. Through this table, users can intuitively view and retrieve detailed modeling information for each discrete unit in a structured data format, providing a foundation for subsequent data analysis, quality assessment, or data interaction with other systems.
[0077] To achieve the above embodiments, this application also proposes a geological attribute modeling device based on an algorithm for finding the intersection of cuboid and block surfaces.
[0078] Figure 2 This is a schematic diagram of a geological attribute modeling device based on an algorithm for finding the intersection of cuboid and block surfaces, provided in an embodiment of this application.
[0079] like Figure 2 As shown, the device may include: Bounding box determination module 210 is used to determine the minimum cuboid bounding box of the block to be modeled, wherein the edges of the minimum cuboid bounding box are parallel to the coordinate axes. Discrete unit determination module 220 is used to determine the parameters of discrete units in the block according to system settings. The parameters include the length, width, and height of the discrete units and the number of discrete units in the length, width, and height directions of the block. The spatial discretization module 230 is used to spatially divide the minimum cuboid bounding box using an octree algorithm to generate multiple cuboid subspaces. Based on the intersection algorithm between the cuboid and the block surface and the determination algorithm for points located inside the three-dimensional object, the module determines the relative positional relationship between each cuboid subspace and the block. According to the relative positional relationship and the size of the current cuboid subspace, the module recursively divides the cuboid subspaces located inside the block or intersecting with the block boundary until all cuboid subspaces meet the preset conditions, thus completing the three-dimensional spatial discretization of the block. The attribute modeling module 240 is used to solve the attribute values of each discrete unit through a geological attribute interpolation algorithm and output the geological attribute modeling results.
[0080] It should be noted that the foregoing explanation of the method embodiments also applies to the apparatus of this embodiment, and will not be repeated here.
[0081] To implement the above embodiments, this application also proposes a non-transitory computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the method described in the foregoing method embodiments.
[0082] To implement the above embodiments, this application also proposes a computer program product having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the method described in the foregoing method embodiments.
[0083] To implement the above embodiments, this application also proposes an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, it implements the method described in the foregoing method embodiments.
[0084] Figure 3 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. For example, the electronic device 800 may be a mobile phone, computer, digital broadcasting terminal, messaging device, game console, tablet device, medical device, fitness equipment, personal digital assistant, etc.
[0085] Reference Figure 3 The electronic device 800 may include one or more of the following components: processing component 802, memory 804, power component 806, multimedia component 808, audio component 810, input / output (I / O) interface 812, sensor component 814, and communication component 816.
[0086] Processing component 802 typically controls the overall operation of electronic device 800, such as operations associated with display, telephone calls, data communication, camera operation, and recording operations. Processing component 802 may include one or more processors 820 to execute instructions to complete all or part of the steps of the methods described above. Furthermore, processing component 802 may include one or more modules to facilitate interaction between processing component 802 and other components. For example, processing component 802 may include a multimedia module to facilitate interaction between multimedia component 808 and processing component 802.
[0087] Memory 804 is configured to store various types of data to support the operation of electronic device 800. Examples of such data include instructions for any application or method operating on electronic device 800, contact data, phonebook data, messages, pictures, videos, etc. Memory 804 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.
[0088] Power component 806 provides power to various components of electronic device 800. Power component 806 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to electronic device 800.
[0089] Multimedia component 808 includes a screen that provides an output interface between the electronic device 800 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touchscreen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors may sense not only the boundaries of the touch or swipe action but also the duration and pressure associated with the touch or swipe operation. In some embodiments, multimedia component 808 includes a front-facing camera and / or a rear-facing camera. When the electronic device 800 is in an operating mode, such as a shooting mode or a video mode, the front-facing camera and / or the rear-facing camera may receive external multimedia data. Each front-facing camera and rear-facing camera may be a fixed optical lens system or have focal length and optical zoom capabilities.
[0090] Audio component 810 is configured to output and / or input audio signals. For example, audio component 810 includes a microphone (MIC) configured to receive external audio signals when electronic device 800 is in an operating mode, such as call mode, recording mode, and voice recognition mode. The received audio signals may be further stored in memory 804 or transmitted via communication component 816. In some embodiments, audio component 810 also includes a speaker for outputting audio signals.
[0091] I / O interface 812 provides an interface between processing component 802 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to, home buttons, volume buttons, power buttons, and lock buttons.
[0092] Sensor assembly 814 includes one or more sensors for providing state assessments of various aspects of electronic device 800. For example, sensor assembly 814 can detect the on / off state of electronic device 800, the relative positioning of components such as the display and keypad of electronic device 800, changes in position of electronic device 800 or a component of electronic device 800, the presence or absence of user contact with electronic device 800, orientation or acceleration / deceleration of electronic device 800, and temperature changes of electronic device 800. Sensor assembly 814 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. Sensor assembly 814 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, sensor assembly 814 may also include an accelerometer, gyroscope, magnetometer, pressure sensor, or temperature sensor.
[0093] Communication component 816 is configured to facilitate wired or wireless communication between electronic device 800 and other devices. Electronic device 800 can access wireless networks based on communication standards, such as Wi-Fi, 4G, or 5G, or combinations thereof. In one exemplary embodiment, communication component 816 receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, communication component 816 also includes a near-field communication (NFC) module to facilitate short-range communication. For example, the NFC module may be implemented based on radio frequency identification (RFID) technology, Infrared Data Association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
[0094] In an exemplary embodiment, the electronic device 800 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the methods described above.
[0095] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 804 including instructions, which can be executed by a processor 820 of an electronic device 800 to perform the above-described method. For example, the non-transitory computer-readable storage medium may be a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device, etc.
[0096] To implement the above embodiments, this application also proposes a chip, including: the chip includes a processing circuit configured to perform the methods provided in the foregoing embodiments.
[0097] Figure 4 This is a schematic diagram of the structure of a chip according to an embodiment of this application. See also... Figure 4 The diagram shown is a schematic representation of the structure of chip 1100, but it is not limited to this.
[0098] Chip 1100 includes processing circuitry 1101, which is configured to perform any of the above methods.
[0099] In some embodiments, chip 1100 further includes one or more interface circuits 1102. Optionally, the interface circuit 1102 is connected to memory 1103, and the interface circuit 1102 can be used to receive signals from memory 1103 or other devices, and the interface circuit 1102 can be used to send signals to memory 1103 or other devices. For example, the interface circuit 1102 can read instructions stored in memory 1103 and send the instructions to processing circuit 1101.
[0100] In some embodiments, the interface circuit 1102 performs at least one of the communication steps such as sending and / or receiving in the above method, while the processing circuit 1101 performs other steps.
[0101] In some embodiments, the terms interface circuit, interface, transceiver pin, transceiver, etc., can be used interchangeably.
[0102] In some embodiments, chip 1100 further includes one or more memories 1103 for storing instructions. Optionally, all or part of the memories 1103 may be located outside of chip 1100.
[0103] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.
[0104] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "multiple" means at least two, such as two, three, etc., unless otherwise explicitly specified.
[0105] Any process or method description in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing custom logic functions or processes, and the scope of the preferred embodiments of this application includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as should be understood by those skilled in the art to which embodiments of this application pertain.
[0106] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: an electrical connection having one or more wires (electronic device), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Alternatively, the computer-readable medium may be paper or other suitable media on which the program can be printed, since the program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in a computer memory.
[0107] It should be understood that various parts of this application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.
[0108] Those skilled in the art will understand that all or part of the steps of the methods in the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, the program includes one or a combination of the steps of the method embodiments.
[0109] Furthermore, the functional units in the various embodiments of this application can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium.
[0110] The storage medium mentioned above can be a read-only memory, a disk, or an optical disk, etc. Although embodiments of this application have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting this application. Those skilled in the art can make changes, modifications, substitutions, and variations to the above embodiments within the scope of this application.
Claims
1. A geological attribute modeling method based on an algorithm for finding the intersection of cuboid and block surfaces, characterized in that, include: S1, Determine the minimum cuboid bounding box of the block to be modeled, wherein the edges of the minimum cuboid bounding box are parallel to the coordinate axes; S2, according to the system settings, determine the parameters of the discrete units in the block, the parameters including the length, width, and height of the discrete units and the number of discrete units in the length, width, and height directions of the block; S3. The octree algorithm is used to divide the space of the minimum cuboid bounding box, generating multiple cuboid subspaces. Based on the intersection algorithm between the cuboid and the block surface and the determination algorithm for points located inside the three-dimensional object, the relative positional relationship between each cuboid subspace and the block is determined. According to the relative positional relationship and the size of the current cuboid subspace, the cuboid subspace located inside the block or intersecting with the block boundary is recursively divided until all cuboid subspaces meet the preset conditions, thus completing the three-dimensional spatial discretization of the block. S4 uses a geological attribute interpolation algorithm to solve for the attribute values of each discrete unit and outputs the geological attribute modeling results.
2. The method according to claim 1, characterized in that, The process of determining the minimum rectangular bounding box of the block to be modeled includes: Obtain the set of triangular facets of the block, the set of triangular facets containing the three-dimensional coordinates of each vertex and the index of the three vertices of each triangular facet; Calculate the x, y, and z coordinates of all vertices in the triangular facet set, and determine the minimum and maximum values of each coordinate. The minimum bounding box of the cuboid is determined based on the minimum and maximum values of each coordinate, and the length, width, and height of the minimum bounding box are calculated.
3. The method according to claim 2, characterized in that, The step of determining the parameters of discrete units in the block according to system settings includes: Based on the system settings, determine the length, width, and height of the discrete element, and determine the number of discrete elements in the length, width, and height directions; and Based on the system settings, determine the maximum number of boundary subdivisions and the minimum size of the boundary subdivision unit.
4. The method according to claim 1, characterized in that, The algorithm for finding the intersection of the cuboid and the block surface, and the algorithm for determining whether a point is located inside a three-dimensional object, determine the relative positional relationship between each cuboid subspace and the block, including: The algorithm for finding the intersection between the cuboid and the block surface is applied to determine whether the current cuboid subspace intersects with the block boundary. If the current cuboid subspace does not intersect with the block boundary, then the algorithm for determining whether a point is located inside a 3D object is applied to determine whether the center point of the current cuboid subspace is located inside the block. If the center point is located inside the block, then the current cuboid subspace is determined to be inside the block; otherwise, the current cuboid subspace is determined to be outside the block.
5. The method according to claim 4, characterized in that, The recursive partitioning of the cuboid subspace located inside the block or intersecting with the block boundary based on the relative positional relationship and the current size of the cuboid subspace includes any one of the following: If the cuboid subspace is located outside the block, then the position of the cuboid subspace is marked as outside the block, and no further processing is performed; If the cuboid subspace is located inside the block, and the length of the cuboid subspace is greater than a preset multiple of the block partitioning unit length, then the cuboid subspace will continue to be partitioned using an octree. If the cuboid subspace intersects with the block boundary, and the length of the cuboid subspace is greater than a preset multiple of the block partitioning unit length, or the length of the cuboid is less than a preset multiple of the block partitioning unit length and the number of subdivisions of the cuboid subspace is less than the number of subdivisions set by the system, then the cuboid subspace will continue to be divided using an octree.
6. The method according to claim 1, characterized in that, The algorithm for finding the intersection of the cuboid and the block surface includes: Construct the minimum cuboid bounding box for each triangular facet in the set of triangular facets on the surface of the block; Exclude the triangular faces that are completely separated from the current cuboid subspace by the smallest cuboid bounding box, and construct a set of triangular faces that may intersect with the current cuboid. The algorithm for determining the intersection of triangles and cuboids is used to check whether each triangle in the set of potentially intersecting triangles intersects with the current cuboid. If a triangle intersects with the current cuboid, it is determined that the current cuboid intersects with the boundary of the block. If no triangle intersects with the current cuboid, it is determined that the current cuboid does not intersect with the boundary of the block.
7. The method according to claim 6, characterized in that, The algorithm for determining the intersection of a triangle and a cuboid includes: Determine whether the three sides of a triangle intersect with the six rectangular faces of a cuboid subspace; Determine whether the twelve sides of a cuboid subspace intersect a triangle; If at least one intersection exists, then the current triangle is determined to intersect with the cuboid subspace.
8. A geological attribute modeling device based on an algorithm for finding the intersection of cuboid and block surfaces, characterized in that, include: The bounding box determination module is used to determine the minimum cuboid bounding box of the block to be modeled, wherein the edges of the minimum cuboid bounding box are parallel to the coordinate axes; The discrete unit determination module is used to determine the parameters of the discrete units in the block according to the system settings. The parameters include the length, width, and height of the discrete units, as well as the number of discrete units in the length, width, and height directions of the block. The spatial discretization module is used to divide the minimum cuboid bounding box into multiple cuboid subspaces using an octree algorithm. Based on the intersection algorithm between the cuboid and the block surface and the determination algorithm for points located inside the three-dimensional object, the module determines the relative positional relationship between each cuboid subspace and the block. According to the relative positional relationship and the size of the current cuboid subspace, the module recursively divides the cuboid subspaces located inside the block or intersecting with the block boundary until all cuboid subspaces meet the preset conditions, thus completing the three-dimensional spatial discretization of the block. The attribute modeling module is used to solve for the attribute values of each discrete unit through a geological attribute interpolation algorithm and output the geological attribute modeling results.
9. An electronic device, characterized in that, It includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, it implements the method as described in any one of claims 1-7.
10. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of the preceding claims 1-7.