2
$\begingroup$

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.

  • 0
    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](http://en.wikipedia.org/wiki/Shoelace_formula).2012-01-29
  • 0
    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.2012-01-29
  • 0
    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.2012-01-29
  • 1
    Possible duplicate of [How to calculate the area of a polygon?](http://math.stackexchange.com/q/66638/856), [Calculate the area of a polygon](http://math.stackexchange.com/q/48993/856), and [Calculate area of a figure based on vertices](http://math.stackexchange.com/q/102891/856).2012-01-29

2 Answers 2

3

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.

  • 0
    The Shoelace formula is what I was looking for. Thanks.2012-01-30
-1

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