polygonArea static method

double polygonArea(
  1. List<Offset> points
)

Calculates the area of a polygon.

points is the list of polygon points.

Implementation

static double polygonArea(List<Offset> points) {
  if (points.length < 3) return 0;

  double area = 0;
  for (int i = 0; i < points.length; i++) {
    final j = (i + 1) % points.length;
    area += points[i].dx * points[j].dy;
    area -= points[j].dx * points[i].dy;
  }

  return area.abs() / 2;
}