Given the coordinates of all points making up a two-dimensional shape and the order in which they are connected, is there any generic formula that will give the area of that shape?

EDIT: The list of points would be a list of all of the vertices.

  • $\begingroup$ There are generally infinitely many points in any shape with nonzero area. However, if you restrict yourself to polygons and your points are the corners of the polygon (given in order), then you can use the shoelace formula. $\endgroup$ Commented Jan 29, 2012 at 23:34
  • $\begingroup$ Given the (algorithm) tag, I have to wonder: are you talking about polygons in particular? Vector calculus gives an area formula given only a parametrization of the boundary, for example. $\endgroup$
    – anon
    Commented Jan 29, 2012 at 23:34
  • $\begingroup$ I doubt there is any useful closed-form expression for this. If you partition it into convex parts, and then partition those into triangles, you can then add up the areas of the triangles, and the last part can be made into a closed-form expression. $\endgroup$ Commented Jan 29, 2012 at 23:35
  • 1
    $\begingroup$ Possible duplicate of How to calculate the area of a polygon?, Calculate the area of a polygon, and Calculate area of a figure based on vertices. $\endgroup$
    – user856
    Commented Jan 29, 2012 at 23:47

2 Answers 2


If you mean arbitrary sets of points in the plane, the answer is probably "no" unless you regard the defintion of Lebesgue measure as such a formula. However, you write about "the order in which they are connected" and that makes me suspect you may have in mind a sequence of points on the boundary with line segments between them as components of the boundary. In that case, maybe the shoelace formula will help you.

And if you mean polygons whose corners are integer points, there is Pick's theorem.

  • $\begingroup$ The Shoelace formula is what I was looking for. Thanks. $\endgroup$ Commented Jan 30, 2012 at 1:51

I believe so, using shoelace theorem. If you line up the co-ordinates starting anywhere but always going counter-clockwise and ending with the first co-ordinate you can multiply the previous x value and after y value and then subtract vice versa and divide by 2. Just search it up....


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .