[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [pygame] Polygon Area Calculation?
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?