|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Artem Gubenkov 2:5020/400 06 Feb 2002 17:00:16 To : Uriy Iovkov Subject : Re: Площадь многоугольника --------------------------------------------------------------------------------
Hello, Uriy!
You wrote to All on Mon, 04 Feb 2002 00:27:38:
UI> Люди! Скажите плз, как посчитать площадь *невыпуклого*
UI> многоугольника?
UI> Известны его вершины.
Так же, как и *выпуклого*:) как алгебраическую сумму площадей трапеций,
образованных каждым ребром многоугольника и его проекционными связями к оси
координат.
Для случая проецирования на ось абсцисс,
при обходе вершин контура против часовой стрелки и
размещении в первом квадранте:
N
S=( E (y[i]+y[i+1])*(x[i]-x[i+1]) )/2
i=1
Или можно упростить:
N
S=( E (x[i+1]*y[i]-x[i]*y[i+1]) )/2
i=1
E - это сумма
при условии, что x[N+1]=x[1], y[N+1]=y[1], где N - количество вершин в
контуре.
With best regards, Artem Gubenkov.
--- ifmail v.2.15dev5
* Origin: News Server of JSC Saratov-Mobile (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/1063888ff56c0.html, оценка из 5, голосов 10
|