Contour line generation method based on subdivision surface, storage medium and drawing device

By generating closed polygons through triangulation and greedy search algorithms, the inaccuracy and incompleteness of existing contour line generation algorithms are solved, and efficient and accurate contour line drawing is achieved.

CN122492852APending Publication Date: 2026-07-31NINGBO SHANGHANG SURVEYING & MAPPING
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
NINGBO SHANGHANG SURVEYING & MAPPING
Filing Date
2026-05-12
Publication Date
2026-07-31

AI Technical Summary

Technical Problem

Existing contour line generation algorithms suffer from problems such as insufficient data points leading to polylines, unsmooth curve fitting, curve intersections, and non-closures, resulting in inaccurate representation of seabed topography.

Method used

A contour line generation method based on subdivided surfaces is adopted. By triangulating the data point set, processed and unprocessed arrays are established. A greedy search algorithm is used to generate closed polygons, which are gradually extended to the surface boundary to ensure the closure and integrity of the contour lines.

Benefits of technology

It improves the accuracy and efficiency of contour line drawing, ensuring that the generated contour lines are closed and complete, and is suitable for the rapid and accurate drawing of large amounts of seabed topography.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122492852A_ABST
    Figure CN122492852A_ABST
Patent Text Reader

Abstract

This invention discloses a method, storage medium, and drawing device for generating contour lines based on subdivision surfaces. The contour line generation method includes the following specific steps: data acquisition: acquiring sampled data points, all of which constitute a data point set S; triangulation: performing triangulation on the data point set S to obtain a surface mesh; contour line generation: obtaining contour lines with elevation values ​​equal to H. Its advantages are: the subdivision surface technology based on triangulation first triangulates the data point set to obtain a surface mesh, and then, based on the closed polygon surrounding a certain point, greedily searches outward until the surface boundary, which can improve the accuracy of contour line drawing; since the base polygon is a closed shape, it always remains closed during outward expansion, ensuring that the finally generated contour lines are closed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of contour map drawing technology, specifically to a method for generating contour lines based on subdivided surfaces, a storage medium, and a drawing device. Background Technology

[0002] Beach contour lines are curves formed by connecting points of equal depth on the seabed, measured from a theoretical depth datum. On two-dimensional nautical charts, bathymetric contour lines, in conjunction with water depth, visually and intuitively reflect the three-dimensional seabed topography. Therefore, bathymetric contour lines are a key element in representing marine topography and hold significant importance in cartography. With the continuous development and advancement of seabed surveying equipment and technology, the amount of seabed topographic data collected is increasing dramatically. How to quickly and accurately generate bathymetric contour lines for large volumes of seabed topography has become one of the urgent problems to be solved.

[0003] Traditional methods for isobath mapping mainly include: the plumb bob or rod method (which involves discontinuous depth measurements at different observation points; when compiling isobath maps, it assumes a uniform seabed slope and uses interpolation to determine unmeasured locations) and echo sounding technology, which continuously measures topographic cross-sections and can directly determine the positions of each isobath with high accuracy. The plumb bob or rod method has the disadvantage of only being able to determine water depth and requiring additional methods such as GPRS positioning for isobath mapping. Echo sounding has the disadvantage of being affected by many factors, such as sound velocity, timer speed, zero point, baseline, seabed slope, and water temperature; it requires specialized operators and GPRS positioning. Furthermore, it is too costly and unsuitable for small-scale, low-cost surveying projects.

[0004] With the continuous development and advancement of seabed surveying equipment and technology, algorithm-based contour line generation methods have the advantages of high efficiency and low cost. However, existing contour line generation algorithms still have many shortcomings, such as... Figure 3 As shown, it has the following main problems: (1) Due to the small number of data points, there are multiple lines or the curve fitting is not smooth; (2) When performing curve fitting on the data points, the curves intersect; (3) The curves do not close, resulting in inaccurate terrain representation, which urgently needs to be improved. Summary of the Invention

[0005] One of the technical problems this application aims to solve is to overcome the shortcomings of the above-mentioned related technologies and provide a method for generating contour lines based on subdivision surfaces.

[0006] The technical solution adopted by this invention to solve the technical problem is: a method for generating contour lines based on subdivision surfaces, comprising the following steps: S1. Data Acquisition: Acquire sampled data points, and all sampled data points constitute the data point set S; S2, Triangulation: Triangulate the data point set S to obtain the surface Mesh; S3. Isobryo generation: Obtain isobryo lines with an elevation value equal to H; Step S3, the generation of contour lines, includes the following steps: S31. Create two arrays: a processed array and an unprocessed array; S32. Obtain the set T of all points with elevation values ​​≥ H, sort them in descending order of elevation value, and store them in an unprocessed array; S33, for each point T in the point set T i Perform the following operations: S331. Create a new contour line L with an elevation value equal to H; S332, Obtain T from the surface Mesh i Each line segment T i P j , will T i The other vertex P of each line segment j Connect them sequentially in a counter-clockwise order to obtain a polygon P; S333, Determine the vertex P of polygon P. j If the elevation value of vertex P is less than or equal to H, then... j If the elevation value is less than or equal to H, then line segment T i P j There must be a little bit of Q on top. k On the contour line L, interpolation calculation is used to obtain Q. k The coordinates of the point, and Q k Replace the point coordinates with the corresponding point coordinates on the contour line L, point Q. k No longer expanding outwards; the processed vertex P j Store in the processed array; S334, if vertex P j If the elevation value is greater than H, then point P is obtained. j For each line segment containing the surface mesh, and sorting them counter-clockwise, obtain the other vertex W of the line segment. m Remove the vertices in the processed array and insert the other adjacent vertices into polygon P to make polygon P expand outward. S335, repeat steps S333 and S334, polygon P searches and expands outward until it encounters the boundary of the surface mesh. When all vertices are marked as points on the contour lines or the mesh boundary is reached, polygon P is recorded as contour line L. Then another contour line is generated starting from step S331 until the unprocessed array is empty.

[0007] Preferably, step S3, contour line generation, also includes: S34. Obtain the set T' of all points with elevation values ​​< H, sort them in ascending order of elevation values, and store them in an unprocessed array; S35. For each point T in the point set T' i ', perform the following operations: S351, Create a new contour line L' with an elevation value equal to H; S352, Obtain T from the surface Mesh i 'The line segment T in which it is located i 'P j ', will T i The other vertex P of each line segment it belongs to j 'And connect them sequentially in counterclockwise order to obtain a polygon P'; S353, Determine the vertex P of polygon P'. j Is the elevation value of vertex P ≥ H? j If the elevation value of line segment T is greater than or equal to H, then line segment T i 'P j There must be a little bit of Q above. k On the contour line L, interpolation is used to obtain Q. k 'The coordinates of the point, and Q' k Replace the point coordinates with the corresponding point coordinates on the contour line L, point Q. k 'No longer expanding outwards; the processed vertex P' j Store in the processed array; S354, if vertex P j If the elevation value is less than H, then point P is obtained. j 'For each line segment containing the surface Mesh, and sort them counterclockwise, obtain the other vertex W of the line segment.' m ', Remove vertices from the processed array, and insert other adjacent vertices into polygon P' to expand the polygon outward; S355, repeat steps S353 and S354, the polygon P' searches and expands outward until it encounters the boundary of the surface Mesh. When all vertices are marked as points on the contour line L' or the Mesh boundary is reached, the polygon P' is recorded as the contour line L'. Then another contour line is generated starting from step S351 until the unprocessed array is empty.

[0008] Compared with related technologies, the advantages of this invention are as follows: Based on the triangulation-based subdivision surface technique, the data point set is first triangulated to obtain a surface. Then, using the closed polygon surrounding a certain point as a base, a greedy search is performed outwards until the surface boundary, which improves the accuracy of contour line drawing. Since the base polygon is a closed shape, it remains closed during outward expansion, ensuring that the final generated contour lines are closed. Furthermore, this generation algorithm divides the data points into processed and unprocessed arrays. Data points stored in the processed array are not repeatedly processed, which greatly improves computational efficiency.

[0009] Furthermore, during the exploration process, steps S32 to S33 are an exploration process from large to small, which can satisfy the drawing of most contour lines. Since the contour line generation algorithm of this invention is based on a closed polygon and greedily searches outward, contour lines with the same depth value may be missed. Therefore, steps S34 to S35 are added to perform a reverse greedy exploration from small to large, which can further improve the completeness of contour line drawing.

[0010] As a preferred method, multibeam echo sounding is used to obtain the sampling data points. Preferably, step S2 further includes interpolating the surface subdivision of the surface Mesh.

[0011] Preferably, in step S2, the surface subdivision of the Mesh is performed using the Butterfly subdivision algorithm or the Loop subdivision algorithm.

[0012] Preferably, in step S333, point Q k When replacing vertex coordinates, linear interpolation is used.

[0013] Preferably, in step S353, point Q k When replacing vertex coordinates, linear interpolation is used. A storage medium having a computer-executable program stored thereon, which, when executed, implements the above-described contour line generation method.

[0014] A plotting apparatus includes a display and a processor, the processor being communicatively connected to a multibeam echo sounder, the processor processing sampled data fed back from the multibeam echo sounder based on a computer-executable program of a contour line generation method stored in a storage medium to generate contour lines on the display. Attached Figure Description

[0015] Figure 1 This is a schematic diagram illustrating the principle of contour line generation in this invention.

[0016] Figure 2 It is a contour map generated using the method of this invention.

[0017] Figure 3 It is a contour map generated using existing technology algorithms. Detailed Implementation

[0018] First, those skilled in the art should understand that these embodiments are merely used to explain the technical principles of the embodiments of this application and are not intended to limit the scope of protection of the embodiments of this application. Those skilled in the art can make adjustments as needed to adapt to specific application scenarios.

[0019] This invention relates to an algorithm for generating contour lines based on subdivided surfaces, comprising the following steps: S1. Data Acquisition: Acquire sampling data points, and all sampling data points constitute the data point set S. Here, the multibeam echo sounding method is used to obtain a large number of data points, and each data point includes the three-dimensional coordinate values ​​of X, Y, and Z.

[0020] S2. Triangulation: Triangulate the data point set S to obtain a surface mesh. Performing interpolation surface subdivision on the surface mesh makes it smoother, thus resulting in smoother contour lines generated subsequently. Interpolation surface subdivision can use the Butterfly subdivision algorithm or the Loop subdivision algorithm.

[0021] S3. Isobath Generation: Obtaining isobaths with an elevation value equal to H involves the following steps: S31. Create two arrays: a processed array and an unprocessed array; S32. Obtain the set T of all points with elevation values ​​≥ H, sort them in descending order of elevation value, and store them in an unprocessed array; S33, for each point T in the point set T i Perform the following operations: S331. Create a new contour line L with an elevation value equal to H.

[0022] S332, Obtain T from the surface Mesh i Each line segment T i P j , will T i The other vertex P of each line segment j Connect them sequentially in a counter-clockwise order to obtain a polygon P.

[0023] S333, Determine the vertex P of polygon P. j If the elevation value of vertex P is less than or equal to H, then... j If the elevation value is less than or equal to H, then line segment T i P j There must be a little bit of Q on top. k On the contour line L, its coordinates can be obtained by interpolation, and Q can be... kReplace the point coordinates with the corresponding point coordinates on the contour line L, point Q. k No longer expanding outwards; the processed vertex P j Store in the processed array; point Q above k When replacing vertex coordinates, linear interpolation is preferred because it involves less computation.

[0024] S334, if vertex P j If the elevation value is greater than H, then point P is obtained. j For each line segment containing the surface mesh, and sorting them counter-clockwise, obtain the other vertex W of the line segment. m Remove vertices from the processed array and insert the other adjacent vertices into polygon P to expand the polygon outward.

[0025] S335, repeat steps S333 and S334, polygon P searches and expands outward until it encounters the boundary of the surface mesh. When all vertices are marked as points on the contour lines or the mesh boundary is reached, polygon P is recorded as contour line L. Then another contour line is generated starting from step S331 until the unprocessed array is empty.

[0026] S34. Obtain the set T' of all points with elevation values ​​< H, sort them in ascending order of elevation value, and store them in an unprocessed array; S35. For each point T in the point set T' i ', perform the following operations: S351. Create a new contour line L' with an elevation value equal to H.

[0027] S352, Obtain T from the surface Mesh i 'The line segment T in which it is located i 'P j ', will T i The other vertex P of each line segment it belongs to j Connect them sequentially in a counter-clockwise order to obtain a polygon P.

[0028] S353, Determine the vertex P of polygon P'. j Is the elevation value of vertex P ≥ H? j If the elevation value of line segment T is greater than or equal to H, then line segment T i 'P j There must be a little bit of Q above. k On the contour line L, its coordinates can be obtained by interpolation, and the coordinates of point Qk' can be replaced with the coordinates of the corresponding point on the contour line L'. k 'No longer expand outwards; the processed vertex Pj' is stored in the processed array.

[0029] S354, if vertex P jIf the elevation value is less than H, then point P is obtained. j 'For each line segment containing the surface Mesh, and sort them counterclockwise, obtain the other vertex W of the line segment.' m ', remove the vertices in the processed array, and insert the other adjacent vertices into the polygon P' to expand the polygon outward.

[0030] S355, repeat steps S353 and S354, the polygon P' searches and expands outward until it encounters the boundary of the surface mesh. When all vertices are marked as points on the contour lines or the mesh boundary is reached, the polygon P' is recorded as contour line L'. Then another contour line is generated starting from step S351 until the unprocessed array is empty.

[0031] Where i, j, k, and m are natural numbers.

[0032] The contour line generation algorithm of this invention is based on triangulation and surface subdivision technology. It first triangulates the data point set, then greedily searches outwards from the closed polygon surrounding a point until the surface boundary is reached, improving the accuracy of contour line drawing. Because the base polygon is a closed shape, it remains closed during outward expansion, ensuring that the final generated contour lines are closed. Contour lines generated using this invention's algorithm are shown below. Figure 2 As shown.

[0033] In the above-mentioned greedy exploration process, steps S32 to S33 are an exploration process from large to small. This process can satisfy the drawing of most contour maps. However, in some special terrains, there may be two or more contour lines with the same depth value. Since the contour line generation algorithm of this invention is based on a closed polygon and greedily searches outward, contour lines with the same depth value may be missed. Therefore, steps S34 to S35 are added to perform a reverse greedy exploration from small to large, which can further improve the completeness of contour line drawing.

[0034] The following specific examples will further illustrate this point.

[0035] Example: This embodiment of the contour line generation algorithm based on subdivision surfaces specifically includes the following steps: S1. Data Acquisition: Acquire sampling data points, which together form a data point set S. A multibeam bathymetry method is used to obtain a large number of data points, each including X, Y, and Z three-dimensional coordinates. Since isobaths are generated, subsequent calculations only require operations on the Z-axis coordinates.

[0036] S2, Triangulation: Triangulate the data point set S to obtain the surface Mesh; and use the Butterfly subdivision algorithm to subdivide the surface Mesh.

[0037] S3. Isobath Generation: Obtain isobaths with an elevation value equal to H, where H = 15m (i.e., the Z-axis coordinate value is 15). This includes the following steps: S31. Create two arrays: a processed array and an unprocessed array; S32. Obtain the set T of all points with elevation values ​​≥ H, sort them in descending order of elevation value, and store them in an unprocessed array, T: {T1, T2, T3, T4, T5…}, for example, T… 1Z =20 indicates that the Z-coordinate of T1 is 20. The subscript Z below has the same meaning.

[0038] S33, for each point T in the point set T i Perform the following operations: S331. Create a new contour line L with an elevation value equal to H (H=15m).

[0039] S332, such as Figure 1 As shown, obtain each line segment T1P containing T1 in the surface mesh. j That is, T1P1, T1P2, T1P3, T1P4, T1P5, T1P6, where the other vertex P of each line segment containing T1 is... j Connect the vertices in a counter-clockwise order to form a polygon P, namely, the polygon formed by connecting P1, P2, P3, P4, P5, and P6 in sequence. Then obtain the value of each vertex P. j The coordinates of P are considered here, only for each vertex P. j The Z-axis coordinates are obtained as follows: P 1Z =10、P 2Z =12、P 3Z =11、P 4Z =15、P 5Z =18、P 6Z =12.

[0040] S333, Determine the vertex P of polygon P. j Whether the elevation value is ≤ H, that is, to determine P jZ Is it ≤15? If vertex P j If the elevation value is less than or equal to H, then line segment T1P j There must be a little bit of Q on top. k On the contour line L, its coordinates can be obtained by interpolation, and Q can be... k Replace the point coordinates with the corresponding point coordinates on the contour line L, point Q. k No longer expanding outwards; the processed vertex P jStore in the processed array; point Q above k When replacing vertex coordinates, linear interpolation is preferred because it involves less computation. For example, P 1Z =10, then there must exist a Q1 on line segment T1P1 that satisfies Q 1Z =15, the coordinates of Q1 satisfy: (T 1Z -Q 1Z ) / (T 1Z -P 1Z )=(T 1X -Q 1X ) / (T 1X -P 1X )=(T 1Y -Q 1Y ) / (T 1Y -P 1Y ), Coordinates of point T1 (T 1X T 1Y T 1Z ), coordinates of point P1 (P 1X P 1Y P 1Z Given that the coordinates of Q1 (Q) can be calculated using linear interpolation,... 1X Q 1Y Q 1Z Q1 is a point on the target contour line L, and Q1 no longer expands outward. Because P 2Z P 3Z P 6Z The values ​​of P1, P2, P3, and P6 are all less than 15. Therefore, the processing for P1 can be repeated for P2, P3, and P6. And P... 4Z =15, which means that P4 is a point on the target contour line L, and P4 no longer expands outward.

[0041] S334, if vertex P j If the elevation value is greater than H, then point P is obtained. j For each line segment containing the surface mesh, and sorting them counter-clockwise, obtain the other vertex W of the line segment. m This process removes vertices from the already processed array and inserts the remaining adjacent vertices into polygon P, causing the polygon to expand outwards. For example, P 5Z =18, indicating that none of the points on line segment T1P5 are on the target contour line L. Therefore, a search needs to be performed outwards from P5. The polygon P is expanded to P1, P2, P3, P4, W1, W2, W3, and P6, which are then connected sequentially; W is obtained. 1Z =10、W 2Z =12、W 3Z =18.

[0042] S335. Since P1, P2, P3, P4, and P6 in polygon P have already been stored in the processed array, there is no need to repeat the calculation here. We only need to check whether the elevation values ​​of W1, W2, and W3 are ≤ H. Repeat steps S333 and S334. As above, there must be points on line segments P5W1 and P5W2 that satisfy the elevation value = 15. W1 and W2 stop expanding outward. W3 needs to continue to expand outward. Exclude vertices P6 and W2 in the processed array, insert other adjacent points centered on W3 into polygon P, and continue to search outward with W3 as the center.

[0043] Repeat the above process, with polygon P searching and expanding outwards until it encounters the boundary of the mesh surface. When all vertices are marked as points on contour lines or the mesh boundary is reached, polygon P is denoted as contour line L. Then, starting from step S331, another contour line is generated, and the same process is applied to other data points within the point set T until the unprocessed array is empty.

[0044] This generates the contour line L with an elevation value of 15. You can then generate the target contour line with the required elevation value by following the steps described above.

[0045] S34. Obtain the set T' of all points with elevation values ​​< H, sort them in ascending order of elevation value, and store them in an unprocessed array; S35. For each point T in the point set T' i ', perform the following operations: S351. Create a new contour line L' with an elevation value equal to H.

[0046] S352, Obtain T from the surface Mesh i 'The line segment T in which it is located i 'P j ', will T i Connect the other vertex Pj of each line segment in a counter-clockwise order to obtain a polygon P'.

[0047] S353, Determine the vertex P of polygon P'. j Is the elevation value of vertex P ≥ H? j If the elevation value of line segment T is greater than or equal to H, then line segment T i 'P j There must be a little bit of Q above. k On the contour line L, its coordinates can be obtained by interpolation, and Q can be... k Replace the point coordinates with the corresponding point coordinates on the contour line L, point Q. k 'No longer expanding outwards; the processed vertex P' j Store in the processed array.

[0048] S354, if vertex P jIf the elevation value is less than H, then point P is obtained. j 'For each line segment containing the surface Mesh, and sort them counterclockwise, obtain the other vertex W of the line segment.' m ', remove the vertices in the processed array, and insert the other adjacent vertices into the polygon P' to expand the polygon outward.

[0049] S355, repeat steps S353 and S354, the polygon P' searches and expands outward until it encounters the boundary of the surface mesh. When all vertices are marked as points on the contour lines or the mesh boundary is reached, the polygon P' is recorded as contour line L'. Then another contour line is generated starting from step S351 until the unprocessed array is empty.

[0050] A storage medium having a computer-executable program stored thereon, which, when executed, implements the above-described contour line generation method.

[0051] A plotting device includes a display and a processor, the processor being communicatively connected to a multibeam echo sounder. The processor processes sampled data fed back from the multibeam echo sounder based on a computer-executable program of a contour line generation method stored in a storage medium, to generate a plot on the display such as... Figure 2 The contour map shown.

[0052] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for generating contour lines based on subdivision surfaces, characterized in that, Includes the following steps: S1. Data Acquisition: Acquire sampled data points, and all sampled data points constitute the data point set S; S2, Triangulation: Triangulate the data point set S to obtain the surface Mesh; S3. Isobryo generation: Obtain isobryo lines with an elevation value equal to H; Step S3, the generation of contour lines, includes the following steps: S31. Create two arrays: a processed array and an unprocessed array; S32. Obtain the set T of all points with elevation values ​​≥ H, sort them in descending order of elevation value, and store them in an unprocessed array; S33, for each point T in the point set T i Perform the following operations: S331. Create a new contour line L with an elevation value equal to H; S332, Obtain T from the surface Mesh i Each line segment T i P j , will T i The other vertex P of each line segment j Connect the dots sequentially in a counter-clockwise order to form a polygon P; S333, Determine the vertex P of polygon P. j If the elevation value of vertex P is less than or equal to H, then... j If the elevation value is less than or equal to H, then line segment T i P j There must be a little bit of Q on top. k On the contour line L, interpolation calculation is used to obtain Q. k The coordinates of the point, and Q k Replace the point coordinates with the corresponding point coordinates on the contour line L, point Q. k No longer expanding outwards; the processed vertex P j Store in the processed array; S334, if vertex P j If the elevation value is greater than H, then point P is obtained. j For each line segment containing the surface mesh, and sorting them counter-clockwise, obtain the other vertex W of the line segment. m Remove the vertices in the processed array and insert the other adjacent vertices into polygon P to make polygon P expand outward. S335, repeat steps S333 and S334, polygon P searches and expands outward until it encounters the boundary of the surface mesh. When all vertices are marked as points on the contour lines or the mesh boundary is reached, polygon P is recorded as contour line L. Then another contour line is generated starting from step S331 until the unprocessed array is empty.

2. The method for generating contour lines based on subdivision surfaces according to claim 1, characterized in that, Step S3, contour line generation, also includes: S34. Obtain the set T' of all points with elevation values ​​< H, sort them in ascending order of elevation values, and store them in an unprocessed array; S35. For each point T in the point set T' i ', perform the following operations: S351, Create a new contour line L' with an elevation value equal to H; S352, Obtain T from the surface Mesh i 'The line segment T in which it is located i 'P j ', will T i The other vertex P of each line segment it belongs to j 'And connect them sequentially in counterclockwise order to obtain a polygon P'; S353, Determine the vertex P of polygon P'. j Is the elevation value of vertex P ≥ H? j If the elevation value of line segment T is greater than or equal to H, then line segment T i 'P j There must be a little bit of Q above. k On the contour line L, interpolation is used to obtain Q. k 'The coordinates of the point, and Q' k Replace the point coordinates with the corresponding point coordinates on the contour line L, point Q. k 'No longer expanding outwards; the processed vertex P' j Store in the processed array; S354, if vertex P j If the elevation value is less than H, then point P is obtained. j 'For each line segment containing the surface Mesh, and sort them counterclockwise, obtain the other vertex W of the line segment.' m ', Remove vertices from the processed array, and insert other adjacent vertices into polygon P' to expand the polygon outward; S355, repeat steps S353 and S354, the polygon P' searches and expands outward until it encounters the boundary of the surface Mesh. When all vertices are marked as points on the contour line L' or the Mesh boundary is reached, the polygon P' is recorded as the contour line L'. Then another contour line is generated starting from step S351 until the unprocessed array is empty.

3. A method for generating contour lines based on subdivision surfaces according to claim 1 or 2, characterized in that: The sampling data points were obtained using multibeam echo sounding.

4. A method for generating contour lines based on subdivision surfaces according to claim 1 or 2, characterized in that: Step S2 also includes interpolating the surface subdivision of the Mesh.

5. The method for generating contour lines based on subdivision surfaces according to claim 4, characterized in that: In step S2, the surface mesh is subdivided using either the Butterfly subdivision algorithm or the Loop subdivision algorithm.

6. The method for generating contour lines based on subdivision surfaces according to claim 1, characterized in that: In step S333, point Q. k When replacing vertex coordinates, linear interpolation is used.

7. The method for generating contour lines based on subdivision surfaces according to claim 2, characterized in that: In step S353, point Q. k When replacing vertex coordinates, linear interpolation is used.

8. A storage medium having a computer-executable program stored thereon, characterized in that: When the program is executed, it implements the contour line generation method as described in any one of claims 1 to 7.

9. A plotting device, comprising a display and a processor, the processor being communicatively connected to a multibeam echo sounder, characterized in that: The processor processes the sampled data fed back by the multibeam echo sounder based on a computer-executable program of the contour line generation method in the storage medium as described in claim 8, in order to generate contour lines on the display.