независимое от языка решения:
Даны: многоугольник может ВСЕГДА быть составлен п-2 треугольников, которые не перекрывают друг друга (п = числа точек или сторон). 1 треугольник = трехгранный многоугольник = 1 треугольник; 1 квадрат = 4-сторонний многоугольник = 2 треугольника; etc ad tauseam QED
поэтому многоугольник можно уменьшить путем «измельчения» треугольников, и общая площадь будет представлять собой сумму площадей этих треугольников. попробуйте его с помощью листка бумаги и ножниц, лучше всего, если вы сможете визуализировать этот процесс, прежде чем следовать.
если взять любые 3 последовательные точки в путях многоугольников и создать треугольник с этими точками, вы будете иметь один и только один из трех возможных сценариев:
- полученного треугольник полностью находится внутри исходного многоугольника
- полученный треугольник полностью вне исходного многоугольника
- полученный треугольник частично Содержится в оригинальном многоугольнике
мы заинтересованы о в случаях, когда они попадают в первый вариант (полностью содержащийся).
Каждый раз, когда мы находим один из них, мы его отрубаем, вычисляем его площадь (легко peasy, не объясняем формулу здесь) и создаем новый многоугольник с одной меньшей стороной (что эквивалентно многоугольнику с отрубленным треугольником). пока мы не оставим только один треугольник.
как реализовать это программно:
создать массив точек. запустите массив, создающий треугольники из точек x, x + 1 и x + 2. преобразуйте каждый треугольник из формы в область и пересечь его с областью, созданной из многоугольника. Если полученное пересечение идентично исходному треугольнику, то указанный треугольник полностью содержится в многоугольнике и может быть отрублен. удалите x + 1 из массива и начните снова с x = 0. в противном случае перейдите в следующую точку x + 1 в массиве.
дополнительно, если вы хотите интегрироваться с отображением и начинать с геоинтеграции, вы должны преобразовать из геотомов в экранные точки. это требует принятия решения о моделировании и формуле для формы земли (хотя мы склонны думать о земле как о сфере, на самом деле она представляет собой нерегулярную яйцевидную (яйцо), с вмятинами. Существует много моделей для дальнейшей информации wiki.
И какие единицы являются входами? Furlongs? – bmargulies