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?

  • 1
    See the Wikipedia entry on this topic: [Polygon area](http://en.wikipedia.org/wiki/Polygon#$A$rea_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