Not built in, but here's something I wrote a while ago based on calculating the 
consecutive trapezoids along the axis - this is a common algorithm. Note the 
caveats in the method docs.

   - Ron


def poly_area( points ):
        """
        Returns the area of any polygon IF the edges don't cross and
        the points are given in order around the edge.
        
        points are [ (x,y), (x,y) ... ]
        """
        
        area = 0
        # start with the last point so we close it (won't hurt if it already is)
        pt1 = points[-1]
        for pt2 in points:
                # we save the /2.0 for the return
                area += ( pt2[0] - pt1[0] ) * ( pt2[1] + pt1[1] ) # /2.0
                pt1 = pt2

        # counterclockwise poly returns negative area
        if area<0:
                area *= -1

        return area/2.0


Mark S wrote:
Hi all,

I'm wondering if there is anything built in to pygame that will report the area of a polygon?

Reply via email to