Area of Irregular Polygon
Alex Tweedly
alex at tweedly.org
Sat Nov 7 19:43:51 EST 2015
Actually, you should shorten the maths - makes it a bit more efficient
function getArea pPts
if line 1 of pPts <> line -1 of pPts then return 0
put 0 into tArea
put empty into oldL
repeat for each line L in pPts
if oldL is not empty then
-- put item 1 of L - item 1 of oldL into dx
-- put item 2 of oldL + (item 2 of L - item 2 of oldL)
/ 2 into avgY
-- put dx * avgY into thisArea
-- add thisArea to tArea
add (item 1 of L - item 1 of oldL) * ( item 2 of oldL + item 2
of L) / 2 to tArea
end if
put L into oldL
end repeat
return abs(tArea)
end getArea
-- Alex.
On 08/11/2015 00:09, Alex Tweedly wrote:
> Roger,
>
> try this (I've done some minimal testing, so do please check it ...)
> it assumes the polygon is closed
>
> function getArea pPts
> if line 1 of pPts <> line -1 of pPts then return 0
> put 0 into tArea
> put empty into oldL
> repeat for each line L in pPts
> if oldL is not empty then
> put item 1 of L - item 1 of oldL into dx
> put item 2 of oldL + (item 2 of L - item 2 of oldL) / 2 into
> avgY
> put dx * avgY into thisArea
> add thisArea to tArea
> end if
> put L into oldL
> end repeat
> return abs(tArea)
> end getArea
>
> NB you could shorten it, but I left each math step separate to make it
> easier to debug / check
>
> -- Alex.
>
> On 07/11/2015 22:29, Roger Guay wrote:
>> Thanks very much, Scott. I do have a long points list that I would
>> have to manipulate even before apply this technique. I’m not looking
>> forward to that, but I may have to go this route.
>>
>> Cheers,
>>
>> Roger
>>
>>
>>> On Nov 7, 2015, at 12:05 PM, Scott Rossi <scott at tactilemedia.com>
>>> wrote:
>>>
>>> It looks like this could translate to LC if you have the point
>>> locations
>>> of your polygon:
>>>
>>> https://www.mathsisfun.com/geometry/area-irregular-polygons.html
>>>
>>>
>>> Regards,
>>>
>>> Scott Rossi
>>> Creative Director
>>> Tactile Media, UX/UI Design
>>>
>>>
>>>
>>>
>>> On 11/7/15, 2:01 PM, "use-livecode on behalf of Roger Guay"
>>> <use-livecode-bounces at lists.runrev.com on behalf of irog at mac.com>
>>> wrote:
>>>
>>>> Can anyone think of an easy way of getting the area of an Irregular
>>>> polygon?
>>>>
>>>> Thanks,
>>>>
>>>> Roger
>>>> _______________________________________________
>>>> use-livecode mailing list
>>>> use-livecode at lists.runrev.com
>>>> Please visit this url to subscribe, unsubscribe and manage your
>>>> subscription preferences:
>>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>>
>>>
>>> _______________________________________________
>>> use-livecode mailing list
>>> use-livecode at lists.runrev.com
>>> Please visit this url to subscribe, unsubscribe and manage your
>>> subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
More information about the use-livecode
mailing list