Diện tích đa giác từ tọa độ: công thức dây giày

Tính diện tích, chu vi và trọng tâm diện tích của đa giác đơn từ tọa độ đỉnh bằng công thức dây giày, với từng số hạng được trình bày.

Cập nhật Ví dụ đã kiểm tra: 7

Go around the outline in either direction. Brackets and semicolons are fine; a repeated first point at the end is ignored.
Thử
Diện tích
m²
Diện tích: 16.5 m²
Số chữ số thập phân tối đa: 6; Gần nhất; nếu cách đều thì ra xa số không
Signed area
16.5m²
Chu vi
24.307995m
Centroid x
3.88888889m
Centroid y
3.66666667m
Number of vertices
5
Vertex order
Counterclockwise

The 5 points trace a counterclockwise outline enclosing 16.5 m², with a perimeter of 24.307995 m and its centroid (balance point) at (3.8889, 3.6667).

The 5-sided outline

5.385 m4.123 m3.606 m4.123 m7.071 mP1P2P3P4P5centroid
Shoelace terms Số hàng: 5
Vertexxyxᵢ·yᵢ₊₁ − xᵢ₊₁·yᵢ
116−17
231−1
37220
444−12
58543
Cách tính S
  1. Shoelace sum

    ∑i=15(xiyi+1−xi+1yi)=−17−1+20−12+43=33\sum_{i=1}^{5} (x_i y_{i+1} - x_{i+1} y_i) = -17 - 1 + 20 - 12 + 43 = 33

    Index n + 1 wraps round to vertex 1.

  2. Diện tích

    A=∣33∣2=16.5 m2A = \frac{|33|}{2} = 16.5\,\text{m}^2

    The sum is positive, so the vertices run counterclockwise.

  3. Chu vi

    P=∑(xi+1−xi)2+(yi+1−yi)2=24.307995 mP = \sum \sqrt{(x_{i+1} - x_i)^2 + (y_{i+1} - y_i)^2} = 24.307995\,\text{m}
  4. Centroid

    Cx=∑(xi+xi+1)(xiyi+1−xi+1yi)6A±=3.888889,Cy=3.666667C_x = \frac{\sum (x_i + x_{i+1})(x_i y_{i+1} - x_{i+1} y_i)}{6A_\pm} = 3.888889,\quad C_y = 3.666667

    A± is the signed area; using it keeps the centroid right for either vertex order.

Giới thiệu Diện tích đa giác từ tọa độ: công thức dây giày

List a polygon's corners in order around the outline and the shoelace formula gives its area: A = ½|Σ(xᵢyᵢ₊₁ − xᵢ₊₁yᵢ)|, with the sum wrapping from the last vertex back to the first. The sign of the sum shows the direction of travel, positive for counterclockwise. The same terms give the centroid, and the edge lengths add up to the perimeter.

The default five points, (1, 6), (3, 1), (7, 2), (4, 4) and (8, 5), are the worked example in Wikipedia's article on the formula: the terms sum to 33, so the area is 16.5 m². Surveyors use the method, also called the surveyor's area formula, to find a plot's area from the corner coordinates on a site plan.

The outline must not cross itself; crossing edges trigger a warning, because the overlapping parts then cancel or count twice. Coordinates must be planar, so convert latitude and longitude to a projected grid such as UTM first.

Ví dụ có lời giải

Wikipedia's pentagon

Vertices in order (x, y per line)
1, 6 3, 1 7, 2 4, 4 8, 5
Coordinates are in
Mét (m)
Diện tích
16.5 m²
Number of vertices
5
Vertex order
Counterclockwise
Chu vi
24.307995 m
Centroid x
3.88888889 m
Centroid y
3.66666667 m

Nguồn đối chiếu: Area 16.5 from the Wikipedia “Shoelace formula” worked example; Python 3.8 fractions: signed sum +33 (counterclockwise), centroid (35/9, 11/3); math.sqrt edge sum for the perimeter

Rectangle 4 × 3

Vertices in order (x, y per line)
0, 0 4, 0 4, 3 0, 3
Coordinates are in
Mét (m)
Diện tích
12 m²
Chu vi
14 m
Centroid x
2 m
Centroid y
1.5 m
Vertex order
Counterclockwise

Nguồn đối chiếu: 4 × 3 rectangle; centroid at the centre

Right triangle, centroid at the mean of the vertices

Vertices in order (x, y per line)
(0, 0) (4, 0) (0, 3)
Coordinates are in
Mét (m)
Diện tích
6 m²
Chu vi
12 m
Centroid x
1.33333333 m
Centroid y
1 m

Nguồn đối chiếu: ½ × 4 × 3; 3-4-5 perimeter; a triangle's centroid is the vertex mean (4/3, 1)

Clockwise square (edge case: negative signed area)

Vertices in order (x, y per line)
0 0; 0 2; 2 2; 2 0
Coordinates are in
Mét (m)
Diện tích
4 m²
Signed area
-4 m²
Vertex order
Clockwise

Nguồn đối chiếu: Shoelace sum for clockwise order is −2 × area

Câu hỏi

How does the shoelace formula work?

Multiply each x by the next vertex's y, subtract the next x times this y, add the results all the way round and halve the absolute value. For (0, 0), (4, 0), (4, 3), (0, 3) the terms are 0, 12, 12 and 0, so the area is 24/2 = 12. The name comes from the criss-cross pattern the products make when the coordinates are written in two columns.

Does the order of the points matter?

Yes. The points must follow the boundary, clockwise or counterclockwise, without jumping across. Direction only flips the sign: counterclockwise gives a positive sum, clockwise a negative one, and the area is the absolute value. The corners of a 2 × 2 square taken as (0, 0), (2, 2), (2, 0), (0, 2) trace a crossed bow-tie whose shoelace area is 0 instead of 4.

How do you find the area of an irregular plot of land from its corners?

Record each corner as coordinates on a flat grid, such as eastings and northings in metres from a site plan, list them in order round the boundary and apply the shoelace formula. An L-shaped plot with corners (0, 0), (6, 0), (6, 2), (2, 2), (2, 5) and (0, 5) in feet covers 18 ft². Latitude and longitude must be projected first, because a degree of longitude shrinks towards the poles.

How do you find the centroid of a polygon?

Weight each shoelace term by the sum of the two x coordinates involved: Cx = Σ(xᵢ + xᵢ₊₁)(xᵢyᵢ₊₁ − xᵢ₊₁yᵢ)/(6A), with A the signed area, and likewise for Cy. For a triangle this equals the average of the three vertices; for the L-shaped plot above it is (7/3, 11/6) ≈ (2.333, 1.833). The centroid of a non-convex shape can lie outside it.

“Diện tích đa giác từ tọa độ: công thức dây giày” chính xác đến mức nào?

Độ chính xác phụ thuộc vào dữ liệu nhập và giả định của phương pháp. Phép tính thập phân dùng 50 chữ số có nghĩa, nhưng ước lượng, phương pháp số và dữ liệu nguồn có thể kém chính xác hơn; làm tròn khi hiển thị không loại bỏ các giới hạn đó. Ví dụ có lời giải đã đối chiếu với nguồn độc lập: 7. Ví dụ, “Wikipedia's pentagon” được kiểm tra bằng Area 16.5 from the Wikipedia “Shoelace formula” worked example; Python 3.8 fractions: signed sum +33 (counterclockwise), centroid (35/9, 11/3); math.sqrt edge sum for the perimeter.

Phương pháp này lấy từ đâu?

Wikipedia, “Shoelace formula” — worked example with vertices (1, 6), (3, 1), (7, 2), (4, 4), (8, 5); Bourke, P. (1988) “Calculating the area and centroid of a polygon”.

Về công cụ tính này

A=12∑i=1n(xiyi+1−xi+1yi)Cx=16A∑(xi+xi+1)(xiyi+1−xi+1yi)\begin{gathered} A = \frac{1}{2}\sum_{i=1}^{n}(x_i y_{i+1} - x_{i+1} y_i) \\[6pt] C_x = \frac{1}{6A}\sum (x_i + x_{i+1})(x_i y_{i+1} - x_{i+1} y_i) \end{gathered}

Nguồn

  1. Wikipedia, “Shoelace formula” — worked example with vertices (1, 6), (3, 1), (7, 2), (4, 4), (8, 5)
  2. Bourke, P. (1988) “Calculating the area and centroid of a polygon”

Đã đối chiếu nguồn tham khảo

Công cụ tính này có 7 ví dụ đã giải với đáp án từ các nguồn độc lập. Chúng được chạy trong bộ kiểm thử và bạn cũng có thể chạy tại đây.

Công cụ liên quan