calcPolygonArea

Polygon Area Calculation

by evgkch

JavaScript

const calcTriangleArea = (polygon) => 0.5 * (
	(polygon[1][0] - polygon[0][0]) * (polygon[2][1] - polygon[0][1]) - (polygon[1][1] - polygon[0][1]) * (polygon[2][0] - polygon[0][0])
);

const calcPolygonArea = ([first, second, ...rest]) =>
	!!rest[0] ? calcTriangleArea([first, second, rest[0]])  + calcPolygonArea([first, ...rest]) : 0;
  

console.log(calcPolygonArea([[5,6],[5,-6],[-2,-1],[-2,1]]));
console.log(calcPolygonArea([[5,6],[5,-6],[-2,1],[-2,-1]]));
console.log(calcPolygonArea([[0,0],[3,-2],[5,-1],[8,4],[4,5]]));