I've asked this question, over here:

http://www.experts-exchange.com/Programming/Programming_Languages/Dot_Net/Q_20953778.html
Given:

[1] One (x,y) coordinate pair (Double values)

and

[2] One array of (x,y) coordinate pairs (structs containing 2 Doubles) that together define a closed polygon that does NOT intersect itself

I need to determine whether [1] falls within the area defined by [2].

Now, the VB.NET solution I was provided previously *does work*, except for a few drawbacks.

What I'd really like, though, is a procedure that isn't quite so expensive. That VB.NET solution relies on the GDI+ namespace's GraphicsPath object. These objects are expensive when your app is having to create hundreds or thousands of them. Plus, there are some cludges that were necessary to make them work with longitude/latitude coordinates.

I'm looking for a purely math-oriented solution out there. There are lots of PointInPolygon *algorithms* online, and I have no problem finding them. But I need some help in finding one that really lends itself to a C# app that I don't want to spend forever coding.

Anyone got anything? Thanks!