Steiner point/tree, Tyson polygon

Steiner Point

Steiner point is also
called equilateral center, Fermat point, and Steiner point . The three sides of the triangle form an equilateral triangle to the outside. The circumscribed circle of these three equilateral triangles intersects at a point T, and this point T is called It is Torricelli's point, and the circumcircle of three equilateral triangles is called Torricelli's point. Under certain conditions, the Torricelli point is the same as the equiangular center and Fermat point. Torricelli point was discovered by the Italian physicist Torricelli. This problem was proposed by Fermat (1601-1665) to the Italian physicist Torricelli (1608-1647) as a famous extremum problem of "finding a point to minimize the distance from three vertices of a triangle." , And it is solved by Torrishali. When the inner angles of the triangle are all less than 120°, the point K is required. Therefore, K is called Torrishali point, also called Fermat point. Later, the German Steiner ((1796-1863) independently proposed and promoted it, so it is also called the Steiner problem.
Insert picture description here

Steiner Tree

The Steiner tree problem is a combinatorial optimization problem, similar to the minimum spanning tree, it is a kind of the shortest network. The minimum spanning tree is to find the shortest network to connect all the points in a given set of points and edges. The minimum Steiner tree allows additional points to be added beyond a given point, which minimizes the generated shortest network overhead.
The definition of the Steiner tree problem has been continuously expanded and promoted with the development of history:

  • The Swiss mathematician J.Steiner (1796—1863) generalized the problem to: Find a point on the plane so that the sum of the distances from this point to a number of points on the plane (referred to as the point and the point) is the smallest. This can be seen as the prototype of the Steiner tree problem.
  • Taking into account other relevant factors of the point, the weight is added. Formed a generalized definition, the two German mathematicians H. Weber (1842-1913) and E. Wieszfeld (E. Wieszfeld) raised the problem as a factory location problem in 1909 and 1937 respectively: a certain place There are a number of given warehouses, and other related factors of each warehouse can be converted into a weighted expression. Find a suitable place to build a factory so that the sum of the distance from the factory to each warehouse and the weight product is the smallest, then the address of this factory It is the most economical and convenient.
  • In the first definition proposed by R. Courant and H. Robbins, Steiner's promotion of this problem is a mediocre promotion. To get a meaningful promotion, what needs to be considered is not to introduce one point, but to introduce several points, so that the network connecting the introduced points and the originally given points is the smallest. They called this new problem the Steiner tree problem. The definition given is:
    assuming that n points have been given originally, Courant et al. pointed out that the number of points that need to be introduced is at most n-2. Such points are called Steiner points. After each Steiner point, at most three sides pass. If there are three sides, they form an angle of 120°; if there are two sides, the Steiner point must be a given point, and the angle formed by the two sides must be greater than or equal to 120 °. Among them, the smallest network is called the smallest Steiner tree of the set of given points, denoted as SMT. If there is a point equal to a given point in the Steiner point of this SMT, the SMT is called degenerate, and this given point is called a degenerate point.

Steiner’s minimal tree

Steiner’s minimal tree problem is this: Find the shortest possible network interconnecting a set of points in the Euclidean plane. If the points are linked directly to each other by straight line segments, we obtain the minimal spanning tree. But Steiner’s problem allows for additional points – now called Steiner points – to be added to the network, yielding Steiner’s minimal tree. This generally results in a reduction of the overall length of the network.

Euclidean Steiner tree

The original problem was stated in the form that has become known as the Euclidean Steiner tree problem or geometric Steiner tree problem: Given N points in the plane, the goal is to connect them by lines of minimum total length in such a way that any two points may be interconnected by line segments either directly or via other points and line segments. It may be shown that the connecting line segments do not intersect each other except at the endpoints and form a tree, hence the name of the problem.

Rectilinear Steiner tree

The rectilinear Steiner tree problem is a variant of the geometric Steiner tree problem in the plane, in which the Euclidean distance is replaced with the rectilinear distance. The problem arises in the physical design of electronic design automation. In VLSI circuits, wire routing is carried out by wires that are often constrained by design rules to run only in vertical and horizontal directions, so the rectilinear Steiner tree problem can be used to model the routing of nets with more than two terminals.

Steiner ratio

The Steiner ratio is the supremum of the ratio of the total length of the minimum spanning tree to the minimum Steiner tree for a set of points in the Euclidean plane.

Tyson Polygon

The Dutch climatologist A. H. Thiessen proposed a method to calculate the average rainfall based on the rainfall of discretely distributed weather stations, that is, all adjacent weather stations are connected into a triangle, and the vertical bisectors of each side of these triangles are made. Therefore, several vertical bisectors around each weather station form a polygon. Use the rainfall intensity of a unique weather station contained in this polygon to represent the rainfall intensity in this polygonal area, and call this polygon the Thiessen polygon.
As shown in Figure 1, the polygon formed by the dashed line is the Tyson polygon. Each vertex of the Tyson polygon is the center of the circumcircle of each triangle. Tyson polygon is also called Voronoi diagram, or dirichlet diagram.
Insert picture description here
The characteristics of Tyson polygons are:
1. Each Tyson polygon contains only one discrete point data.
2. The distance from the point in the Tyson polygon to the corresponding discrete point is the closest.
3. The distance from the point on the edge of the Thiessen polygon to the discrete points on both sides is equal.
Tyson polygons can be used for qualitative analysis, statistical analysis, proximity analysis, etc. For example, the properties of discrete points can be used to describe the properties of the Thiessen polygon area; the data of the discrete points can be used to calculate the data of the Thiessen polygon area; when judging which discrete points are adjacent to a discrete point, you can directly It is concluded that if the Thiessen polygon is n-sided, it is adjacent to n discrete points; when a data point falls into a certain Thiessen polygon, it is closest to the corresponding discrete point without calculating the distance .
In the construction of Thiessen polygons, the discrete points must first be formed into a triangular network. This triangulation is called Delaunay triangulation.

Construction of the Delaulay triangle

The construction of Delaunay triangulation is also known as the construction of irregular triangulation, which is to construct a triangulation from discrete data points, as shown in Figure 2, that is, to determine which three data points form a triangle, also known as automatically connected triangulation. That is, for n discrete points on the plane, the plane coordinates are (xi, yi), i=1, 2, ..., n, and three similar points form the best triangle, so that each discrete point becomes the vertex of the triangle .
Insert picture description here
The result of automatically connecting the triangulation net is the labels of the three vertices of all triangles, such as: 1, 2, 8; 2, 8, 3; 3, 8, 7; ...
In order to obtain the best triangle, when constructing the triangulation, The three internal angles of the triangle should be made as acute as possible, which conforms to the criteria for Delaunay triangle generation:
1. The circumscribed circle of any Delaunay triangle cannot contain any other discrete points.
2. Two adjacent Delaunay triangles form a convex quadrilateral. After swapping the diagonals of the convex quadrilateral, the smallest of the six internal angles no longer increases. This property is the minimum angle maximum criterion.
Insert picture description here
The following introduces the general algorithm of constructing Delaunay triangles in n-dimensional Euler space proposed by Tsai (1993)-convex hull interpolation algorithm.
(1) Convex hull generation
1. Find the four points that meet min(xy), min(x+y), max(xy), max(x+y) in a set of points, and form a point in a counterclockwise direction Linked list. These 4 points are the closest points among the discrete points to the 4 corner points of the circumscribed rectangle containing the discrete points. The polygon formed by these 4 points is used as the initial convex hull.
2. For each point I on the convex hull, set its subsequent point as J, calculate the distance from all points on the right side of the vector line segment IJ to IJ, and find the point K with the largest distance.
3. Insert K between I and J, and assign K to J.
4. Repeat steps 2 and 3 until there is no point on the right side of the line segment IJ in the point set.
5. Assign J to I, take the subsequent point of J, and repeat steps 2, 3, and 4.
6. When there are no discrete points on the right side of the line connecting any two adjacent points in the convex hull, the process of obtaining the convex hull of the point set ends.
After completing this step, a polygon (convex hull) containing all discrete points is formed, as shown in Figure 3.
(2) Convex hull triangulation of the circumscribed boundary method
searches for a triangle composed of two adjacent convex hull edges in the convex hull linked list every time, and does not include any convex hull in the interior and boundary of the triangle Other points. After removing this point, a new convex hull linked list is obtained. Repeat this process until there are only three discrete points in the convex hull list. The last three discrete points in the convex hull linked list form a triangle, and the process of convex hull triangulation is ended.
Insert picture description here
After completing this step, the points in the convex hull form several Delaunay triangles, as shown in Figure 4.
(3) Discrete point interpolation
After triangulating the convex hull, the remaining discrete points that are not on the convex hull can be divided by point-by-point interpolation. The basic process is:
1. Select a discrete point
that has not yet formed a triangle. 2. In the generated triangles, find the triangle of the discrete point (the discrete point is inside the triangle or on the side of the triangle)
3. If it is discrete If the point is inside the triangle, delete the triangle and the sides of the triangle, and then connect the three vertices and discrete points to form three new triangles. If the discrete point is on the side of a triangle, record the side E where the point is located, find the left and right adjacent triangles T1, T2 of the side according to the topological relationship, add four new sides and four new triangles NT, delete T1, T2 and sides E.
For the newly generated triangle, it is necessary to check the empty circumcircle on its sides one by one. The specific method is: for the side E of the newly generated triangle, find two adjacent triangles on the side, and judge whether the vertices of the diagonal corners on one side of the side are located inside the circumcircle of another triangle. If it is, delete the side E and connect the two diagonal corners to form two new triangles. For the sides of the new triangle, the empty circumscribed circle detection is also required, and this continues until all the newly generated triangles pass the empty circumcircle detection.
4. Repeat 1, 2, 3 until all discrete points of the non-convex hull are inserted. After this step is completed, the Delaunay triangulation is completed, as shown in Figure 5.
Insert picture description here
Fourth, the establishment of the steps
of the Thiessen polygon The key to the establishment of the Thiessen polygon algorithm is to reasonably connect the discrete data points into a triangulation, that is, to construct a Delaunay triangulation. The steps to establish a Thiessen polygon are:
1. Discrete points automatically construct a triangulation, that is, a Delaunay triangulation. Number the discrete points and the formed triangles, and record which three discrete points each triangle is composed of.
2. Find the numbers of all triangles adjacent to each discrete point and record them. This only needs to find all triangles with the same vertex in the constructed triangulation network.
Insert picture description here
Figure 6 The establishment of Thiessen polygon
3. Sort the triangles adjacent to each discrete point in a clockwise or counterclockwise direction, so that the next step is to connect to generate a Thiessen polygon. The sorting method can be shown in Figure 6. Let the discrete point be o. Find a triangle with o as the vertex and set it as A; take the other vertex of triangle A except o and set it as a, then the other vertex can also be found, which is f; then the next triangle must be of If it is a side, it is triangle F; if the other vertex of triangle F is e, then the next triangle has oe as the side; repeat this process until back to the oa side.
4. Calculate the center of the circumcircle of each triangle and record it.
5. According to the adjacent triangles of each discrete point, connect the center of the circumcircle of these adjacent triangles to obtain the Thiessen polygon. For the Thiessen polygon at the edge of the triangulation net, a vertical bisector can be used to intersect the outline of the graph and form the Thiessen polygon together with the outline.
Insert picture description here

https://blog.csdn.net/gdut2015go/article/details/48208983
https://desktop.arcgis.com/zh-cn/arcmap/10.3/tools/coverage-toolbox/how-thiessen-works.htm

Guess you like

Origin blog.csdn.net/Anne033/article/details/107790332