Hi David, Would it help if you could calculate the area of the polygons?
The following determines the area of any singly connected (the area of a figure 8 is zero) closed polygon: on mouseUp put the points of grc "polygon" into tPoints put line 1 of tPoints into tStart put the number of lines in tPoints into n put 0 into tArea repeat with i = 1 to n-1 put line i+1 of tPoints into tEnd put item 1 of tStart - item 1 of tEnd into tWidth put (item 2 of tStart + item 2 of tEnd)/2 into tHeight --The average height of this line. add tWidth * tHeight to tArea put tEnd into tStart end repeat put tArea into msg box end mouseUp Jim > > Message: 7 > Date: Thu, 6 Jun 2013 19:39:25 -0400 > From: David Epstein <dfepst...@comcast.net> > To: use-livecode@lists.runrev.com > Subject: Polygon's share of its rectangle inconsistent? > Message-ID: <5e916091-0fde-4c67-9d52-04601757a...@comcast.net> > Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed > > 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