Math question: How to compute the area of polygons

Dar Scott dsc at swcp.com
Fri Mar 21 12:26:01 EST 2003


On Thursday, March 20, 2003, at 11:52 AM, Raymond E. Griffith wrote:

> Here is a little routine I have written that will accurately calculate 
> the
> area of irregular polygons so long as there are no crossed lines. You 
> can
> have irregular shapes as funky as you like and this will work -- 
> provided
> there are no lines which cross.
>
> The math behind this is fascinating.

I'm impressed.  This looks elegant.  (I haven't gotten into the math, 
yet.)

The work approaches two multiplies, one subtract and one add per edge.

However, if Tomas Nally's method was optimized, it would take only one 
multiply, one subtract and two adds per edge.  (See mail forwarded by 
Heather.)

That is the same number of operations, but if multiplication is much 
more expensive than addition, then an optimization of Nally's method 
might be faster.

An optimization of Nally's method might be like Ray's only with a line 
much like this one (off the top of my head):

     add ((item 1 of tLine) - (item 1 of tPreviousLine)) * ((item 2 of 
tLine) + (item 2 of tPreviousLine)) to tsum

And the tPreviousLine initialization is the last point instead of 0,0.

The area added to tsum each cycle is twice the area "under" the line 
segment or its negation.

(I don't know how either would work in weird cases.)

Dar Scott





More information about the use-livecode mailing list