Как определить площадь фигуры (в пикселях)?

Как определить площадь фигуры (в пикселях) из массива [Point(x1,y1), Point(x2,y2), .. Point(xN,yN)]?

введите сюда описание изображения


Ответы (1 шт):

Автор решения: MBo

Реализуйте формулу площади Гаусса (она же shoelace)

private double getArea(Collection<Point> allPoint)
{
  double area = 0;
  for (int i = 0; i < allPoint.Count; i++)
  {
      int j = (i + 1) % allPoint.Count;
      Point a = allPoint[i], b = allPoint[j];

      area += a.X * b.Y - a.Y * b.X;
  }
  return Math.Abs(area) / 2;
}
→ Ссылка