I'm write a unittest and using this function to detect if a point is inside a polygon.

https://love2d.org/wiki/PointInConcavePolygon

Code: Select all

```
poly = {
0,
0,
10,
0,
10,
10,
0,
10
}
pointInPolygon(poly, 10, 10) -- returns false , correct
pointInPolygon(poly, 10, 0) -- returns false , correct
pointInPolygon(poly, 0, 10) -- returns false , correct
pointInPolygon(poly, 10, 10) -- returns true but that is incorrect.
```

Code: Select all

```
-- detect all lines in the polygon
for y = 1, 9 do
for x = 1, 9 do
lu.assertEquals(Polygon.pointInPolygon(poly, x, y), true, "point x: " .. x .. "point y: " .. y)
end
end
-- the outer line is not included
-- here I was working to scan the outline that returns false
```

I don't know if someone has a fix or a correct function that I can use ?

And maybe with an optional function argument to include the border in the collision detection.

Thanks