> Ben Rubinstein | Email: [EMAIL PROTECTED]
 Cognitive Applications Ltd   |  Phone: +44 (0)1273-821600
 http://www.cogapp.com        |  Fax  : +44 (0)1273-728866


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.

Area returned is in pixels. If you wish to use units as square cm, square
inches, etc. it can be appropriately adjusted.

function IrPolyArea i
  put the points of graphic i into k
  put 0,0 into n
  repeat for each line i in k
    add item 1 of i*item 2 of n-item 2 of i *item 1 of n to tsum
    put i into n
  end repeat
  return abs(tsum/2)
end IrPolyArea

Raymond E. Griffith



Ray,

This is really slick. I had to change the notation as follows before I could decipher your clever algorithm:

on function IrPolyArea i
put the points of graphic i into tPoints
put 0,0 into tPreviousLine
repeat for each line tLine in tPoints
add item 1 of tLine *item 2 of tPreviousLine - item 2 of tLine *item 1 of tPreviousLine to tsum
put tLine into tPreviousLine
end repeat
return abs(tsum/2)
end IrPolyArea


Jim
_______________________________________________
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to