Re: testing if a point is inside a polygon

• To: mathgroup at smc.vnet.net
• Subject: [mg96263] Re: testing if a point is inside a polygon
• From: "Sjoerd C. de Vries" <sjoerd.c.devries at gmail.com>
• Date: Tue, 10 Feb 2009 05:53:41 -0500 (EST)
• References: <gmp0mt\$btn\$1@smc.vnet.net>

```Here is a function based on the code in Robert Sedgewick's Algorithms
book:

PointInPoly[{x_, y_}, poly_List] :=
Module[{i, j, c = False, npol = Length[poly]},
For[i = 1; j = npol, i <= npol, j = i++,
If[((((poly[[i, 2]] <= y) && (y <
poly[[j, 2]])) || ((poly[[j, 2]] <= y) && (y <
poly[[i, 2]])))
&& (x < (poly[[j, 1]] -
poly[[i, 1]])*(y - poly[[i, 2]])/(poly[[j, 2]] -
poly[[i, 2]]) + poly[[i, 1]])), c = \[Not] c
];
];
Return [c];
]

Cheers -- Sjoerd

On Feb 9, 12:31 pm, Mitch Murphy <mi... at lemma.ca> wrote:
> is there a way to test whether a point is inside a polygon? ie.
>
>         PointInsidePolygonQ[point_,polygon_] -> True or False
>
> i'm trying to do something like ...
>
","Polygon"]]
>
> to create what would be called a "clipping mask" in photoshop.
>
> cheers,
> Mitch

```

• Prev by Date: Re: testing if a point is inside a polygon
• Next by Date: Re: Map[] and multiple args function
• Previous by thread: Re: testing if a point is inside a polygon
• Next by thread: Re: testing if a point is inside a polygon