River channel two-dimensional flow field drawing method based on triangular mesh

By using the method of changing the density of flow field traces with the grid in the two-dimensional flow field drawing of river channels, combining triangular grid reconstruction and angular bisector method to calculate the trace buffer, the problems of uniform distribution of flow field traces and the reflection of flow field details in key areas are solved, and efficient collection and detailed expression of flow field data are achieved.

CN120147464AActive Publication Date: 2025-06-13BUREAU OF HYDROLOGY CHANGJIANG WATER RESOURCES COMMISSION
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202510176266.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-18
Publication Date
2025-06-13
Estimated Expiration
2045-02-18

AI Technical Summary

Technical Problem

It is difficult for the prior art to simultaneously realize the uniform distribution of flow field traces and reflect the flow field details in the area of ​​focus in the two-dimensional flow field drawing of river channels.

Method used

Through the method of synchronous change in the density of flow field traces with the density of the grid, the trace buffer is calculated using triangle mesh reconstruction and angular bisector method to ensure that the traces do not intersect and dynamically adjust the distance between nodes.

Benefits of technology

The uniform distribution of flow field traces is achieved, and the flow field situation in the key areas is reflected, avoiding the problem of excessive data volume or repeated acquisition.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120147464A_ABST
    Figure CN120147464A_ABST
Patent Text Reader

Abstract

The invention discloses a riverway two-dimensional flow field drawing method based on triangular grids, which comprises the following steps of: firstly, reconstructing a triangulation network by taking a central point of each triangulation network as a vertex, and enabling each vertex to have flow field data; then calculating the length and width of a bounding rectangle in a grid range, setting the side length of a grid, and generating a grid point set; generating a trace by taking the grid point as a seed point, and dynamically adjusting the trend and the step length of the trace by calculating a flow field vector, an azimuth angle and a prediction point position; calculating a trace buffer area by using an angular bisector method to avoid intersection of traces; and repeating the steps until trace generation of all points is completed. According to the method, the density of the traces can be changed along with the density of the grids, the flow field condition of a focused region is reflected while the traces are uniformly distributed, the traces are not intersected, the node spacing is dynamically adjusted, the details of the flow field are expressed by using the least data, the data volume and the calculation precision are effectively optimized, and an efficient tool is provided for the research of the flow field of the river channel.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of geographic information systems, and particularly to a method for drawing a two-dimensional flow field of a river channel based on triangular meshes. Background Art

[0002] A flow field refers to a phenomenon in which physical quantities such as the velocity and direction of a fluid change within a region. The calculation of a flow field is usually carried out within a meshed region. Triangular meshes are a most commonly used type of unstructured mesh. Calculating the water flow field within a certain river channel range using triangular meshes is a method for studying the impact of water bodies on river channels or water-related buildings, and the drawing of a two-dimensional flow field is an important tool for intuitively understanding and analyzing the flow field. There are two methods for drawing a flow field, namely streamlines and pathlines. Streamlines are curves formed by different fluid mass points at the same moment, and pathlines are curves formed by the same fluid mass point at different moments. The present invention draws the two-dimensional flow field of a river channel based on pathlines. Since the river channel flow field is generally used to study or focus on the flow field near a certain object range within the river channel, in order to optimize the data volume and calculation accuracy, triangular meshes with dynamically adjusted density are usually used. The meshes gradually become denser when approaching the key research area, and gradually become sparser when far from the key research area. The center point of each mesh is the position point representing the flow velocity and direction data of that mesh. Summary of the Invention

[0003] The present invention aims to provide a method for drawing a two-dimensional flow field of a river channel based on triangular meshes, such that the density of the flow field pathlines changes synchronously with the density of the meshes, and while the pathlines are evenly distributed, the flow field conditions in the key focus areas can also be reflected.

[0004] To achieve the above object, the present invention provides the following technical solution: A method for drawing a two-dimensional flow field of a river channel based on triangular meshes, comprising the following specific steps:

[0005] Step 1: Using the center points of each triangular mesh as vertices, reconstruct the triangular mesh so that each vertex of the triangle has flow field data;

[0006] Step 2: Calculate the length and width of the circumscribed rectangle of all mesh ranges. Let the length be a and the width be b. Set the mesh side length as d. Starting from the lower left corner of the circumscribed rectangle, with d as the mesh side length size, generate a mesh Grid whose range does not exceed the circumscribed rectangle, and define the point set on the mesh Grid as P n ;

[0007] Step 3: Using the points P n in the point set P as seed points, generate pathlines;

[0008] Step 4: Use the angle bisector method to calculate the buffer zone of the pathlines, that is, an outer circumscribed area of the pathlines;

[0009] Step 5: Repeat the above steps until all points in the point set P n have completed the trace generation as seed points.

[0010] Specifically, define the point set on the grid Grid as P n Specifically: is the floor function symbol. Define the buffer set buffers to record the range covered by each trace. For any point P(X n , Y P , Y P ) in P as the seed point, generate a trace starting from P.

[0011] Specifically, generating a trace starting from P is specifically as follows:

[0012] Step 3.1: When the seed point P is inside a certain triangle, assume this triangle is triangle Tin1 and is not in any trace buffer area, add P to the trace trajectory points. Calculate the flow field vector A and flow field azimuth angle β at P through the flow field data of the three vertices of triangle Tin1 and the position of P; otherwise, return to Step 2 to find the next seed point P.

[0013] Step 3.2: Predict the next position point Q of the trace. Calculate the average side length L of the three sides of triangle Tin1. Starting from the position of P, with β as the azimuth angle and L as the length, calculate the other endpoint Q(X Q , Y Q ) of the line segment, where X Q = X P + L * Math.cosβ, Y Q = Y P + L * Math.sinβ;

[0014] Step 3.3: Determine whether point Q is inside a certain triangle. If Q is not inside any triangle, or the line segment PQ intersects any buffer in the already generated trace buffer set buffers, stop searching for the trace starting from P and return to Step 2; if Q is inside a certain triangle, assume this triangle is triangle Tin2, then calculate the flow field vector B at Q according to the flow field data of each vertex of Tin2.

[0015] Step 3.4: Calculate the next actual position point R of the trace. Calculate the vector A + B = C starting from P to obtain the azimuth angle γ of vector C. Starting from P, with L as the length and γ as the azimuth angle, calculate the other endpoint R(X R , Y R ) of the line segment, where X R = X P + L * Math.cosβ, Y R = YP +L * Math.sinβ;

[0016] Step 3.5: Replace the coordinates of point P with those of point R, i.e., X P = X R , Y P = Y R , and repeat Steps 3.1 to 3.4 until the stop condition is met.

[0017] Specifically, the specific method for calculating the trace buffer is as follows: Except for the head and tail nodes, each point on the trace can be regarded as the vertex of an angle composed of two trace segments. Make the angle bisector with the node as the vertex and extend it in the opposite direction. The lengths of both the angle bisector and the extended line in the opposite direction are the average side length of the triangle where the node is located. The total length of the angle bisector is the width of the trace buffer at this point. For each node on the trace, the two endpoints of the angle bisector can be obtained, and connecting these points in sequence can calculate the buffer with a dynamic width for this trace and record it in the buffer set buffers.

[0018] Principle and beneficial effects of the present technical solution:

[0019] (1) The density of the flow field traces changes synchronously with the density of the grid. While the traces are evenly distributed, the flow field conditions in the key areas of concern can be reflected.

[0020] (2) Ensures that the traces do not intersect.

[0021] (3) The distance between each node on the trace is dynamically adjusted. Under different grid densities, flow field data can be collected as evenly as possible in each grid passed by the trace, without missing a large number of grids or repeatedly collecting in the same grid, and expressing the flow field details at each point on the trace with as little data as possible. Description of the Drawings

[0022] Figure 1 Schematic diagram of the trace and buffer of a certain seed point P;

[0023] Figure 2 Schematic diagram of the calculation process of the predicted position Q of the successor point of a certain point on the trace;

[0024] Figure 3 Schematic diagram of the calculation process of the actual position R of the successor point of a certain point on the trace;

[0025] Figure 4 Schematic diagram of the calculation process of the trace buffer. Specific Embodiments

[0026] The present invention will be further described in detail below with reference to the drawings and embodiments:

[0027] As Figure 1As shown in the figure, the present invention provides a method for drawing a two-dimensional flow field of a river channel based on a triangular grid. In an embodiment, flow field data calculated based on a triangular network of a certain river section is selected, with a range of 15836m * 12931m, and the average side length of all triangles is about 119m. The method includes the following steps:

[0028] The specific steps are as follows:

[0029] Step 1: Using the center point of each triangular network as a vertex, reconstruct the triangular network so that there is flow field data at each vertex of each triangle.

[0030] Step 2: Calculate the length of the outer rectangle of all grid ranges as 15836m and the width as 12931m. Let the grid side length be the average side length of all triangles, which is 119m. Starting from the lower left corner of the outer rectangle, generate a grid Grid with a range not exceeding the outer rectangle. Define the point set on the grid Grid as P n , then Grid has a total of columns, rows, and a total of 14606 nodes ( is the floor function symbol). Define a buffer set buffers to record the range covered by each trace. Taking any point P(X n ,Y P ) in P P as a seed point, generate a trace starting from P according to the following steps:

[0031] Step 3: If the current seed point coordinates P(X P ,Y P ) = (608806,3354179), then generating a trace from this seed point is divided into 4 steps.

[0032] Step 3.1: P is inside the triangle Tin1 with three vertex coordinates (608844,3354303), (608761,3354137), (608920,3354158), and not in any trace buffer area. Then add this point to the trajectory points of the trace. The flow field vectors of the three vertices are (0.67,0.205), (0.61,0.2), (0.6,0.209). Through the positions of the three vertices of the triangle Tin1 and P, calculate the flow field vector A(0.62,0.21) at P, and the flow field azimuth angle β = 0.315. If the P point is not inside any triangle or is in a certain buffer area (such as Figure 1 , P n-1 is in the buffer area), then return to Step 2 to find the next seed point P.

[0033] Step 3.2: Calculate the average side length L = 135.67 of the three sides of triangle Tin1, and calculate the coordinates of the other endpoint Q of the line segment with the P position as the starting point, β as the azimuth angle, and L as the length. X Q = X P + L * Mathcosβ, Y Q = Y P + L * Mathsinβ, that is, Q(X Q , Y Q ) = (608935, 3354221). Take Q as the prediction point for the next calculation of the trace line.

[0034] Step 3.3: Determine whether point Q is inside a certain triangle. If Q is not inside any triangle, stop searching for the trace line starting from P and return to Step 2; the coordinates of the three vertices of the triangle where Q is located are (608844, 3354303), (608920, 3354158), (608990, 3354351). According to the flow field vectors (0.67, 0.205), (0.6, 0.209), (0.67, 0.235) of the three vertices of Tin2, calculate the flow field vector B(0.62, 0.216) at Q (as Figure 2 ).

[0035] Step 3.4: Calculate the vector A + B = C starting from P, and obtain the vector sum C(1.25, 0.419) of the seed point P and the prediction point Q. Calculate the azimuth angle γ of the vector C with P as the starting point and L as the length, and the coordinates of the other endpoint R(X R , Y R ) = (608935, 3354222), and the azimuth angle γ is 0.324. Point R may become a new trace point on the trace line (as Figure 3 ). Replace the coordinates of the seed point P with the coordinates of R, that is, X P = 608935, Y P = 3354222, and repeat Steps 3.1 to 3.4.

[0036] Step 4: Calculate the buffer of the currently completed trace line generation, and calculate the buffer of the trace line using the angle bisector method. For example, at point R, the lengths of the forward and reverse angle bisectors are both half of L, that is, 67.88 m, then the coordinates of the two endpoints are H1(608918, 3354287), H2(608947, 3354154) (as Figure 4 ). Connect the endpoints of the angle bisectors at all nodes in sequence to form the buffer buffer of this trace line, and record buffer in the buffer set buffers.

[0037] Repeat Steps 3 and 4 until the point set P nTrajectory generation has been completed for all points in

[0038] The above are only embodiments of the present invention, and specific technical solutions or common knowledge such as characteristics well known in the art are not described in detail herein. For those skilled in the art, without departing from the technical solution of the present invention, several modifications and improvements can be made, which should also be regarded as the protection scope of the present invention, and these will not affect the implementation effect of the present invention and the practicability of the patent. The protection scope required by this application shall be subject to the content of its claims, and the specific implementation manners described in the specification can be used to interpret the content of the claims.

Claims

1. A method for rendering a two-dimensional flow field of a river channel based on a triangular grid, characterized in that: The specific steps include: Step 1: Reconstruct the triangulated network with the center point of each triangulated network as the vertex so that each triangle vertex has flow field data; Step 2: Calculate the length and width of the outer rectangle of all grid ranges, set the length to a, the width to b, set the grid side length to d, take the lower left corner of the outer rectangle as the starting point, d is the grid side length, generate a grid whose range does not exceed the outer rectangle, and define the point set on the grid as P n ; Step 3: Take the point set P n Point P in is the seed point, generating the trace; Step 4: Use the angle bisector method to calculate the buffer zone of the trace, which is an outer area of ​​the trace; Step 5: Repeat the above steps until the point set P n All points in have been used as seed points to complete the trajectory generation.

2. The method for rendering a two-dimensional flow field of a river channel based on a triangular grid according to claim 1, characterized in that: Define the point set on the grid Grid as P n Specifically: To round down the symbol, define a buffer set buffers to record the range covered by each trace, with P n Any point P(X P ,Y P ) is the seed point and a trace with P as the starting point is generated.

3. The method for rendering a two-dimensional flow field of a river channel based on a triangular grid according to claim 1, characterized in that: Generate a trace starting from P as follows: Step 3.1: When the seed point P is in a certain triangle, let this triangle be triangle Tin1, and is not in any trace buffer, add P to the trace point of the trace, and calculate the flow field vector A and flow field azimuth β at P through the flow field data of the three vertices of triangle Tin1 and the position of P; otherwise, return to step 2 to find the next seed point P; Step 3.2: Predict the next position point Q of the trace, calculate the average length L of the three sides of triangle Tin1, take position P as the starting point, β as the azimuth, L as the length, and calculate the other endpoint Q (X Q ,Y Q ), where X Q =X P +L*Mathcosβ、Y Q =Y P +L*Mathsinβ; Step 3.3: Determine whether point Q is in a certain triangle. If Q is not in any triangle, or line segment PQ intersects with any buffer in the generated trace buffer set buffers, stop looking for the trace starting from P and return to step 2. If Q is in a certain triangle, let this triangle be triangle Tin2, then calculate the flow field vector B at Q based on the flow field data of each vertex of Tin2. Step 3.4: Calculate the next actual position point R of the trace, calculate the vector A+B=C with P as the starting point, and obtain the azimuth angle γ of the vector C. Calculate the other endpoint R (X R ,Y R ), where X R =X P +L*Math cosβ、Y R =Y P +L*Mathsinβ; Step 3.5: Replace the coordinates of point P with the coordinates of point R, i.e. X P =X R , Y P =Y R , repeat steps 3.1 to 3.4 until the stopping condition is met.

4. The method for rendering a two-dimensional flow field of a river channel based on a triangular grid according to claim 1, characterized in that: The specific method for calculating the trace buffer is as follows: except for the first and last nodes, each point on the trace can be regarded as the vertex of the angle formed by two trace segments, and an angle bisector is drawn with the node as the vertex and extended in the reverse direction. The lengths of the angle bisector and the reverse extension line are both the average side lengths of the triangle where the node is located, and the total length of the angle bisector is the width of the trace buffer at the point; the two endpoints of the angle bisector of each node on the trace are obtained, and these points are connected in sequence to form a buffer with dynamic width for the trace, and the buffer is recorded in the buffer set buffers.

Citation Information

Patent Citations

  • Dual control grid-based streamline placement method for two-dimensional flow fields

    CN102930563A

  • Dynamic drawing method with boundary plane flow field

    CN104318591A

  • Fine line grid flow field visualization method based on electromagnetic field

    CN116719981A