Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Алгоритмы и теория программирования


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Роман Селиверстов
Статус: Советник
Рейтинг: 4843
∙ повысить рейтинг »
CradleA
Статус: Бакалавр
Рейтинг: 2486
∙ повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 2321
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Алгоритмы и теория программирования

Номер выпуска:161
Дата выхода:25.05.2012, 16:30
Администратор рассылки:Лысков Игорь Витальевич (Старший модератор)
Подписчиков / экспертов:171 / 83
Вопросов / ответов:1 / 1

Консультация # 186069: Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос: Есть алгоримы Грэхема, Джарвиса и другие для построения выпуклой оболочки для множества точек. Нужна помощь в том, как разделить множество точек на выпуклые четырехугольники, сединенные между собой одной или двумя общими точками. ...


Консультация # 186069:

Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:


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

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

Дата отправки: 17.05.2012, 15:52
Вопрос задал: Дмитрий (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Лысков Игорь Витальевич (Старший модератор):

Здравствуйте, Дмитрий!
Увы, Вы не интересуетесь задачей, поэтому уточнить некоторые детали не представляется возможным.
Поэтому предлагаю следующий вариант:
В начале, предположим допустимость отсутствия точек из данного множества во всех вершинах четырехугольников,
обязательным является только то, что все точки будут внутри или в большинстве вершин. Это послабление условия необходимо только
для числа точек меньшего 4-х, ровно 5 и когда все точки внутри треугольника. В последнем случае задача разделения точек продолжает оставаться не намного проще исходной.
Итак, алгоритм следующий:
1) Если точек меньше 3, дополняем до 4
2) Находим при помощи алгоритма Грэхема точки, являющимися последовательными вершинами многоугольника, являющего оболочкой для всех точек.
3) Если вершин четное число:
а) берем 4 первых точки
б) оставляем первую и последнюю, добавляем две
в) и так, пока не дойдем до последней
4) Если вершин нечетное число и больше трех:
а) Если есть хоть одна дополнительная вершина внутри многоугольника,
то добавляем еще одну любую точку так, что внутри треугольника, состоящего из двух вершин многоугольника и этой точки нет других точек
Т.о. получили четное число вершин. Разбиваем на четырехугольники, начиная с этой добавленной, как в пункте 3)
б) Если внутри нет точек и вершин больше 5, то разбиваем аналогично 3), только для последнего четырехугольника оставляем от предпоследнего только одну точку, а не две последний будет иметь только одну общую точку)
в) Если у нас ровно 5 точек в вершинах пятиугольника, то добавляем любую точку, получаем шестиугольник, применяем 3)
5) Если три вершины, то добавляем одну дополнительную точку так, чтобы получился четырехугольник

Консультировал: Лысков Игорь Витальевич (Старший модератор)
Дата отправки: 24.05.2012, 12:11
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное