2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Неправильный многоугольник : площадь
Сообщение20.11.2008, 12:58 
Задача:
Пусть задан координатами своих углов неправильный многоугольник .Можно ли по его координатам найти его площадь? Понятно, что периметр его найти можно.

 
 
 
 
Сообщение20.11.2008, 13:01 
Аватара пользователя
можно, его триангулировать и найти площадь как сумму площадей треугольников. Если решать в общем виде, то для выпуклого случая реализовать алгоритм совсем несложно, для невыпуклого - несколько сложнее

 
 
 
 Re: Неправильный многоугольник : площадь
Сообщение20.11.2008, 13:13 
Пусть многоугольник задан последовательностью вершин в форме массива координат вершин: $(x_1, y_1), (x_2, y_2), (x_3, y_3), \ldots, (x_n, y_n)$.
Пусть, также, координаты начало и конца ломанной совпадают. Тогда
$S= \sum\limits_{i=1}^n \frac{y_{i+1}+y_i} {2} (x_{i+1}-x_i)$.
Добавлено в тот же день вечером
Вычисленная по приведенной формуле площадь будет иметь знак плюс при обходе фигуры по часовой стрелке и знак минус при обходе против часовой стрелки, тогда как обычно полагают наоборот. Что бы совпасть с таким общепринятым определением, достаточно поставить знак минус перед суммой в приведенной формуле.
Если же знак нас не интересует, то просто берем $|S|$.

 
 
 
 
Сообщение20.11.2008, 14:24 
Аватара пользователя
см. Вычисление площадей ориентированных фигур

 
 
 
 Алглритм площади многоугольника.
Сообщение23.11.2008, 22:03 
Аватара пользователя
Пусть многоугольник задан координатами своих углов.Можно ли создать алгоритм вычисления его площади?
Понятно , если он выпуклый , это просто , программу можно сделать. А если невыпуклый , токак сделать алгоритм ?(а по нему программу написать можно..)

 
 
 
 
Сообщение23.11.2008, 22:10 
Аватара пользователя
http://mathworld.wolfram.com/PolygonArea.html

 
 
 
 Re: Алглритм площади многоугольника.
Сообщение23.11.2008, 22:32 
PSP писал(а):
Пусть многоугольник задан координатами своих углов.Можно ли создать алгоритм вычисления его площади?
Понятно , если он выпуклый , это просто , программу можно сделать. А если невыпуклый , токак сделать алгоритм ?(а по нему программу написать можно..)

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

 
 
 [ Сообщений: 7 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group