That "winding number" did ring a bell, 2 years ago we had some discussion on 
this topic.
 http://www.jsoftware.com/pipermail/programming/2010-April/019363.html


R.E. Boss


> -----Oorspronkelijk bericht-----
> Van: programming-boun...@jsoftware.com 
> [mailto:programming-boun...@jsoftware.com] Namens Bo Jacoby
> Verzonden: vrijdag 11 mei 2012 23:37
> Aan: Programming forum
> Onderwerp: Re: [Jprogramming] Irregularly shaped buttons
> 
> en.wikipedia.org/wiki/Wikipedia:Reference_desk/Archives/Mathematics/2009_December_17#Easiest_way_to_decide_if_a_point_is
> _within_a_polygon.3F  says:
> 
> The J (programming language) allows this short implementation of the winding 
> number formula: W=.9&o.@(%&0j2p1)@(+/)@:^.@(%
> _1&|.) . To test if (0,0) is within the square ((1,0),(0,1),(-1,0),(0,-1)), 
> type W 1 0j1 _1 0j_1 and get the result 1, indicating
YES. To test if
> (4,0) is within the square, type W 1 0j1 _1 0j_1 - 4 and get the result 0, 
> indicating NO.
> 
> 
> >________________________________
> > Fra: Don Guinn <dongu...@gmail.com>
> >Til: Programming forum <programming@jsoftware.com>
> >Sendt: 22:54 fredag den 11. maj 2012
> >Emne: Re: [Jprogramming] Irregularly shaped buttons
> >
> >I made a form of parking spaces in a RV storage facility. Each space was a
> >button and irregularly shaped and at odd angles.
> >
> >As you suggested given a mouse click, I selected all potential shapes close
> >for performance. To determine which shape the click actually was I took all
> >adjacent corners of a shape and formed triangles with the click. Then
> >computed the areas of these triangles. If all areas are positive (or
> >negative, depending which way you order the corners) the click is within
> >the shape. This only works if the shapes are convex.
> >On May 11, 2012 10:42 AM, "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

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to