Polygon's share of its rectangle inconsistent?

David Epstein dfepstein at comcast.net
Thu Jun 6 19:39:25 EDT 2013


In order to properly adjust the relative area of two dissimilar  
polygons, I thought I would use a function to determine the fraction  
of each polygon's rectangle that is covered by the polygon.

function coverage obLID
    set the filled of obLID to true
    put the rect of obLID into r
    repeat with x = (item 1 of r) to (item 3 of r)
       repeat with y = (item 2 of r) to (item 4 of r)
          put x,y into pt
          if within(obLID,pt) then add 1 to isIn
          add 1 to all
       end repeat
    end repeat
    return isIn/all
end coverage

This seems to work as expected, but I am perplexed by the fact that  
when I resize an object keeping its proportions constant (drag a  
corner with the shift key down; or script this) I get a surprising  
variation in the result.  E.g., a fairly simple shape I tried went  
from 0.48 coverage up to 0.59 coverage when I shrank its dimensions  
by about two-thirds.  With tens or hundreds of thousands of pixels  
being sampled in the calculation, I would not expect this variation.

Many thanks for any insights or suggestions.

David Epstein




More information about the use-livecode mailing list