Re: point in convex hull
- To: mathgroup at smc.vnet.net
- Subject: [mg55471] Re: point in convex hull
- From: Peter Pein <petsie at arcor.de>
- Date: Fri, 25 Mar 2005 05:48:13 -0500 (EST)
- References: <d1tvc0$rli$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
steve fisk wrote: > If pts is a set of points, and w is a point I can use ConvexHull[pts] to > find the convex hull of the points in pts. Is there a function to > determine if w lies in the convex hull? > If you integrate 1/(x-w) along the boundary of the convex hull you get 2Pi*I if w lies inside, 0 else. Off[NIntegrate::ploss, General::spell1]; inConvexHull[pt_, set_, tol_:10^(-3)] := Module[{path, x}, path = Prepend[ Complex @@@ set[[(Append[#1, First[#1]] & )[ConvexHull[set]]]], x]; Abs[NIntegrate[1/(x - Complex @@ pt), Evaluate[path]] - 2*Pi*I] < tol] data = Table[Random[], {10}, {2}]; inConvexHull[{1/2, 1/2}, data] ==> True inConvexHull[{1/2, -1/2}, data] ==> False -- Peter Pein Berlin