由坐标求多边形面积:鞋带公式计算器

根据顶点坐标,用鞋带公式计算简单多边形的面积、周长和形心,并逐项展示计算过程。

更新于 已验证的示例:7

Go around the outline in either direction. Brackets and semicolons are fine; a repeated first point at the end is ignored.
试一试
面积
m²
面积: 16.5 m²
最大小数位数:6;取最近值,等距时远离零
Signed area
16.5m²
周长
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 行数:5
Vertexxyxᵢ·yᵢ₊₁ − xᵢ₊₁·yᵢ
116−17
231−1
37220
444−12
58543
计算方法 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. 面积

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

    The sum is positive, so the vertices run counterclockwise.

  3. 周长

    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.

关于由坐标求多边形面积:鞋带公式计算器

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.

计算示例

Wikipedia's pentagon

Vertices in order (x, y per line)
1, 6 3, 1 7, 2 4, 4 8, 5
Coordinates are in
米 (m)
面积
16.5 m²
Number of vertices
5
Vertex order
Counterclockwise
周长
24.307995 m
Centroid x
3.88888889 m
Centroid y
3.66666667 m

核验来源: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)
面积
12 m²
周长
14 m
Centroid x
2 m
Centroid y
1.5 m
Vertex order
Counterclockwise

核验来源: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)
面积
6 m²
周长
12 m
Centroid x
1.33333333 m
Centroid y
1 m

核验来源:½ × 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)
面积
4 m²
Signed area
-4 m²
Vertex order
Clockwise

核验来源:Shoelace sum for clockwise order is −2 × area

常见问题

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.

“由坐标求多边形面积:鞋带公式计算器”有多准确?

准确性取决于输入值和方法的假设。十进制运算使用50位有效数字,但估算、数值方法和源数据的精度可能较低;显示时的舍入并不能消除这些限制。 已按独立来源核验的计算示例:7。 例如,“Wikipedia's pentagon”根据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进行核验。

这种方法出自哪里?

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”.

关于此计算器

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}

来源

  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”

已对照来源验证

此计算器包含 7 个已解示例,答案来自独立来源。这些示例会在测试套件中运行,你也可以在此运行验证。

相关计算器