A method and device for visualizing a seismic horizon, an electronic device and a medium
By introducing a bidirectional indexed linked list structure into the triangulation algorithm, horizontal and vertical connections are established, solving the problem of low efficiency in existing triangulation algorithms and achieving efficient 3D visualization display effects.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA NAT PETROLEUM CORP
- Filing Date
- 2021-12-30
- Publication Date
- 2026-04-17
AI Technical Summary
Existing triangulation algorithms are inefficient in large-scale data point applications and cannot effectively index the positional relationships between points, lines, and surfaces within a grid cell, resulting in slow 3D visualization display speed.
A triangulation algorithm with a bidirectional indexed linked list structure is adopted. By establishing an initial indexed linked list in the x and y dimensions, seismic horizon data points are inserted point by point, the triangulation surface is divided and horizontal and vertical connections are established to generate the final bidirectional indexed linked list, thereby reducing the calculation time of positional relationships.
It improves the efficiency of 3D visualization of large-scale seismic horizons, reduces the repetitiveness of triangulation operations, and enhances the display speed and accuracy in the seismic data interpretation process.
Smart Images

Figure CN116433866B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of petroleum exploration technology, and more particularly to a method, device, electronic device, and medium for visualizing seismic horizons. Background Technology
[0002] Triangulation algorithms have always held a very important position in computer visualization research. They are widely used in geophysical exploration, geographic systems, geological modeling, and graphic image analysis, which can improve the efficiency of visualization and are of great significance for reservoir prediction in oil exploration.
[0003] How to partition a set of scattered points into a non-uniform triangular mesh is the problem of scattered point triangulation. Scattered point triangulation is an extremely important preprocessing technique for numerical analysis and computer graphics. The workflow of existing triangulation algorithms is as follows: Figure 1a , 1b As shown. Please see below. Figure 1a Assume that △ABC is initially triangulated as facet T0, and the initial index list contains T0. After inserting the first data point P1, P1 divides the initial triangulation facet T0 into three new triangulation faces T1, T2, and T3. After inserting P1, the index list is updated to T1→T2→T3. Please refer to [link to relevant documentation]. Figure 1b After inserting the second data point P2, P2 divides the triangulation facet T3 into three new triangulation faces T4, T5, and T6. After inserting P2, the index linked list is updated to T1→T2→T4→T5→T6; and so on, inserting each data point one by one, thus inserting all data points into the index linked list. Existing triangulation algorithms are inefficient in applications with large-scale data points.
[0004] Currently, researchers are primarily focused on optimizing and improving existing triangulation algorithms. During the invention process, the inventors discovered that existing technologies lack an effective method for dividing the data range of a planar point set by establishing an index grid during the data preprocessing stage. Furthermore, they cannot index the positional relationships between points, lines, and surfaces within the grid cells, resulting in slow 3D visualization display speeds. Summary of the Invention
[0005] This invention provides a method, apparatus, electronic device, and medium for visualizing seismic horizons, thereby improving the efficiency of 3D visualization during reservoir prediction in oil exploration.
[0006] To solve the above-mentioned technical problems, this specification is implemented as follows:
[0007] Firstly, a method for visualizing seismic horizons is provided, including:
[0008] An initial triangulation surface for seismic horizons is established based on a set of seismic horizon plane points. The set of seismic horizon plane points includes a large number of seismic horizon data points to be triangulated. The initial triangulation surface is the largest outer triangle covering all seismic horizon data points.
[0009] Initial index linked lists are established in the x and y dimensions respectively. Each initial index linked list in the dimension includes an initial linked list element. The data range corresponding to the initial linked list element is the data range of the initial triangulation surface in that dimension. The initial linked list element contains the initial triangulation surface.
[0010] Seismic data points are inserted point by point. For each newly inserted seismic data point, the triangulation surface containing that data point is determined. This data point is then used to divide the triangulation surface into three new triangulation surfaces. Based on the coordinates of the data point, a linked list element is added in both the x and y dimensions. The index linked lists are then updated laterally in both the x and y dimensions based on the divided triangulation surfaces and their vertical connections. Each linked list element in each dimension corresponds to a specific data range within that dimension, and horizontal connections are established between the triangulation surfaces contained within that element. Data ranges corresponding to elements within the same dimension are non-overlapping, and the sum of the data ranges corresponding to all linked list elements is the initial data range corresponding to the linked list element in that dimension. At least one point within the data range of a linked list element belongs to that linked list element.
[0011] Update the index linked list vertically in the x and y dimensions respectively, and establish vertical connection relationships between triangulation faces with the same name in each linked list element in the same dimension.
[0012] The final doubly linked index is obtained by inserting all seismic horizon data points in the seismic horizon plane point set into the index linked list.
[0013] Based on the final bidirectional indexed linked list, a triangular mesh of seismic horizons is generated and visualized.
[0014] Optionally, the step of establishing the initial triangulation surface of the seismic horizon based on the set of seismic horizon plane points specifically includes:
[0015] Determine the data range of all seismic horizon data points in the seismic horizon plane point set;
[0016] Based on the data range of all seismic horizon data points, a maximum outer triangle covering all seismic horizon data points is established as the initial triangulation surface; the coordinates of the three vertices of the initial triangulation surface are respectively represented as... The coordinates of each vertex are determined by the following formula:
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023] Where, x min x max Represent the minimum and maximum values of the data range for all seismic horizon data points along the x-axis, respectively; y min y max These represent the minimum and maximum values of the data range for all seismic horizon data points along the y-axis, respectively. `max(·)` is the maximum value operation, and `abs(·)` is the absolute value operation.
[0024] Optionally, the coordinates of the seismic horizon data point are used to add a linked list element in both the x and y dimensions, specifically including:
[0025] In the x-axis, based on the data range corresponding to each linked list element, the target linked list element where the x-coordinate of the seismic layer data point is located is determined. The target linked list element where the x-coordinate is located is divided into two new linked list elements using the x-coordinate, and the data range corresponding to each of the two new linked list elements is determined.
[0026] In the y-axis, based on the data range corresponding to each linked list element, the target linked list element where the ordinate of the seismic layer data point is located is determined. The target linked list element where the ordinate is located is divided into two new linked list elements using the ordinate, and the data range corresponding to each of the two new linked list elements is determined.
[0027] Optionally, the index linked list is updated laterally in the x and y dimensions based on the segmented triangulation facets and their vertical connectivity, specifically including:
[0028] In the x-axis, the triangulation faces contained in the target linked list element at the x-coordinate are used as the initial triangulation faces contained in the two new linked list elements. Based on the segmented triangulation faces, the three new triangulation faces obtained after segmentation, and the data ranges corresponding to the two new linked list elements, the initial triangulation faces contained in the two new linked list elements are updated respectively; and
[0029] Based on the vertical connection relationship of the segmented triangular facets, other linked list elements containing the segmented triangular facets in the x dimension are determined. Based on the segmented triangular facets, the three new triangular facets obtained after segmentation, and the data range corresponding to the other linked list elements, the triangular facets currently contained in the other linked list elements are updated.
[0030] In the y-axis, the triangulation faces contained in the target linked list element at the y-coordinate are used as the initial triangulation faces contained in the two new linked list elements. Based on the segmented triangulation faces, the three new triangulation faces obtained after segmentation, and the data ranges corresponding to the two new linked list elements, the initial triangulation faces contained in the two new linked list elements are updated respectively; and
[0031] Based on the vertical connection relationship of the segmented triangular facets, other linked list elements containing the segmented triangular facets in the y-dimensional are determined. Based on the segmented triangular facets, the three new triangular facets obtained after segmentation, and the data range corresponding to the other linked list elements, the triangular facets currently contained in the other linked list elements are updated.
[0032] Optionally, based on the segmented triangulation facets, the three new triangulation facets obtained after segmentation, and the data ranges corresponding to the two new linked list elements, the initial triangulation facets contained in the two new linked list elements are updated respectively, including:
[0033] For each new linked list element, the triangular facet to be divided is removed from the triangular facets initially contained therein. Based on the data range corresponding to the new linked list element, it is determined whether the three new triangular facets obtained after the division belong to the new linked list element. The new triangular facets belonging to the new linked list element are added to the corresponding positions of the divided triangular facets, and the horizontal connection relationship between the latest triangular facets contained in the new linked list element is established.
[0034] Based on the segmented triangulation facets, the three new triangulation facets obtained after segmentation, and the data ranges corresponding to other linked list elements, the triangulation facets currently contained in the other linked list elements are updated, including:
[0035] For other linked list elements, the triangular facet to be divided is removed from the triangular facets currently contained in it. Based on the data range corresponding to the other linked list element, it is determined whether the three new triangular facets obtained after the division belong to the other linked list element. The new triangular facets belonging to the other linked list element are added to the corresponding positions of the divided triangular facets, and the horizontal connection relationship between the latest triangular facets contained in the other linked list element is established.
[0036] Optionally, the method further includes:
[0037] For newly inserted seismic horizon data points, if the seismic horizon data point is located on any edge of any triangulation plane, no processing is performed, and the next seismic horizon data point is inserted.
[0038] Optionally, the method further includes:
[0039] The seismic horizon data interpreted from the seismic data is processed, ignoring the time dimension in the seismic horizon data, to obtain the seismic horizon plane point set.
[0040] Secondly, a visualization device for seismic horizons is provided, comprising:
[0041] The triangulation surface initialization unit is used to establish an initial triangulation surface of the seismic horizon based on the set of seismic horizon plane points. The set of seismic horizon plane points includes a large number of seismic horizon data points to be triangulated. The initial triangulation surface is the largest outer triangle covering all seismic horizon data points.
[0042] The linked list initialization unit is used to establish initial index linked lists in the x-dimension and y-dimension respectively. Each initial index linked list in the dimension includes an initial linked list element. The data range corresponding to the initial linked list element is the data range of the initial triangulation face in that dimension. The initial linked list element contains the initial triangulation face.
[0043] The linked list update control unit is used to insert each seismic horizon data point point by point. For each newly inserted seismic horizon data point, the horizontal update unit and the vertical update unit are triggered to perform the corresponding processing in sequence until all seismic horizon data points in the seismic horizon plane point set are inserted into the index linked list to obtain the final doubly linked index list.
[0044] The horizontal update unit is used to determine the triangulation surface where the newly inserted seismic horizon data point is located. Using the seismic horizon data point, the triangulation surface is divided into three new triangulation surfaces. Based on the coordinates of the seismic horizon data point, a linked list element is added in both the x and y dimensions. The index linked list is then horizontally updated in both the x and y dimensions based on the divided triangulation surfaces and their vertical connections. Each linked list element in each dimension corresponds to a specific data range in that dimension, and horizontal connections are established between the triangulation surfaces contained within that linked list element. The data ranges corresponding to linked list elements within the same dimension have no overlap, and the sum of the data ranges corresponding to all linked list elements is the data range corresponding to the initial linked list element in that dimension. At least one point within the data range of a linked list element belongs to that linked list element.
[0045] The vertical update unit is used to update the index linked list vertically in the x and y dimensions respectively, and to establish vertical connection relationships between triangulation faces with the same name in each linked list element in the same dimension.
[0046] The display unit is used to generate and visualize the triangular mesh of seismic horizons based on the final bidirectional indexed linked list.
[0047] Optionally, the partition surface initialization unit includes:
[0048] Determine the sub-unit to define the data range of all seismic horizon data points in the seismic horizon plane point set;
[0049] A sub-unit is established to construct the largest outer triangle covering all seismic horizon data points based on the data range of all seismic horizon data points, serving as the initial triangulation surface; the coordinates of the three vertices of the initial triangulation surface are respectively represented as... The coordinates of each vertex are determined by the following formula:
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056] Where, x min x max Represent the minimum and maximum values of the data range for all seismic horizon data points along the x-axis, respectively; y min y max These represent the minimum and maximum values of the data range for all seismic horizon data points along the y-axis, respectively. `max(·)` is the maximum value operation, and `abs(·)` is the absolute value operation.
[0057] Optionally, the horizontal update unit includes:
[0058] The element update subunit is used to determine, in the x-axis, the target linked list element containing the x-coordinate of the seismic horizon data point based on the data range corresponding to each linked list element; then, using the x-coordinate, the target linked list element containing the x-coordinate is divided into two new linked list elements, and the data range corresponding to each of the two new linked list elements is determined; and
[0059] In the y-axis, based on the data range corresponding to each linked list element, the target linked list element where the ordinate of the seismic layer data point is located is determined. The target linked list element where the ordinate is located is divided into two new linked list elements using the ordinate, and the data range corresponding to each of the two new linked list elements is determined.
[0060] Optionally, the horizontal update unit further includes:
[0061] The first linked list update subunit is used to, in the x-axis, take the triangulation faces contained in the target linked list element at the x-coordinate as the initial triangulation faces contained in the two new linked list elements, and update the initial triangulation faces contained in the two new linked list elements based on the segmented triangulation faces, the three new triangulation faces obtained after segmentation, and the data ranges corresponding to the two new linked list elements; and
[0062] In the y-dimensional plane, the triangular facets contained in the target linked list element where the ordinate is located are taken as the initial triangular facets contained in the two new linked list elements. Based on the segmented triangular facets, the three new triangular facets obtained after segmentation, and the data ranges corresponding to the two new linked list elements, the initial triangular facets contained in the two new linked list elements are updated respectively.
[0063] The second linked list update subunit is used to determine other linked list elements containing the segmented triangular facets in the x-axis based on the vertical connection relationship of the segmented triangular facets, and to update the triangular facets currently contained in the other linked list elements based on the segmented triangular facets, the three new triangular facets obtained after segmentation, and the data range corresponding to the other linked list elements; and
[0064] Based on the vertical connection relationship of the segmented triangular facets, other linked list elements containing the segmented triangular facets in the y-dimensional are determined. Based on the segmented triangular facets, the three new triangular facets obtained after segmentation, and the data range corresponding to the other linked list elements, the triangular facets currently contained in the other linked list elements are updated.
[0065] Optionally, the first linked list update subunit is specifically used to, for each new linked list element, delete the triangular facets to be divided from the triangular facets initially contained therein, determine whether the three new triangular facets obtained after division belong to the new linked list element based on the data range corresponding to the new linked list element, add the new triangular facets belonging to the new linked list element to the corresponding positions of the divided triangular facets, and establish the lateral connection relationship between the latest triangular facets contained in the new linked list element.
[0066] The second linked list update subunit is specifically used for other linked list elements. It deletes the triangular facet to be divided from the triangular facets currently contained in the other linked list element, determines whether the three new triangular facets obtained after division belong to the other linked list element based on the data range corresponding to the other linked list element, and adds the new triangular facets belonging to the other linked list element to the corresponding positions of the divided triangular facets, thus establishing the lateral connection relationship between the latest triangular facets contained in the other linked list element.
[0067] Optionally, the linked list update control unit is also configured to, for a newly inserted seismic horizon data point, if the seismic horizon data point is located on any edge of any triangulation plane, not trigger the execution of the horizontal update unit and the vertical update unit, and continue to insert the next seismic horizon data point.
[0068] Optional, also includes:
[0069] The data processing unit is used to process the seismic horizon data interpreted from the seismic data, ignoring the time dimension in the seismic horizon data, to obtain the seismic horizon plane point set.
[0070] Thirdly, an electronic device is provided, including a memory and a processor electrically connected to the memory, the memory storing a computer program executable by the processor, the computer program, when executed by the processor, implementing the steps of the method described in the first aspect.
[0071] Fourthly, a computer-readable storage medium is provided that stores a computer program thereon, which, when executed by a processor, implements the steps of the method described in the first aspect.
[0072] The above technical solution has the following beneficial effects:
[0073] The seismic horizon visualization method, device, electronic device, and medium provided in this invention are based on a triangulation algorithm with a bidirectional indexed linked list structure. Building upon existing triangulation algorithms, a bidirectional linked list index data structure is introduced. Horizontal connections are established between the triangulation faces contained in each linked list element, and vertical connections are established between triangulation faces with the same name in linked list elements within the same dimension. By establishing index information for each triangulation face, the calculation time for the positional relationships between points, lines, and faces during triangular mesh construction is reduced. It eliminates the need to individually detect and calculate the positions of all seismic horizon data points and triangulation faces, thus improving the efficiency of triangulation and consequently enhancing the efficiency of 3D visualization of large-scale seismic horizons during seismic data interpretation. Attached Figure Description
[0074] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0075] Figure 1a , Figure 1b This is a schematic diagram of the workflow of existing triangulation algorithms;
[0076] Figure 2 This is a flowchart of the method for visualizing seismic horizons in an embodiment of the present invention;
[0077] Figures 3a-3e This is a schematic diagram illustrating the workflow of the triangulation algorithm based on a doubly linked index structure in an embodiment of the present invention.
[0078] Figure 4 This is a schematic diagram of the structure of the seismic horizon visualization display device in an embodiment of the present invention;
[0079] Figure 5a This is a schematic diagram showing the spatial point set of seismic horizons in an embodiment of the present invention;
[0080] Figure 5b This is a schematic diagram showing the result of generating a triangular mesh of seismic horizons using an embodiment of the present invention;
[0081] Figure 6 This is a schematic diagram of the structure of the electronic device in an embodiment of the present invention. Detailed Implementation
[0082] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0083] To address the need for efficient 3D visualization of reservoirs during oil exploration, this invention provides a method and apparatus for visualizing seismic horizons. It is implemented using a triangulation algorithm with a bidirectional linked list structure. Building upon existing triangulation algorithms, a bidirectional linked list index data structure is introduced. By establishing index information for each triangulation surface, the computation time for calculating the positional relationships between points, lines, and surfaces during triangular mesh construction is reduced, thereby improving the efficiency of 3D visualization of large-scale seismic horizons during seismic data interpretation.
[0084] To address the low efficiency of large-scale seismic horizon 3D visualization during seismic data interpretation, this invention first provides a novel triangulation algorithm based on a bidirectional indexed linked list structure, which improves the efficiency and accuracy of large-scale seismic horizon 3D visualization. The implementation principle of the triangulation algorithm based on the bidirectional indexed linked list structure is described below:
[0085] 1) Determine the range of the triangulation, process the collected data l(x,y,t), ignoring the time dimension t, to obtain the two-dimensional planar point set l. * (x,y), calculate the maximum and minimum values in the x and y dimensions of the two-dimensional planar point set that needs to be triangulated, and establish the initial triangulation surface T0;
[0086] 2) Insert each triangulation point point by point, and dynamically and progressively build an index list L along the x and y dimensions respectively. x and L y ;
[0087] 3) For each newly inserted triangulation point, divide the triangulation surface it belongs to into three new triangulation surfaces;
[0088] 4) Horizontal update of index list L x and L y The triangular partition facets to be divided are from the index list L x and L y Delete it, and add the three new triangulation faces obtained after the segmentation to the index list L. x and L y middle;
[0089] 5) Vertical update of index list L x and L y In L x and L y Establish vertical connections by finding triangular sections with the same name in each section;
[0090] 6) Repeat steps 2) and 5) until all triangulation points are inserted into the index list L. x and L y The triangulation algorithm ends here.
[0091] A doubly linked index L is dynamically and progressively built by inserting each triangulation point point along both the x and y dimensions. x L y It has the following characteristics:
[0092] 1. The index list on each dimension includes at least one list element, and each time a triangulation point is inserted, a corresponding list element is added.
[0093] 2. Each linked list element in each dimension corresponds to a specific data range in that dimension. The data ranges corresponding to each linked list element in the same dimension have no intersection, and the sum of the data ranges corresponding to all linked list elements is the data range corresponding to the initial linked list element in that dimension (i.e., the data range of the initial triangulation face in that dimension).
[0094] 3. There is at least one triangulation facet within the data range corresponding to a certain linked list element that belongs to that linked list element, and a lateral connection relationship is established between the triangulation faces contained in that linked list element.
[0095] 4. Establish vertical connections between triangulation faces with the same name in each linked list element within the same dimension.
[0096] Compared with existing triangulation algorithms, the triangulation algorithm based on a doubly indexed linked list structure can significantly improve the efficiency of triangulation and reduce the repetitiveness of operations.
[0097] Figure 2 This is a flowchart illustrating the method for visualizing seismic horizons according to an embodiment of the present invention. Figure 2 As shown, the seismic horizon visualization method provided in this embodiment of the invention is implemented based on a triangulation algorithm with a bidirectional indexed linked list structure, and includes the following steps:
[0098] S201. Establish the initial triangulation surface of the seismic horizon based on the seismic horizon plane point set. The seismic horizon plane point set includes a large number of seismic horizon data points to be triangulated. The initial triangulation surface is the largest outer triangle covering all seismic horizon data points.
[0099] In the specific implementation of S201, the seismic horizon plane point set is generally obtained by processing the seismic horizon data interpreted from seismic data, ignoring the time dimension t in the seismic horizon data. For the seismic horizon plane point set... Where, p i Let p be the seismic horizon data point, i be the data point index, and N be the number of seismic horizon data points in the seismic horizon plane point set G (i.e., the set of seismic horizon data points). This can be understood as seismic horizon data point p... i Since the time dimension t is ignored, the data points are in planar space. The data range of all seismic horizon data points in the seismic horizon planar point set G is determined, i.e., [x...]. min ,x max ] and [y min ,y max ], x min and x max y min and y maxThese represent the minimum and maximum data ranges of all seismic horizon data points in the x-dimension (or x-axis direction), and the minimum and maximum data ranges of all seismic horizon data points in the y-dimension (or y-axis direction), respectively.
[0100] Establish the initial triangulation surface T0 required for seismic horizon visualization, where T0 is the largest outer triangle covering all seismic horizon data points, and the coordinates of the three vertices of this largest outer triangle are as follows: The coordinates of each vertex are calculated using the following formulas (1) to (6):
[0101]
[0102]
[0103]
[0104]
[0105]
[0106]
[0107] Among them, max(·) is the maximum value operation, and abs(·) is the absolute value operation.
[0108] S202. Establish initial seismic horizon index linked lists (referred to as index linked lists in this embodiment) in the x and y dimensions respectively. Each initial index linked list in each dimension includes an initial linked list element. The data range corresponding to the initial linked list element is the data range of the initial triangulation surface in that dimension. The initial linked list element contains the initial triangulation surface.
[0109] In the specific implementation of S202, initial index linked lists L are established in the x and y dimensions respectively. x L y The initial indexed linked list L x L y The results are obtained by formulas (7) and (8) respectively:
[0110]
[0111]
[0112] in, This represents a linked list element in an indexed linked list. The subscript and superscript of the linked list element represent a specific data range corresponding to the linked list element in the indexed linked list. If a certain triangulation face T jIf at least one point lies within the data range, then the triangulation surface T j To be added to the linked list element In this process, a horizontal connection is established between the triangulation faces contained in the linked list element, for example, using the T1→T2→T3 method. According to formula (7), the initial index linked list in the x-dimensional dimension includes an initial linked list element. The initial linked list element The corresponding data range is the data range of the initial triangulation face T0 in the x-axis, and the initial linked list elements. Includes the initial triangulation surface T0; Meaning and Similarly, as can be seen from formula (8), the initial index linked list in the y-dimensional dimension includes an initial linked list element. The initial linked list element The corresponding data range is the data range of the initial triangulation face T0 in the y-axis, and the initial linked list elements. Includes the initial triangulation surface T0.
[0113] S203. Insert each seismic horizon data point point by point. For each newly inserted seismic horizon data point, determine the triangulation surface in which the seismic horizon data point is located. Use the seismic horizon data point to divide the triangulation surface in which the seismic horizon data point is located into three new triangulation surfaces. Based on the coordinates of the seismic horizon data point, add a linked list element in the x-dimensional and y-dimensional dimensions respectively. Based on the divided triangulation surfaces and their vertical connection relationships, update the index linked list horizontally in the x-dimensional and y-dimensional dimensions respectively.
[0114] In the specific implementation of S203, if a newly inserted seismic horizon data point is located on any edge of any triangulation plane, no processing is performed, and the next seismic horizon data point is inserted.
[0115] In the specific implementation of S203, for the newly inserted seismic horizon data point p t =(x t ,y t ), x_min≤x t ≤x_max, y_min≤y t ≤y_max, for a given linked list element N i Let x be the number of triangulation faces in the indexed linked list. t _m≤x t ≤x t _n, then according to the well-known centroid method, the seismic horizon data point p is determined. t =(x t ,y tThe triangular bisection surface where ) is located The triangulation facet is divided into three new triangulation faces. and
[0116] In the specific implementation of S203, a linked list element is added in both the x and y dimensions based on the coordinates of the seismic horizon data point. The specific steps include the following:
[0117] In the x-axis, based on the data range corresponding to each linked list element, the seismic horizon data point P is determined. t x-coordinate t The target linked list element, assuming the target linked list element is The corresponding data range is x t _m≤x t ≤x t _n, using the x-coordinate t Will Split into two new linked list elements And determine the data range [x] corresponding to each of the two new linked list elements. t _m, x t ), [x t x t _n];
[0118] Similarly, in the y-axis, based on the data range corresponding to each linked list element, the target linked list element where the ordinate of the seismic layer data point is located is determined. The target linked list element where the ordinate is located is divided into two new linked list elements using the ordinate, and the data range corresponding to each of the two new linked list elements is determined.
[0119] It should be noted that the data ranges corresponding to each linked list element within the same dimension have no overlap, and the union of the data ranges corresponding to all linked list elements is the data range corresponding to the initial linked list element in that dimension.
[0120] In the specific implementation of S203, the index linked list is updated horizontally in the x and y dimensions based on the segmented triangular partition and its vertical connection relationship, specifically including:
[0121] a. In the x-axis, take the triangular facets contained in the target linked list element where the x-coordinate is located as the initial triangular facets contained in the two new linked list elements. Based on the segmented triangular facets, the three new triangular facets obtained after segmentation, and the data ranges corresponding to the two new linked list elements, update the initial triangular facets contained in the two new linked list elements respectively.
[0122] b. Based on the vertical connection relationship of the segmented triangular facets, determine other linked list elements in the x dimension that contain the segmented triangular facets. Based on the segmented triangular facets, the three new triangular facets obtained after segmentation, and the data range corresponding to other linked list elements, update the triangular facets currently contained in the other linked list elements.
[0123] c. In the y-axis, take the triangular facets contained in the target linked list element where the ordinate is located as the initial triangular facets contained in the two new linked list elements. Based on the segmented triangular facets, the three new triangular facets obtained after segmentation, and the data ranges corresponding to the two new linked list elements, update the initial triangular facets contained in the two new linked list elements respectively.
[0124] d. Based on the vertical connection relationship of the segmented triangular facets, determine other linked list elements in the y-axis that contain the segmented triangular facets. Based on the segmented triangular facets, the three new triangular facets obtained after segmentation, and the data range corresponding to the other linked list elements, update the triangular facets currently contained in the other linked list elements.
[0125] Specifically, for each new linked list element, the triangular facet to be divided is removed from the triangular facets initially contained therein. Based on the data range corresponding to the new linked list element, it is determined whether the three new triangular facets obtained after the division belong to the new linked list element. The new triangular facets belonging to the new linked list element are added to the corresponding positions of the divided triangular facets, and the horizontal connection relationship between the latest triangular facets contained in the new linked list element is established.
[0126] For other linked list elements, the triangular facet to be divided is removed from the triangular facets currently contained in it. Based on the data range corresponding to the other linked list element, it is determined whether the three new triangular facets obtained after the division belong to the other linked list element. The new triangular facets belonging to the other linked list element are added to the corresponding positions of the divided triangular facets, and the horizontal connection relationship between the latest triangular facets contained in the other linked list element is established.
[0127] Update the index list L horizontally along both the x and y dimensions. x and L y At that time, for the indexed linked list L x If the three new triangular partition surfaces are obtained after the division and Each vertex p t , x-coordinate t (For ease of description, the x-coordinates of all four vertices are represented by x.) t(This indicates that) the value satisfies the condition of a certain linked list element. Corresponding data range Then add the new triangulation face to the corresponding linked list element. Similarly, update the index linked list L. y .
[0128] Based on the vertical connection relationship in the indexed linked list L x and L y Deleting triangulation face When, i is the subscript index, first in the index linked list L x A certain linked list element In the middle, find the triangular bisection surface. Then according to the index queue The correspondence is in other linked list elements. In the case of t≠h, delete the triangular partition surface.
[0129] S204. Update the index linked list vertically in the x and y dimensions respectively, and establish vertical connection relationships between triangulation faces with the same name in each linked list element in the same dimension.
[0130] Vertical update index list L x and L y For indexed linked lists In the linked list element and Find triangulation faces with the same name, if and If the same triangulation surface is represented, then in and Interconnected via index queue This method establishes vertical connections, representing linked list elements. Triangular partition surface in With list elements Triangular partition surface in The connection between them.
[0131] S205. Repeat steps S203 to S204 above until the seismic horizon plane point set is reached. All seismic horizon data points are inserted into the index list L. x and L y In the process, the triangulation algorithm based on the doubly indexed linked list structure ends, and the final doubly indexed linked list is obtained.
[0132] S206. Based on the final bidirectional indexed linked list, generate a triangular mesh of seismic horizons and visualize it.
[0133] The following will refer to the instruction manual appendix. Figures 3a-3eFor example, the workflow of the triangulation algorithm based on a bidirectional indexed linked list structure used for the visualization of seismic horizons is illustrated.
[0134] like Figure 3a As shown, assume that △ABC is the initial triangulation surface T0 established based on the seismic horizon plane point set, and the initial index linked list L in the y-dimensional direction. y Includes an initial linked list element. The initial linked list element The corresponding data range is [y min y max The initial linked list element Includes the initial triangulation surface T0;
[0135] like Figure 3b As shown, assuming the first seismic horizon data point P1(x) is inserted... P1 y P1 The triangulation plane containing the seismic data point P1 is T0. The seismic data point P1 divides T0 into three new triangulation planes T1, T2, and T3. The ordinate of the seismic data point P1 is y. P1 The target linked list element is the initial linked list element. Then the target linked list element Split into two new linked list elements The data range corresponding to each of the two new linked list elements is [y min y P1 ), [y P1 y max ], to target linked list element T0 is included as one of the two new linked list elements. The initial triangulation faces, based on the divided triangulation face T0, the three new triangulation faces T1, T2, and T3 obtained after the division, and the data range corresponding to the two new linked list elements, are [y min y P1 ), [y P1 y max ], remove T0 from two new linked list elements Delete the initially included triangulation faces and add T1 and T3 to the new linked list elements. Add T1, T2, and T3 to the new linked list. In the middle, create this new linked list element. The latest included triangulation faces have a lateral connection relationship of T1→T3. Establish this new linked list element. The latest included lateral connection relationship between the triangulation surfaces is T1→T2→T3;
[0136] like Figure 3c As shown, each linked list element Establish a longitudinal connection between triangular bisecting surfaces T1 and T3 with the same name;
[0137] like Figure 3d As shown, assuming the insertion of a second seismic horizon data point P2(x) P2 y P2 The triangulation surface where the seismic data point P2 is located is T3. The seismic data point P2 divides T3 into three new triangulation surfaces T4, T5, and T6. The ordinate of the seismic data point P2 is y. P2 The target linked list element is Then the target linked list element Split into two new linked list elements The data range corresponding to each of the two new linked list elements is [y min y P2 ), [y P2 y P1 ), to target linked list element T1 and T3 are included as two new linked list elements. The initial triangulation faces are based on the triangulation face T3, the three new triangulation faces T4, T5, and T6 obtained after the division, and the data range [y] corresponding to the two new linked list elements. min y P2 ), [y P2 y P1 ), remove T3 from two new linked list elements Delete the initially included triangulation faces and add T5 and T4 to the new linked list. In the process, add T5, T6, and T4 to the new linked list elements. In the middle, create this new linked list element. The latest lateral connection relationship between the triangulated faces is T1→T5→T4. Establish this new linked list element. The latest included lateral connections between the triangulation faces are T1→T5→T6→T4; furthermore, based on the vertical connections of the segmented triangulation face T3, other linked list elements containing T3 are determined. Based on the segmented triangular facet T3, the three new triangular facets T4, T5, and T6 obtained after segmentation, and other linked list elements. The corresponding data range [y P1 y max ], remove T3 from other linked list elements Delete the currently included triangulation faces and add T5, T6, and T4 to other linked list elements. In the middle, create the other linked list elements. The latest included lateral connection relationship between the triangulation surfaces is T1→T2→T5→T6→T4;
[0138] like Figure 3e As shown, each linked list element Establish longitudinal connections between triangular sections T1, T5, T6, and T4 with the same name;
[0139] This process continues, inserting subsequent seismic horizon data points P3, P4, ..., until all seismic horizon data points in the seismic horizon plane set are inserted into the index list L. y This yields the final doubly linked index list along the y-axis.
[0140] Similarly, insert all seismic horizon data points from the seismic horizon plane point set into the index linked list L point by point. x The final doubly linked index on the x-dimensional plane is obtained from this process; the specific workflow will not be elaborated here.
[0141] Based on the same technical concept, embodiments of the present invention also provide a visualization display device for seismic horizons, such as... Figure 4 As shown, it includes:
[0142] The triangulation surface initialization unit 401 is used to establish an initial triangulation surface of the seismic horizon based on the set of seismic horizon plane points. The set of seismic horizon plane points includes a large number of seismic horizon data points to be triangulated. The initial triangulation surface is the largest outer triangle covering all seismic horizon data points.
[0143] The linked list initialization unit 402 is used to establish initial index linked lists in the x-dimension and y-dimension respectively. Each initial index linked list in the dimension includes an initial linked list element. The data range corresponding to the initial linked list element is the data range of the initial triangulation surface in that dimension. The initial linked list element contains the initial triangulation surface.
[0144] The linked list update control unit 403 is used to insert each seismic layer data point point by point. For each newly inserted seismic layer data point, the horizontal update unit and the vertical update unit are triggered to perform the corresponding processing in sequence until all seismic layer data points in the seismic layer plane point set are inserted into the index linked list to obtain the final doubly linked list.
[0145] The horizontal update unit 404 is used to determine the triangulation surface where the newly inserted seismic horizon data point is located. Using the seismic horizon data point, the triangulation surface where the data point is located is divided into three new triangulation surfaces. Based on the coordinates of the seismic horizon data point, a linked list element is added in the x-dimensional and y-dimensional dimensions respectively. Based on the divided triangulation surfaces and their vertical connection relationships, the index linked list is horizontally updated in the x-dimensional and y-dimensional dimensions respectively. Among them, the linked list element in each dimension corresponds to a specific data range in that dimension, and a horizontal connection relationship is established between the triangulation surfaces contained in the linked list element. The data ranges corresponding to the linked list elements in the same dimension have no intersection, and the sum of the data ranges corresponding to all linked list elements is the data range corresponding to the initial linked list element in that dimension. At least one point is located in the triangulation surface within the data range corresponding to a certain linked list element, which belongs to that linked list element.
[0146] The vertical update unit 405 is used to update the index linked list vertically in the x and y dimensions respectively, and to establish a vertical connection relationship between the triangulation surfaces with the same name in each linked list element in the same dimension.
[0147] Display unit 406 is used to generate and visualize triangular meshes of seismic horizons based on the final bidirectional indexed linked list.
[0148] Optionally, one possible structure of the partitioning surface initialization unit 401 includes:
[0149] Determine the sub-unit to define the data range of all seismic horizon data points in the seismic horizon plane point set;
[0150] A sub-unit is established to construct the largest outer triangle covering all seismic horizon data points based on the data range of all seismic horizon data points, serving as the initial triangulation surface; the coordinates of the three vertices of the initial triangulation surface are respectively represented as... The coordinates of each vertex are determined by the following formula:
[0151]
[0152]
[0153]
[0154]
[0155]
[0156]
[0157] Where, x min x maxRepresent the minimum and maximum values of the data range for all seismic horizon data points along the x-axis, respectively; y min y max These represent the minimum and maximum values of the data range for all seismic horizon data points along the y-axis, respectively. `max(·)` is the maximum value operation, and `abs(·)` is the absolute value operation.
[0158] Optionally, one possible structure of the lateral update unit 404 includes:
[0159] The element update subunit is used to determine, in the x-axis, the target linked list element containing the x-coordinate of the seismic horizon data point based on the data range corresponding to each linked list element; then, using the x-coordinate, the target linked list element containing the x-coordinate is divided into two new linked list elements, and the data range corresponding to each of the two new linked list elements is determined; and
[0160] In the y-axis, based on the data range corresponding to each linked list element, the target linked list element where the ordinate of the seismic layer data point is located is determined. The target linked list element where the ordinate is located is divided into two new linked list elements using the ordinate, and the data range corresponding to each of the two new linked list elements is determined.
[0161] Optionally, the horizontal update unit 404 further includes:
[0162] The first linked list update subunit is used to, in the x-axis, take the triangulation faces contained in the target linked list element at the x-coordinate as the initial triangulation faces contained in the two new linked list elements, and update the initial triangulation faces contained in the two new linked list elements based on the segmented triangulation faces, the three new triangulation faces obtained after segmentation, and the data ranges corresponding to the two new linked list elements; and
[0163] In the y-dimensional plane, the triangular facets contained in the target linked list element where the ordinate is located are taken as the initial triangular facets contained in the two new linked list elements. Based on the segmented triangular facets, the three new triangular facets obtained after segmentation, and the data ranges corresponding to the two new linked list elements, the initial triangular facets contained in the two new linked list elements are updated respectively.
[0164] The second linked list update subunit is used to determine other linked list elements containing the segmented triangular facets in the x-axis based on the vertical connection relationship of the segmented triangular facets. Based on the segmented triangular facets, the three new triangular facets obtained after segmentation, and the data range corresponding to the other linked list elements, it updates the triangular facets currently contained in each of the other linked list elements; and
[0165] Based on the vertical connection relationship of the segmented triangular facets, determine other linked list elements in the y-axis that contain the segmented triangular facets. Based on the segmented triangular facets, the three new triangular facets obtained after segmentation, and the data range corresponding to the other linked list elements, update the triangular facets currently contained in the other linked list elements.
[0166] Optionally, the first linked list update subunit is specifically used to, for each new linked list element, delete the triangular facets to be divided from the triangular facets initially contained therein, determine whether the three new triangular facets obtained after division belong to the new linked list element based on the data range corresponding to the new linked list element, add the new triangular facets belonging to the new linked list element to the corresponding positions of the divided triangular facets, and establish the lateral connection relationship between the latest triangular facets contained in the new linked list element.
[0167] The second linked list update subunit is specifically used to, for other linked list elements, delete the triangular facets to be divided from the triangular facets currently contained in them, determine whether the three new triangular facets obtained after division belong to the other linked list element based on the data range corresponding to the other linked list element, add the new triangular facets belonging to the other linked list element to the corresponding positions of the divided triangular facets, and establish the lateral connection relationship between the latest triangular facets contained in the other linked list element.
[0168] Optionally, the linked list update control unit 403 is also used to, for newly inserted seismic horizon data points, if the seismic horizon data point is located on any edge of any triangulation plane, not to trigger the execution of the horizontal update unit 404 and the vertical update unit 405, and to continue inserting the next seismic horizon data point.
[0169] Optional, such as Figure 4 As shown, the device may further include:
[0170] The data processing unit 400 is used to process the seismic horizon data interpreted from the seismic data, ignoring the time dimension in the seismic horizon data, to obtain the seismic horizon plane point set.
[0171] To demonstrate the seismic horizons generated based on the new triangulation algorithm Figure 5a This is a schematic diagram showing the spatial point set of seismic horizons in an embodiment of the present invention. Figure 5b This is a schematic diagram showing the display result of generating a triangular mesh of seismic horizons using an embodiment of the present invention. The triangulation algorithm based on a bidirectional indexed linked list structure provided by this embodiment of the present invention can be combined with structural modeling, attribute modeling and other techniques, and has considerable application prospects. It has a broad application market in oilfields that are entering the mid-to-late stage of development.
[0172] The seismic horizon visualization method and apparatus provided in this invention are based on a triangulation algorithm with a bidirectional linked list structure. It introduces a bidirectional linked list index data structure, establishing horizontal connections between the triangulation faces contained in each linked list element, and vertical connections between triangulation faces with the same name in linked list elements within the same dimension. By establishing index information for each triangulation face, the calculation time for the relationships between points, lines, and faces during triangular mesh construction is reduced. It eliminates the need to individually detect and calculate the positions of all seismic horizon data points and triangulation faces, thus improving the efficiency of triangulation and consequently enhancing the efficiency of 3D visualization of seismic horizons during seismic exploration.
[0173] Figure 6 This is a schematic diagram of the structure of an electronic device according to one embodiment of this specification. Please refer to it. Figure 6 At the hardware level, the electronic device includes a processor, and optionally also includes an internal bus, a network interface, and memory. The memory may include main memory, such as high-speed random-access memory (RAM), or non-volatile memory, such as at least one disk drive. Of course, the electronic device may also include other hardware required for other business operations.
[0174] The processor, network interface, and memory can be interconnected via an internal bus, which can be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus, or an EISA (Extended Industry Standard Architecture) bus, etc. This bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 6 The symbol is represented by a single double-headed arrow, but this does not mean that there is only one bus or one type of bus.
[0175] Memory is used to store programs. Specifically, programs may include program code, which includes computer operation instructions. Memory may include main memory and non-volatile memory, and provides instructions and data to the processor.
[0176] The processor executes the program stored in the memory. The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it. When the computer program is executed by the processor, it implements the various processes of any of the above-described embodiments of the visualization method for seismic horizons and achieves the same technical effect. To avoid repetition, it will not be described again here.
[0177] The method for visualizing seismic horizons disclosed in the above embodiments can be applied to a processor or implemented by a processor. The processor may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by integrated logic circuits in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, including a Central Processing Unit (CPU), a Network Processor (NP), etc.; it can also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this specification. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this specification can be directly manifested as execution by a hardware decoding processor, or execution by a combination of hardware and software modules in the decoding processor. The software module can reside in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method.
[0178] This invention also provides a computer-readable storage medium storing a computer program. When executed by a processor, this computer program implements the various processes of any of the above-described embodiments of the seismic horizon visualization method, achieving the same technical effect. To avoid repetition, further details are omitted here. The computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0179] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0180] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0181] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.
Claims
1. A method for visualizing seismic horizons, characterized in that, include: An initial triangulation surface for seismic horizons is established based on a set of seismic horizon plane points. The set of seismic horizon plane points includes a large number of seismic horizon data points to be triangulated. The initial triangulation surface is the largest outer triangle covering all seismic horizon data points. Initial index linked lists are established in the x and y dimensions respectively. Each initial index linked list in the dimension includes an initial linked list element. The data range corresponding to the initial linked list element is the data range of the initial triangulation surface in that dimension. The initial linked list element contains the initial triangulation surface. Seismic data points are inserted point by point. For each newly inserted seismic data point, the triangulation surface containing that data point is determined. This data point is then used to divide the triangulation surface into three new triangulation surfaces. Based on the coordinates of the data point, a linked list element is added in both the x and y dimensions. The index linked lists are then updated laterally in both the x and y dimensions based on the divided triangulation surfaces and their vertical connections. Each linked list element in each dimension corresponds to a specific data range within that dimension, and horizontal connections are established between the triangulation surfaces contained within that element. Data ranges corresponding to elements within the same dimension are non-overlapping, and the sum of the data ranges corresponding to all linked list elements is the initial data range corresponding to the linked list element in that dimension. At least one point within the data range of a linked list element belongs to that linked list element. Update the index linked list vertically in the x and y dimensions respectively, and establish vertical connection relationships between triangulation faces with the same name in each linked list element in the same dimension. The final doubly linked index is obtained by inserting all seismic horizon data points in the seismic horizon plane point set into the index linked list. Based on the final bidirectional indexed linked list, a triangular mesh of seismic horizons is generated and visualized.
2. The method as described in claim 1, characterized in that, The establishment of the initial triangulation surface of seismic horizons based on the seismic horizon plane point set specifically includes: Determine the data range of all seismic horizon data points in the seismic horizon plane point set; Based on the data range of all seismic horizon data points, a maximum outer triangle covering all seismic horizon data points is established as the initial triangulation surface; the coordinates of the three vertices of the initial triangulation surface are respectively represented as... The coordinates of each vertex are determined by the following formula: Where, x min x max Represent the minimum and maximum values of the data range for all seismic horizon data points along the x-axis, respectively; y min y max These represent the minimum and maximum values of the data range for all seismic horizon data points along the y-axis, respectively. `max(·)` is the maximum value operation, and `abs(·)` is the absolute value operation.
3. The method as described in claim 1, characterized in that, The method of adding a linked list element in both the x and y dimensions based on the coordinates of the seismic horizon data point specifically includes: In the x-axis, based on the data range corresponding to each linked list element, the target linked list element where the x-coordinate of the seismic layer data point is located is determined. The target linked list element where the x-coordinate is located is divided into two new linked list elements using the x-coordinate, and the data range corresponding to each of the two new linked list elements is determined. In the y-axis, based on the data range corresponding to each linked list element, the target linked list element where the ordinate of the seismic layer data point is located is determined. The target linked list element where the ordinate is located is divided into two new linked list elements using the ordinate, and the data range corresponding to each of the two new linked list elements is determined.
4. The method as described in claim 3, characterized in that, Based on the segmented triangular partitions and their vertical connectivity, the index linked list is updated horizontally in both the x and y dimensions, specifically including: In the x-axis, the triangulation faces contained in the target linked list element at the x-coordinate are used as the initial triangulation faces contained in the two new linked list elements. Based on the segmented triangulation faces, the three new triangulation faces obtained after segmentation, and the data ranges corresponding to the two new linked list elements, the initial triangulation faces contained in the two new linked list elements are updated respectively; and Based on the vertical connection relationship of the segmented triangular facets, determine other linked list elements in the x dimension that contain the segmented triangular facets. Based on the segmented triangular facets, the three new triangular facets obtained after segmentation, and the data range corresponding to the other linked list elements, update the triangular facets currently contained in the other linked list elements. In the y-axis, the triangulation faces contained in the target linked list element at the y-coordinate are used as the initial triangulation faces contained in the two new linked list elements. Based on the segmented triangulation faces, the three new triangulation faces obtained after segmentation, and the data ranges corresponding to the two new linked list elements, the initial triangulation faces contained in the two new linked list elements are updated respectively; and Based on the vertical connection relationship of the segmented triangular facets, other linked list elements containing the segmented triangular facets in the y-dimensional are determined. Based on the segmented triangular facets, the three new triangular facets obtained after segmentation, and the data range corresponding to the other linked list elements, the triangular facets currently contained in the other linked list elements are updated.
5. The method as described in claim 4, characterized in that, The process involves updating the triangulation faces initially contained in the two new linked list elements based on the segmented triangulation faces, the three new triangulation faces obtained after segmentation, and the data ranges corresponding to the two new linked list elements. This includes: For each new linked list element, the triangular facet to be divided is removed from the triangular facets initially contained therein. Based on the data range corresponding to the new linked list element, it is determined whether the three new triangular facets obtained after the division belong to the new linked list element. The new triangular facets belonging to the new linked list element are added to the corresponding positions of the divided triangular facets, and the horizontal connection relationship between the latest triangular facets contained in the new linked list element is established. The process of updating the triangulation faces currently contained in other linked list elements based on the segmented triangulation faces, the three new triangulation faces obtained after segmentation, and the data range corresponding to other linked list elements includes: For other linked list elements, the triangular facet to be divided is removed from the triangular facets currently contained in it. Based on the data range corresponding to the other linked list element, it is determined whether the three new triangular facets obtained after the division belong to the other linked list element. The new triangular facets belonging to the other linked list element are added to the corresponding positions of the divided triangular facets, and the horizontal connection relationship between the latest triangular facets contained in the other linked list element is established.
6. The method as described in claim 1, characterized in that, The method further includes: For newly inserted seismic horizon data points, if the seismic horizon data point is located on any edge of any triangulation plane, no processing is performed, and the next seismic horizon data point is inserted.
7. The method as described in claim 1, characterized in that, The method further includes: The seismic horizon data interpreted from the seismic data is processed, ignoring the time dimension in the seismic horizon data, to obtain the seismic horizon plane point set.
8. A visualization device for seismic horizons, characterized in that, include: The triangulation surface initialization unit is used to establish an initial triangulation surface of the seismic horizon based on the set of seismic horizon plane points. The set of seismic horizon plane points includes a large number of seismic horizon data points to be triangulated. The initial triangulation surface is the largest outer triangle covering all seismic horizon data points. The linked list initialization unit is used to establish initial index linked lists in the x-dimension and y-dimension respectively. Each initial index linked list in the dimension includes an initial linked list element. The data range corresponding to the initial linked list element is the data range of the initial triangulation face in that dimension. The initial linked list element contains the initial triangulation face. The linked list update control unit is used to insert each seismic horizon data point point by point. For each newly inserted seismic horizon data point, the horizontal update unit and the vertical update unit are triggered to perform the corresponding processing in sequence until all seismic horizon data points in the seismic horizon plane point set are inserted into the index linked list to obtain the final doubly linked index list. The horizontal update unit is used to determine the triangulation surface where the newly inserted seismic horizon data point is located. Using the seismic horizon data point, the triangulation surface is divided into three new triangulation surfaces. Based on the coordinates of the seismic horizon data point, a linked list element is added in both the x and y dimensions. The index linked list is then horizontally updated in both the x and y dimensions based on the divided triangulation surfaces and their vertical connections. Each linked list element in each dimension corresponds to a specific data range in that dimension, and horizontal connections are established between the triangulation surfaces contained within that linked list element. The data ranges corresponding to linked list elements within the same dimension have no overlap, and the sum of the data ranges corresponding to all linked list elements is the data range corresponding to the initial linked list element in that dimension. At least one point within the data range of a linked list element belongs to that linked list element. The vertical update unit is used to update the index linked list vertically in the x and y dimensions respectively, and to establish vertical connection relationships between triangulation faces with the same name in each linked list element in the same dimension. The display unit is used to generate and visualize the triangular mesh of seismic horizons based on the final bidirectional indexed linked list.
9. The apparatus as claimed in claim 8, characterized in that, The partitioning surface initialization unit includes: Determine the sub-unit to define the data range of all seismic horizon data points in the seismic horizon plane point set; A sub-unit is established to construct the largest outer triangle covering all seismic horizon data points based on the data range of all seismic horizon data points, serving as the initial triangulation surface; the coordinates of the three vertices of the initial triangulation surface are respectively represented as... The coordinates of each vertex are determined by the following formula: Where, x min x max Represent the minimum and maximum values of the data range for all seismic horizon data points along the x-axis, respectively; y min y max These represent the minimum and maximum values of the data range for all seismic horizon data points along the y-axis, respectively. `max(·)` is the maximum value operation, and `abs(·)` is the absolute value operation.
10. The apparatus as claimed in claim 8, characterized in that, The horizontal update unit includes: The element update subunit is used to determine, in the x-axis, the target linked list element containing the x-coordinate of the seismic horizon data point based on the data range corresponding to each linked list element; then, using the x-coordinate, the target linked list element containing the x-coordinate is divided into two new linked list elements, and the data range corresponding to each of the two new linked list elements is determined; and In the y-axis, based on the data range corresponding to each linked list element, the target linked list element where the ordinate of the seismic layer data point is located is determined. The target linked list element where the ordinate is located is divided into two new linked list elements using the ordinate, and the data range corresponding to each of the two new linked list elements is determined.
11. The apparatus as claimed in claim 10, characterized in that, The horizontal update unit further includes: The first linked list update subunit is used to, in the x-axis, take the triangulation faces contained in the target linked list element at the x-coordinate as the initial triangulation faces contained in the two new linked list elements, and update the initial triangulation faces contained in the two new linked list elements based on the segmented triangulation faces, the three new triangulation faces obtained after segmentation, and the data ranges corresponding to the two new linked list elements; and In the y-dimensional plane, the triangular facets contained in the target linked list element where the ordinate is located are taken as the initial triangular facets contained in the two new linked list elements. Based on the segmented triangular facets, the three new triangular facets obtained after segmentation, and the data ranges corresponding to the two new linked list elements, the initial triangular facets contained in the two new linked list elements are updated respectively. The second linked list update subunit is used to determine other linked list elements containing the segmented triangular facets in the x-axis based on the vertical connection relationship of the segmented triangular facets, and to update the triangular facets currently contained in the other linked list elements based on the segmented triangular facets, the three new triangular facets obtained after segmentation, and the data range corresponding to the other linked list elements; and Based on the vertical connection relationship of the segmented triangular facets, other linked list elements containing the segmented triangular facets in the y-dimensional are determined. Based on the segmented triangular facets, the three new triangular facets obtained after segmentation, and the data range corresponding to the other linked list elements, the triangular facets currently contained in the other linked list elements are updated.
12. The apparatus as claimed in claim 11, characterized in that, The first linked list update subunit is specifically used for each new linked list element to delete the triangular facets to be divided from the triangular facets initially contained therein, determine whether the three new triangular facets obtained after division belong to the new linked list element based on the data range corresponding to the new linked list element, add the new triangular facets belonging to the new linked list element to the corresponding positions of the divided triangular facets, and establish the lateral connection relationship between the latest triangular facets contained in the new linked list element. The second linked list update subunit is specifically used for other linked list elements. It deletes the triangular facet to be divided from the triangular facets currently contained in the other linked list element, determines whether the three new triangular facets obtained after division belong to the other linked list element based on the data range corresponding to the other linked list element, and adds the new triangular facets belonging to the other linked list element to the corresponding positions of the divided triangular facets, thus establishing the lateral connection relationship between the latest triangular facets contained in the other linked list element.
13. The apparatus as claimed in claim 8, characterized in that, The linked list update control unit is also used to, for newly inserted seismic horizon data points, if the seismic horizon data point is located on any edge of any triangulation plane, not trigger the execution of the horizontal update unit and the vertical update unit, and continue to insert the next seismic horizon data point.
14. The apparatus as claimed in claim 8, characterized in that, Also includes: The data processing unit is used to process the seismic horizon data interpreted from the seismic data, ignoring the time dimension in the seismic horizon data, to obtain the seismic horizon plane point set.
15. An electronic device, characterized in that, include: A memory and a processor electrically connected to the memory, the memory storing a computer program executable by the processor, the computer program, when executed by the processor, implementing the steps of the method as described in any one of claims 1 to 7.
16. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the method as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Curved surface reconstruction method for large scale earthquake data
CN106097447A
Method for establishing seismic structure diagram and processing terminal
CN110927792A