I tested the polygon ray tracing for a while. It would be desireable to allow simple concave polygons (please refer to http://en.wikipedia.org/wiki/Simple_polygon). These polygons are not self intercepting but you may cross them with a line on more than two points. I know that the programming will be trickier for this case. But it would be very helpful.