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

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to