@@ -120,7 +120,7 @@ abstract IPolygon(Array<IPoint>) from Array<IPoint> to Array<IPoint> {
sum += p1.x * p2.y - p2.x * p1.y;
p1 = p2;
}
- return sum * 0.5;
+ return Math.abs(sum) * 0.5;
inline function side( p1 : IPoint, p2 : IPoint, t : IPoint ) {
@@ -92,10 +92,10 @@ abstract Polygon(Array<Point>) from Array<Point> to Array<Point> {
var sum = 0.;
var p1 = points[points.length - 1];
for( p2 in points ) {
- sum += p1.x * p2.y - p2.x * p1.y;
+ sum += p2.x * p1.y - p1.x * p2.y;
inline function side( p1 : Point, p2 : Point, t : Point ) {