Thanks, Bo, that gets me on a bit!
On Sat, May 12, 2012 at 8:36 PM, Bo Jacoby <bojac...@yahoo.dk> wrote: > The winding number program is written and tested, and does not assume the > polygon to be convex. > > rd=.(**|)&.+. NB. round complex number > W=.rd@(%&0j2p1)@(+/)@:^.@(% _1&|.)NB. winding number > p=.0j1^i.4 NB. test polygon > rd p NB. display test polygon vertices > 1 0j1 _1 0j_1 > load'plot' > > plot (,{.)p NB. show polygon > W p-2 NB. 2 is outside polygon > 0 > W p-0 NB. 0 is inside polygon > 1 > > > > > >>________________________________ >> Fra: Ian Clark <earthspo...@gmail.com> >>Til: Programming forum <programming@jsoftware.com> >>Sendt: 17:38 lørdag den 12. maj 2012 >>Emne: Re: [Jprogramming] Irregularly shaped buttons >> >>Thanks, everyone. Plenty of ideas here. >> >>Lazy me: I was angling for some written & tested code. But at least I >>know I won't be wasting my time reinventing the wheel. >> >>The "polygon" can't be assumed convex. In fact, since I'd like to >>accommodate the most general shape, I'm going with either a binary >>pixel mask (the crudest, easiest solution) or detecting the underlying >>pixel color upon mouseclick. >> >> >>On Fri, May 11, 2012 at 5:41 PM, Ian Clark <earthspo...@gmail.com> wrote: >>> To save me reinventing the wheel, has anybody written routines to act >>> on mouseclicks inside irregularly-shaped "buttons"? >>> >>> Techniques I'm considering: >>> >>> ++ Detecting if a point is inside an arbitrary polygon >>> >>> ++ Unions and differences of rectangles, triangles and sectors >>> >>> ++ Color of the pixel under the cursor >>> >>> If it works on a simple map of the USA, it'll probably work for my purpose. >>---------------------------------------------------------------------- >>For information about J forums see http://www.jsoftware.com/forums.htm >> >> >> > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm