0
$\begingroup$

Possible Duplicate:
How quickly we forget - basic trig. Calculate the area of a polygon

For a program I want to calculate the area of a given polygon. It may have every form, the sides even may cross. Do you can give me pointers to a way to calculate areas for such polygons?

  • 0
    How is the polygon given? If its boundary is not a simply closed curve you will have to specify what is meant by "area".2011-09-22
  • 0
    It is given as a closed linestring, but the lines can cross.2011-09-22
  • 0
    it would be worth looking at this question: http://math.stackexchange.com/questions/15739/does-divergence-theorem-polyhedron-volume-calculation-applicable-for-a-cut-throug/2011-09-22
  • 1
    See the Wikipedia entry on this topic: [Polygon area](http://en.wikipedia.org/wiki/Polygon#Area_and_centroid)2011-09-22

1 Answers 1

1

Let us assume that polygon P has vertices (x1,y1), ..., (xn,yn). Then we can represent the area of the polygon as a sum of trapezoids T(1,2)=(x1,y1)-(x1,0)-(x2,0)-(x2,y2), ..., T(n,1), where area can be counted with opposite sign if x2 < x1:

area(P) = area(T(1,2)) + area(T(2,3)) + ... + area(T(n,1))

and obviously

area(T(i,j)) = (xj-xi)*(yj+yi)/2

  • 0
    Does that really work if the sides are crossing? Like a polygon representing an eight?2011-09-22