Как рассчитать площадь серии случайных точек? - PullRequest
5 голосов
/ 30 августа 2010

Итак, я работаю над фрагментом кода, чтобы взять позиционные данные для RC Plane Crop Duster и вычислить общую площадь пересеченной поверхности (без двойного счета любой области). Я не могу понять, как рассчитать площадь для данного периода работы.

С учетом приведенной ниже таблицы. Рассчитать площадь покрытия точек.

x,y
1,2
1,5
4,3
6,6
3,4
3,1

Есть идеи? Я просмотрел теорему Грина, и у меня не осталось практической концепции для написания кода.

Спасибо за любые советы

Ответы [ 6 ]

8 голосов
/ 30 августа 2010
  1. Сборка выпуклой оболочки из заданных точек

    Алгоритмы описаны здесь

    См. Очень хорошую демонстрацию Python + Src

  2. Рассчитать его площадь

    Код Python здесь

4 голосов
/ 30 августа 2010

Возможно, кому-то, кто математичнее меня, придется проверить информацию здесь. Но это выглядит законно: http://www.wikihow.com/Calculate-the-Area-of-a-Polygon и довольно легко применяется в коде.

1 голос
/ 30 августа 2010

Если ваши точки гарантированно находятся на целочисленной сетке (как в вашем примере) (и вы действительно ищете закрытую область), то Теорема Пика поможет?

1 голос
/ 30 августа 2010

Я не совсем уверен, что вы ищете "Площадь поверхности" так же, как вы ищете Расстояние.Кажется, вы хотите рассчитать расстояние между одной точкой и следующей для этого списка.Если это так, просто используйте Формула расстояния .

Если самолет падает с постоянной шириной пыли, пролетая между этими точками, тогда площадь - это просто расстояние между этими точками, умноженноеШирина струи.

0 голосов
/ 30 августа 2010

Используйте для QHull для триангуляции области, затем суммируйте площади получающихся треугольников.

0 голосов
/ 30 августа 2010

Вам придется разделить сложный многоугольник примерно на стандартные многоугольники (треугольники, прямоугольники и т. Д.), А затем найти область их всех. Это похоже на обычную интеграцию (единственное отличие в том, что вам еще не удалось найти формулу для аппроксимации ваших данных).

Вышеуказанные моменты - это когда вы предполагаете, что вы формируете замкнутый многоугольник со своими данными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...