2014 dxdy logo

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

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


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

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

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

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



Начать новую тему Ответить на тему
 
 площадь выпуклого многоугольника
Сообщение22.10.2013, 10:58 
Экс-модератор
Аватара пользователя


23/12/05
12064
Имеется массив точек на плоскости, заданный своими координатами $(x_i,y_i)$. Необходимо найти площадь выпуклого многоугольника, который покрывает все эти точки (Вершинами многоугольника являются данные точки. Часть точек может не являться вершинами, а лежать внутри многоугольника.).

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

 Профиль  
                  
 
 Re: площадь выпуклого многоугольника
Сообщение22.10.2013, 11:13 


19/05/10

3940
Россия
В Maple насколько помню есть команда выпуклая оболочка точек, в качестве результата дает некий минимальный набор точек из исходных
А у почти всех команд можно посмотреть код

 Профиль  
                  
 
 Re: площадь выпуклого многоугольника
Сообщение22.10.2013, 11:24 
Экс-модератор
Аватара пользователя


23/12/05
12064
У меня сейчас нет возможности посмотреть содержимое команд коммерческого софта, да и с установкой free софта несколько проблемно.

 Профиль  
                  
 
 Re: площадь выпуклого многоугольника
Сообщение22.10.2013, 11:24 


14/01/11
3062
Известны алгоритмы нахождения выпуклой оболочки, имеющие сложность $O(n\log h)$, где $n$ - общее число точек, а $h$ - число точек в выпуклой оболочке. Далее площадь ищется за $O(h)$. Если же считать площадь всех треугольников, это уже $O(n^3)$. Кроме того, триангулировать вовсе не обязательно, есть же известная формула для площади многоугольника.

 Профиль  
                  
 
 Re: площадь выпуклого многоугольника
Сообщение22.10.2013, 11:42 
Экс-модератор
Аватара пользователя


23/12/05
12064
За алгоритм вычисления площади без триангуляции спасибо, а вот площадь через площади всех треугольников меня всё равно интересует - не взирая на сложность алгоритма

 Профиль  
                  
 
 Re: площадь выпуклого многоугольника
Сообщение22.10.2013, 16:27 
Аватара пользователя


03/10/13
449
photon в сообщении #778451 писал(а):
У меня сейчас нет возможности посмотреть содержимое команд коммерческого софта, да и с установкой free софта несколько проблемно.

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

 Профиль  
                  
 
 Re: площадь выпуклого многоугольника
Сообщение22.10.2013, 17:06 
Экс-модератор
Аватара пользователя


23/12/05
12064
Urnwestek в сообщении #778605 писал(а):
Площадь выпуклой оболочки — довольно стандартная задача олимпиадного программирования. Если вам надо, то я могу вам быстро написать exe-шник, который по .txt файлу с координатами точек выводит площадь выпуклой оболочки.


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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group