Как найти площадь многоугольника по координатам вершин

Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 1 января 2022 года; проверки требуют 2 правки.

Формула площади Гаусса (формула землемера или формула шнурования или алгоритм шнурования) — формула определения площади простого многоугольника, вершины которого заданы декартовыми координатами на плоскости. В формуле векторным произведением координат и сложением определяется площадь области, охватывающей многоугольник, а затем из нее вычитается площадь окружающего многоугольника, что дает площадь многоугольника внутри. Также она называется формулой шнурования, так как положительные и отрицательные слагаемые, состоящие из перемножаемых координат, располагаются крест-накрест, как при завязывании шнурков. Она находит применение в геодезии, лесном хозяйстве и других областях.

Формула была описана Мейстером (1724—1788) в 1769 году и Гауссом в 1795 году. Она может быть проверена путём деления многоугольника на треугольники, но её также можно рассматривать как частный случай теоремы Грина.

Формула определения площади определяется путём взятия каждого ребра многоугольника АВ и вычисления площади треугольника АВО с вершиной в начале координат О через координаты вершин. При обходе вокруг многоугольника образуются треугольники, включающие внутреннюю часть многоугольника и расположенные снаружи его. Разница между суммой этих площадей и есть площадь самого многоугольника. Поэтому формула называется формулой геодезиста, так как «картограф» находится в начале координат; если он обходит участок против часовой стрелки, площадь добавляется, если она слева, и вычитается, если она справа с точки зрения из начала координат.

Формула площади верна для любого самопересекающегося многоугольника, который может быть выпуклым или вогнутым.

Определение[править | править код]

Формула может быть представлена следующим выражением:

{displaystyle {begin{aligned}mathbf {S} &={frac {1}{2}}left|sum _{i=1}^{n-1}x_{i}y_{i+1}+x_{n}y_{1}-sum _{i=1}^{n-1}x_{i+1}y_{i}-x_{1}y_{n}right|=\&={frac {1}{2}}|x_{1}y_{2}+x_{2}y_{3}+dots +x_{n-1}y_{n}+x_{n}y_{1}-x_{2}y_{1}-x_{3}y_{2}-dots -x_{n}y_{n-1}-x_{1}y_{n}|,end{aligned}}}

где

S — площадь многоугольника,
n — количество сторон многоугольника,
(xi, yi), i = 1, 2, …, n — координаты вершин многоугольника.

Другое представление этой же формулы[1][2]:

{displaystyle {begin{aligned}mathbf {S} &={frac {1}{2}}left|sum _{i=1}^{n}x_{i}(y_{i+1}-y_{i-1})right|=\&={frac {1}{2}}left|sum _{i=1}^{n}y_{i}(x_{i+1}-x_{i-1})right|=\&={frac {1}{2}}left|sum _{i=1}^{n}x_{i}y_{i+1}-x_{i+1}y_{i}right|=\&={frac {1}{2}}left|sum _{i=1}^{n}det {begin{pmatrix}x_{i}&y_{i}\x_{i+1}&y_{i+1}end{pmatrix}}right|,end{aligned}}}

где

xn+1 = x1, x0 = xn,
yn+1 = y1, y0 = yn.

Если точки пронумерованы последовательно в направлении против часовой стрелки, то детерминанты в формуле выше положительны, и модуль в ней может быть опущен; если они пронумерованы в направлении по часовой стрелке, то детерминанты будут отрицательными. Это происходит потому, что формула может рассматриваться как частный случай теоремы Грина.

Примеры[править | править код]

Для применения формулы необходимо знать координаты вершин многоугольника в декартовой плоскости. Для примера возьмём треугольник с координатами {(2, 1), (4, 5), (7, 8)}. Возьмём первую координату x первой вершины и умножим её на координату y второй вершины, а затем умножим х второй вершины на y третьей. Повторим эту процедуру для всех вершин. Результат может быть определён по следующей формуле[3]:

{displaystyle mathbf {S} _{text{tri.}}={frac {1}{2}}|x_{1}y_{2}+x_{2}y_{3}+x_{3}y_{1}-x_{2}y_{1}-x_{3}y_{2}-x_{1}y_{3}|,}

где xi и yi обозначают соответствующую координату. Эту формулу можно получить, раскрыв скобки в общей формуле для случая n = 3. По этой формуле можно обнаружить, что площадь треугольника равна половине суммы 10 + 32 + 7 − 4 − 35 − 16, что даёт 3.

Число переменных в формуле зависит от числа сторон многоугольника. Например, в формуле для площади пятиугольника будут использоваться переменные до x5 и y5:

{displaystyle mathbf {S} _{text{pent.}}={frac {1}{2}}|x_{1}y_{2}+x_{2}y_{3}+x_{3}y_{4}+x_{4}y_{5}+x_{5}y_{1}-x_{2}y_{1}-x_{3}y_{2}-x_{4}y_{3}-x_{5}y_{4}-x_{1}y_{5}|.}

S для четырехугольника — переменные до x4 и y4:

{displaystyle mathbf {S} _{text{quad.}}={frac {1}{2}}|x_{1}y_{2}+x_{2}y_{3}+x_{3}y_{4}+x_{4}y_{1}-x_{2}y_{1}-x_{3}y_{2}-x_{4}y_{3}-x_{1}y_{4}|.}

Более сложный пример[править | править код]

Рассмотрим многоугольник, представленный на рисунке и заданный точками (3, 4), (5, 11), (12, 8), (9, 5), (5, 6):

Пример иногоугольника

Площадь этого многоугольника:

{displaystyle {begin{aligned}mathbf {S} &={frac {1}{2}}|3times 11+5times 8+12times 5+9times 6+5times 4-{}\&qquad -4times 5-11times 12-8times 9-5times 5-6times 3|=\&={frac {60}{2}}=30.end{aligned}}}

Объяснение названия[править | править код]

Формула называется «формулой шнурков» из-за общего метода, используемого для её вычисления. Этот метод использует матрицу. В качестве примера возьмём треугольник с вершинами (2, 4), (3, −8), (1, 2). Затем построим следующую матрицу, «обходя вокруг» треугольника и заканчивая начальной точкой:

{displaystyle {begin{bmatrix}2&4\3&-8\1&2\2&4end{bmatrix}}.}

Сначала проведём диагональ вниз и вправо косой чертой, как показано ниже:

ShoelaceMatrix2.GIF

и перемножим пары чисел, соединённых чертой, а затем сложим все суммы:

(2 × −8) + (3 × 2) + (1 × 4) = −6.

Сделаем то же самое, проводя косую черту по диагонали вниз и влево, как показано ниже:

ShoelaceMatrix3.GIF
(4 × 3) + (−8 × 1) + (2 × 2) = 8.

Затем вычтем сумму второй группы из первой и возьмём модуль:

|(−6) − (8)| = 14.

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

Хорошее описание “Шнуровки Гаусса” представлено в видео на канале Wild Mathing [1]

См. также[править | править код]

  • Планиметр
  • Теорема Грина

Примечания[править | править код]

  1. Shoelace Theorem Архивная копия от 23 сентября 2020 на Wayback Machine, Art of Problem Solving Wiki.
  2. Weisstein, Eric W. Polygon Area. Wolfram MathWorld. Дата обращения: 24 июля 2012. Архивировано 12 мая 2012 года.
  3. Richard Rhoad; George Milauskas; Robert Whipple. Geometry for Enjoyment and Challenge. — new. — McDougal Littell  (англ.) (рус., 1991. — С. 717—718. — ISBN 0-86609-965-4.

Площадь по заданным координатам.

Как найти (вычислить) площадь фигуры (треугольник, четырехугольник, трапеция, многоугольник и др.) по координатам?

Какие есть формулы и методы, позволяющие находить площадь через координаты?

бонус за лучший ответ (выдан): 5 кредитов

Для вычисления площади простого многоугольника с любым количеством вершин, представленных в виде списка координат, при последовательном обходе которых, не образуются пересекающиеся линии, применяется формула Гаусса, иначе называемая “формулой землемера”, “формулой геодезиста”, “формулой шнурования”, “алгоритмом шнурования”, а так же “методом треугольников”.

Суть метода заключается в построении треугольников, состоящих из сторон многоугольника и лучей проведённых из начала координат к вершинам многоугольника, и сложении площадей треугольников, включающих внутреннюю часть многоугольника с вычитанием площадей треугольников, расположенных снаружи.

Площадь, вычисленная по приведенной формуле, будет иметь отрицательное значение при обходе фигуры по часовой стрелке и положительное при обходе против часовой стрелки.

Фигура многоугольника может иметь произвольную геометрию. Например:

Список координат многоугольника представлен в виде массива: (x1, y1), (x2, y2), (x3, y3),…(xn, yn).

Для многоугольника на первом рисунке он задан точками: (3,4), (5,11), (12,8), (9,5), (5,6). Его площадь будет равна:

Существует также метод трапеций, основанный на сложении и вычитании площадей трапеций, образованных каждой из сторон многоугольника, её проекцией на ось абсциссы и перпендикулярами, опущенных из вершин на абсциссу. При обходе вершин по часовой стрелке учитывается величина координаты вершин. Если первая вершина меньше второй, то площадь трапеции прибавляется, если нет, то отнимается.

Для многоугольника ABCDE на левом нижнем рисунке существует 5 трапеций : ABJH, CBJF, CDIF, EDIG и EAHG.

Так как X1<X2, X3<X4 и X5<X1, то площади трапеций ABJH, CDIF и EAHG складываются, а X3>X4 и X4<X5, следовательно, площади трапеций CBJF и EDIG вычитаются:

S = S(ABJH) – S(CBJF) + S(CDIF) – S(EDIG) + S(EAHG)

Площади трапеций рассчитываются по формуле;

Sтрапеции = 1/2 *((a+b))*h,

где a, b – основания трапеции,

h – высота трапеции.

Значения a, b и h вычисляются по координатам.

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

автор вопроса выбрал этот ответ лучшим

Ксарф­акс
[156K]

5 лет назад 

Площадь фигуры по координатам вершин

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

Эта формула выглядит следующим образом:

Здесь:

AB – отрезок,

точка A имеет координаты (x1, y1),

точка B имеет координаты (x2, y2).


Рассмотрим несколько примеров.

1) Треугольник ABC имеет координаты A(2,3); B(6,7); C(5,0). Его площадь можно найти по формуле Герона:

Здесь:

S – площадь треугольника,

a, b, c – стороны,

p – полупериметр, который равен половине суммы сторон a, b и c.

Найдём, чему равны стороны треугольника по формуле нахождения длины отрезка по координатам:

AB = √(4² + 4²) = √32 ≈ 5,66.

AC = √(3² + (-3)²) = √18 ≈ 4,24.

BC = √((-1)² + (-7)²) = √50 ≈ 7,07.

Полупериметр треугольника будет равен (5,66 + 4,24 + 7,07) / 2 ≈ 16,97 / 2 ≈ 8,49.

Отсюда площадь треугольника ABC ≈ √(8,49 * 2,83 * 4,25 * 1,42) ≈ √145 ≈ 12,04.

2) Ромб ABCD имеет координаты A(1,2); B(3,4); C(5,2); D(3,0). Площадь можно найти через диагонали:

Здесь:

S – площадь ромба,

d1 и d2 – диагонали.

Таким образом, нам нужно найти диагонали AC и BD.

AC = √(4² + 0) = √16 = 4.

BD = √(0 + (-4)²) = √16 = 4.

Отсюда площадь ромба ABCD = 0,5 * 4 * 4 = 8.

3) Трапеция ABCD имеет координаты A(1,1); B(3,4); C(5,4); D(6,1). Стандартная формула площади трапеции такая:

Здесь:

S – площадь трапеции,

a и b – основания,

h – высота.

Высота трапеции (пусть это будет BE) – это перпендикуляр, который был опущен из вершины трапеции (из точки B) на её основание (в нашем случае это AD).

Определим координаты её отрезка:

  • координаты первой точки совпадают с точкой B, это (3,4).
  • координаты 2 точки (точка E) будут (3,1) – так как абсцисса совпадает с абсциссой точки B, а ордината совпадает с ординатой точек A и D.

Высота трапеции BE = √(0 + (-3)²) = √9 = 3.

Теперь посчитаем длину оснований:

BC = √(2² + 0) = √4 = 2.

AD = √(5² + 0) = √25 = 5.

Таким образом, площадь трапеции ABCD = 3 * 0,5 * (2 + 5) = 10,5.

Степа­н-16
[34.5K]

5 лет назад 

Первоначально нужно вычислить длины сторон. В этом здесь будет основная задача. Получив стороны, вычисляем площади по стандартным формулам.

Самый простой случай – для прямоугольника, когда его стороны параллельны осям координат. Тогда одна сторона будет равна разнице абсцисс, вторая ординат.

Треугольник. Допустим, основание параллельно оси абсцисс. Вычисляем его длину, как разницу абсцисс. Далее нужно найти высоту. Она будет равна разнице ординат третьей вершины и ординаты любой из вершин основания. Затем – площадь по формуле: половина произведения основания на высоту.

И т.д.

Если же стороны фигуры не параллельны осям, то находить длины сторон придется уже более сложными расчетами. Допустим, прямоугольник. Первую сторону будем искать, как если бы она была гипотенузой в составе прямоугольного треугольника. Каждая сторона будет равна квадратному корню из суммы квадратов абсцисс и ординат концов отрезков стороны.

Так и для любой фигуры. Вначале определяем длины сторон как гипотенузу треугольника. После чего применяем стандартные формулы площадей.

Элени­я
[445K]

3 года назад 

Рассчитать площадь какой угодно геометрической фигуры, зная координаты, не составляет сложности. Каждая из точек, соответствующая вершинам искомой фигуры, будь это треугольник, четырех- или многоугольник, имеет определенную координату, а значит у нее есть значение, через которое можно рассчитать площадь.

Координаты, как найти на графике, чтобы узнать площадь фигуры? Проецируем на оси абсцисс и ординат прямые, проведя перпендикуляр из каждой точки. Полученные значения будут исходной величиной. Каждая из сторон фигуры – это разница двух точек на горизонтальную и вертикальную оси. Разница между значениями означает длину стороны фигуры. А зная все стороны и их значение, по формуле находим площадь.

найти площадь фигуры на графике

Пример 1. Ищем площадь треугольника.

найти площадь фигуры на графике

Мы видим два отрезка зеленого цвета AB и BC, которые образуют стороны равнобедренного треугольника, а основание есть отрезок на оси абсцисс AC.

Даны значения: AC основание в промежутке от “-4” до “+4”, то есть длина основания равна восьми.

Будет лучше, если посчитать площадь этого треугольника, как сумму из образовавших его двух треугольников, которые являются прямыми, ABO и BOC, совпадающие прямым углом с координатой “0” на графике.

Известна длина каждй из сторон, образующих прямой угол (AO или OC) х = 4 – 0 = 4 и y = 2 – 0 = 2 (BO).

Зная длину двух сторон, образующих прямой угол (AO и BO), находим длину основания (AB или BC). Тогда уже знаем все длины каждой из сторон обоих прямых треугольников. Остается только найти площадь по формуле:

площадь фигуры на графике

Зная площадь каждого из прямых треугольников, умножаем на два, получаем сумму заштрихованного треугольника на графике ABC.

И еще математически можно записать решение следующим образом, исходя из того, что имеем изначально следующую систему неравенств:

найти площадь фигуры на графике

площадь фигуры на графике

Пример 2.

площадь фигуры на графике

Пример 3. Есть парабола, ищем площадь фигуры, ограниченную кривой параболы. Чтобы посчитать, используем интеграл.

площадь фигуры на графике через интеграл

Бекки Шарп
[71.2K]

3 года назад 

Рассмотрим простой случай, где буквально на пальцах можно посчитать площадь через обычную формулу, а затем применим к этой задаче формулу Гаусса.

У нас есть трапеция, у которой известны координаты вершин. (3:2) (5:2) (9:6) (6:6). Мы знаем, что площадь трапеции равна сумме оснований, деленной на 2 и умноженной на высоту.

S = (a+b)/2 х h Считаем площадь: S = (3+2):2х4 = 10. Ответ – 10.

А теперь по теореме Гаусса.

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

S= 0,5 х [3х6+6х6+9х2+5х2 – 2х6-6х9-6х5-2х3] = 10

Таким образом можно найти площадь любой сложной фигуры, зная ее координаты.

dydyS­acha
[10.8K]

5 лет назад 

Можно взять милиметровку и нанести точки с заданными координатами, согласно осей абсцис и ординат. Соединить эти точки между собой и замерить длины образовавшихся сторон, а с помощью формулы по определению площади образовавшейся фигуры узнать её значение подставив данные в эту формулу.

Алиса в Стран­е
[363K]

3 года назад 

Существует специальная формула, называемая формулой Гаусса, она и позволит нам определить искомую площадь по координатам. Вот как эта формула выглядит:

Формула выглядит немного устрашающе, но давайте попробуем в ней разобраться. У нас есть многоугольник и есть его координаты, подсчитать n – количество сторон многоугольника несложно, а дальше просто нужно подставлять значения в эту формулу, нужно только быть внимательным и не перепутать какие координаты куда надо писать.

Давайте теперь приведем пример нахождения такой площади через формулу Гаусса. Допустим, у нас есть вот такой пятиугольник:

Координаты его пяти вершин, как мы видим: (3, 4), (5, 11), (12, 8), (9, 5), (5, 6).

Теперь нам остается только очень внимательно подставить эти координаты в нашу формулу, n = 5, координаты известны, вот что у нас получится:

Когда разбираешься в этой формуле, понимаешь, насколько она проста и даже легко запоминается, несмотря на то, что сначала кажется очень сложной.

dusel­ldorf
[4.3K]

5 лет назад 

Для вычисления площади геометрической фигуры по координатам ее вершин, нужно воспользоваться формулой Гаусса, иногда ее называют формулой землемера или формулой геодезиста, так как она применяется геодезистами для определения площади земельного участка, например, при межевании:

где

А – площадь многоугольника с заданными координатам его вершин,

n – количество сторон многоугольника,

(xi, yi) – координаты вершин многоугольника,

i = 1, 2,…, n — номер вершины многоугольника.

Барха­тные лапки
[382K]

3 года назад 

Находим площадь вот такого несложного четырехугольника. Координаты его вершин нам известны. Применяем формулу Гаусса, которая выглядит так:

S (площадь) = 0,5 [6х4 +9х7 + 10х6 + 7х3 – 3х9 – 4х10 – 7х7 – 6х6] = 8 (квадратных единиц)

Как видим если применять при решении формулу Гаусса то решить такую задачку несложно.

Не вижу здесь серьезных проблем. Мы, как я понял, имеем готовые точки координат, которые нужно проставить на координатной плоскости. Далее, соединяя эти точки, получаем фигуру, как в примере вопроса – квадрат, треугольник и т.п.

Теперь вычисляем площадь любой из полученных фигур по формуле ей соответствующей.

Знаете ответ?

Невероятный алгоритм, который я, за свои 30 лет нигде и никогда раньше не встречал. Решил поделиться с Вами, надеюсь, будет интересно!

Давненько не было математики… один космос, да космос. А ведь раньше на канале было полным полно математики, а теперь что?.. Но, этому есть объяснение. Полгода назад стал папкой сразу двух сыновей, и сами понимаете, времени для творчества совсем мало, прям критически мало.

Так вот, что там с формулой Гаусса?

Давайте представим, что у нас есть треугольник с координатами вершин (1,1), (5,2), (2,5) и стоит задача найти его площадь.

Невероятно редкая формула площади. "Шнуровка Гаусса"

Выписываем координаты вершин в 2 столбца, начиная двигаться по контуру треугольника против часовой стрелки. В левый столбец – координата “х”, в правый – координата “у”. Последняя координата в конце повторяется.

Невероятно редкая формула площади. "Шнуровка Гаусса"

Далее, перемножаем столбцы между собой. Для начала, берем “Зеленое” направление, а затем “красное”.

Невероятно редкая формула площади. "Шнуровка Гаусса"

Этот алгоритм называют “Шнуровкой Гаусса”, просто посмотрите на внешний вид…

Итак, перемножаем координаты и складываем. Должно в итоге получится 2 числа:

Невероятно редкая формула площади. "Шнуровка Гаусса"

Площадь фигуры находится как половина разности 29-ти и 14-ти.

Невероятно редкая формула площади. "Шнуровка Гаусса"

Проверить данное число крайне просто, учитывая, что все построения я выполнял в CAD системе (1 ед = 10мм).

Невероятно редкая формула площади. "Шнуровка Гаусса"

По этому же принципу можно вычислить площадь любого многогранника. Достаточно просто знать координаты.

Вот вам примерчик “на дом” для тренировки. Попробуйте вычислить площадь, и делитесь ответами в комментариях!

Невероятно редкая формула площади. "Шнуровка Гаусса"

Подписывайтесь и ставьте лайки, если было интересно!

Калькулятор ниже был написан для решения частной задачи расчета площади выпуклого четырехугольника по координатам его вершин. Он только обобщает эту задачу до задачи расчета площади любого выпуклого многоугольника вообще. Собственно, на сайте уже был подобный калькулятор Площадь многоугольника, но там требовалось вводить длины сторон и диагоналей, а это несколько труднее, чем вводить только координаты вершин.

Принцип работы остается таким же – многоугольник разбивается на непересекающиеся треугольники, подсчитывается площадь всех треугольников (это легко сделать зная длины всех трех сторон – Расчет площади треугольника по формуле Герона), затем площади суммируются. Основная проблема была в том, чтобы сделать его устойчивым к ситуации, когда точки вводят не по порядку. Предположим, сначала вводят первые четыре точки получая фигуру на рисунке ниже

Четырехугольник
Четырехугольник

При добавлении следующей точки, например, так, как на следующем рисунке

Пятиугольник
Пятиугольник

должен уже получиться многоугольник ADCBE, а не ABCDE, разбитый на треугольники ADC, ACB и ABE, соответственно.

Чтобы получить правильный многоугольник, фактически требуется получить оболочку введенных точек. Для этого калькулятор использует алгоритм Джарвиса (или алгоритм обхода Джарвиса, или алгоритм заворачивания подарка), который определяет последовательность элементов множества, образующих выпуклую оболочку для этого множества. Метод можно представить как обтягивание верёвкой множества вбитых в доску гвоздей.

Алгоритм работает за время O(nh), где n — общее число точек на плоскости, h — число точек в выпуклой оболочке. Для выпуклого многоугольник соответственно будет O(n^2). Не самый оптимальный алгоритм, зато очень простой, и для этого калькулятора вполне производительный.

Как пользоваться калькулятором: начинаете вводить координаты точек выпуклого многоугольника. Начиная с трех точек алгоритм Джарвиса будет стоить обтягивающий контур, затем контур будет разбиваться треугольники и подсчитываться общая площадь. Для справки также будут выводиться площади всех треугольников.

PLANETCALC, Вычисление площади выпуклого многоугольника по координатам вершин на плоскости

Вычисление площади выпуклого многоугольника по координатам вершин на плоскости

Точки многоугольника

Точка X Y

Точность вычисления

Знаков после запятой: 2

Файл очень большой, при загрузке и создании может наблюдаться торможение браузера.

Просмотров 10.5к. Обновлено 23 ноября 2020

Урок из серии «Геометрические алгоритмы»

Здравствуйте, дорогой читатель.

Решения многих задач вычислительной геометрии основывается на нахождении площади многоугольника. На этом уроке мы выведем формулу для вычисления площади многоугольника через координаты его вершин, напишем функцию для вычисления этой площади.

Задача. Вычислить площадь многоугольника, заданного координатами своих вершин, в порядке их обхода по часовой стрелке.

Сведения из вычислительной геометрии

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

Ориентированная площадь треугольника – это обычная площадь, снабженная знаком. Знак ориентированной площади треугольника АВС такой же, как у ориентированного угла между векторами clip_image002 и clip_image004. То есть ее знак зависит от порядка перечисления вершин.

Площадь многоугольника по координатам-1

Рис1

На рис. 1 треугольник АВС – прямоугольный. Его ориентированная площадь равна Урок 34. Площадь многоугольника (она больше нуля, так как пара Урок 34. Площадь многоугольника ,Урок 34. Площадь многоугольника ориентирована положительно).  Эту же величину можно вычислить другим способом.

Пусть О – произвольная точка плоскости. На нашем рисунке площадь треугольника ABC получится, если из площади треугольника OBC вычесть площади OAB и OCA. Таким образом, нужно просто сложить ориентированные площади треугольников OAB, OBC и OCA. Это правило работает при любом выборе точки О.

Точно так же для вычисления площади любого многоугольника Урок 34. Площадь многоугольника нужно сложить ориентированные площади треугольников Урок 34. Площадь многоугольника

Площадь многоугольника по координатам-2

Рис. 2

В сумме получится площадь многоугольника, взятая со знаком плюс, если при обходе ломаной clip_image002[6]многоугольника находится слева (обход границы против часовой стрелки), и со знаком минус, если он находится справа (обход по часовой стрелке).

Итак, вычисление площади многоугольника свелось к нахождению площади треугольника. Посмотрим, как выразить ее в координатах.

Векторное произведение двух векторов на плоскости есть площадь параллелограмма, построенного на этих векторах.

Площадь многоугольника по координатам-3

Векторное произведение, выраженное через координаты векторов:

Урок 34. Площадь многоугольника

Площадь треугольника будет равна половине этой площади:

clip_image004[6]

В качестве точки О удобно взять начало координат, тогда координаты векторов, на основании которых вычисляются ориентированные площади, совпадут с координатами точек.

Пусть (х1, y1), (x2, у2), …, (хNN)координаты вершин заданного многоугольника в порядке обхода по или против часовой стрелки. Тогда его ориентированная площадь S будет равна:

Площадь многоугольника-5

Это и есть наша рабочая формула, она используется в нашей программе.

Если координаты вершин были заданы в порядке обхода против часовой стрелки, то число S,вычисленное по этой формуле, получится положительным. В противном случае оно будет отрицательным, и для получения обычной геометрической площади нам необхо­димо взять его абсолютное значение.

Итак, рассмотрим программу для нахождения площади многоугольника, заданного координатами вершин.

Program geom6;
Const n_max=200; {максимальное количество точек+1}

type b=record
         x,y:real;
       end;
     myArray= array[1..n_max] of b;
var input:text;
    A:myArray;
    s:real;
    i,n:integer;
procedure ZapMas(var n:integer; var A:myArray);
{Заполнение массива }
begin
  assign(input,'input.pas');
  reset(input);
  readln(input, n);
  for i:=1 to n do
    read(input, a[i].x,a[i].y);
  close(input);
end;
function Square (A:myarray): real;
{Вычисление площади многоугольника}
var i:integer;
     S: real;
begin
   a[n+1].x:=a[1].x;    a[n+1].y:=a[1].y;
   s:=0;
   for i:=1 to n do
      s := s + (a[i].x*a[i+1].y - a[i].y*a[i+1].x);
   s:=abs(s/2);
   Square := S
end;  {Square}
begin {main}
   Zapmas(n, a);
   PrintMas(a);
   S:= Square(a);
   writeln('S= ',s:6:2);

end.

Координаты вершин считывается из файла input.pas.,  хранятся в массиве А в виде записей с двумя полями.  Для удобства обхода многоугольника в массиве вводится n+1 элемент, значение которого равно значению первого элемента массива.

Входные данные:
5
0.6  2.1  1.8  3.6  2.2  2.3  3.6  2.4  3.1  0.5

Выходные данные:
S= 3.91

Площадь многоугольника по координатам-4

Мы решили задачу о нахождении площади многоугольника по координатам его вершин. Задачи усложняются. Если у вас есть замечания к этой статье, или пожелания, напишите в комментарии. Буду Вам очень признательна за сотрудничество.

До встречи на следующем уроке.

Добавить комментарий