[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Intersecting geometric shapes

Thanks to Rick and Mark for your thoughtful responses.
Joe Means

Mark Hadfield wrote:

> From: "Rick Towler" <rtowler@u.washington.edu>
> Newsgroups: comp.lang.idl-pvwave
> Sent: Friday, June 29, 2001 6:00 PM
> Subject: Re: Intersecting geometric shapes
>> I'm sure there is a more elegant way of doing this but since
>> your post has sat here all day without a response...
> I was reticent for exactly the same reason, but since you've poked your head
> above the parapet...
>> Fire up your favorite drawing program and create a new
>> image, say 200x200. Draw your circle white on black.  Now
>> create another 200x200 image this time drawing your rectangle.
>> Save as an indexed color image (.gif (pre IDL 5.4)
>> or .png should work)
>> load these images into IDL, add the arrays, and do a where on
>> the new array for values that are double your white color palette
>> index value.  The number of elements in the result of your where will
>> give you the pixel area of your intersection.  Then all you have to do
>> is convert pixel area back to your measure of area.
> I'd like to point out that you can do essentially the same thing without
> actually drawing anything using the POLYFILLV function.
> Of course drawing the shapes out with POLYFILL to check what you're doing
> isn't a bad idea either...
> ---
> Mark Hadfield
> m.hadfield@niwa.cri.nz  http://katipo.niwa.cri.nz/~hadfield
> National Institute for Water and Atmospheric Research

Joseph E. Means
Assistant Professor,  joe.means@orst.edu
Department of Forest Science
Oregon State University
Corvallis, OR 97331-5752