Форум программистов, компьютерный форум CyberForum.ru

Построение многоугольника - C++

Восстановить пароль Регистрация
 
Akkanee
2 / 2 / 0
Регистрация: 09.01.2013
Сообщений: 65
28.02.2013, 08:59     Построение многоугольника #1
Здравствуйте, как построить выпуклый многоугольник по беспорядочно заданным вершинам?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2013, 08:59     Построение многоугольника
Посмотрите здесь:

C++ поворот многоугольника на плоскости
замкнутость многоугольника C++
C++ Cторон многоугольника
Площадь многоугольника C++
Площадь многоугольника C++
Триангуляция многоугольника C++
Разрезание многоугольника C++
найти площадь многоугольника C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alexcoder
1438 / 652 / 86
Регистрация: 03.06.2009
Сообщений: 3,295
Завершенные тесты: 1
28.02.2013, 09:45     Построение многоугольника #2
1) Где гарантия, что возможно построить такой многоугольник?
2) Если условие это гарантирует, упорядочиваете вершины по часовой или против часовой стрелки и соединяете их последовательно.

Для сортировки первое, что приходит в голову - это перевод координат в полярную систему координат.
Байт
 Аватар для Байт
14004 / 8835 / 1234
Регистрация: 24.12.2010
Сообщений: 16,014
28.02.2013, 09:57     Построение многоугольника #3
Первое, что приходит в голову.
Провести (составить уравнения) всех Cn2 прямых соединяющих вершины. Из них отобрать те, для которых все остальные точки лежат по одну сторону (т.е. при подставлении в уравнение прямой дают одинаковый знак). Вот эти прямые и будут образовывать выпуклый многоугольник.
Только имейте в виду, что некоторые точки могут не оказаться вершинами полученного многоугольника, т.к. лежат внутри.
Кажется, этот метод называется "Построение выпуклой оболочки"

Добавлено через 6 минут
Цитата Сообщение от alexcoder Посмотреть сообщение
упорядочиваете вершины по часовой
А как вы предлагаете определить центр?
Если б не условие выпуклости, центр можно назначить произвольно.
Но ваша идея дополняет мое построение. Тогда за центр можно взять любую из полученных действительных вершин. Хотя это и не обязательно. Проведенные (подходящие) прямые уже определяют порядок обхода!
Yandex
Объявления
28.02.2013, 09:57     Построение многоугольника
Ответ Создать тему
Опции темы

Текущее время: 09:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru