Умные вопросы
Войти
Регистрация
Мне даны кординаты n точек на плоскости. Как узнать, являются ли они вершинами n-угольника?
Спасибо.
4 года
назад
от
LottieHill9
2 Ответы
▲
▼
0
голосов
Проверить каждую тройку точек на предмет лежат ли они на одной прямой. Если ответ отрицательный, все n точек являются вершинами n-угольника.
Или вас интересует конкретно выпуклый многоугольник?
4 года
назад
от
Василий Лоханкин
▲
▼
0
голосов
Это зависит от того, имешь ли ты в виду правильный многоугольник, любой многоугольник или любой не самопересекающийся многоугольник. Если ты имешь в виду любой многоугольник, то ты всегда можешь создать не самопересекающийся многоугольник из заданного набора точек. Найти минимальную - это пример задачи коммивояжера.
Если же ты имешь в виду правильный многоугольник, возьми любые три точки и найди круг, проходящий через них. Если какая-либо из оставшихся точек не находится на окружности, то они не являются вершинами правильного многоугольника. В противном случае отсортируй точки по углу, который они образуют с центром круга, перебери точки в отсортированном порядке и убедись, что расстояние между каждой парой соседних точек постоянно.
4 года
назад
от
Владимир Горожанкин
Связанные вопросы
1
ответ
Вопрос тем кто ремонтирует бытовую технику. Сколько берете с клиента за ремонт древнего DVD?
2 года
назад
от
__KILLER__
2
ответов
Блокинг-генератор из одного транзистора и трансформатора
7 года
назад
от
German German
2
ответов
Чем электронная книга лучше планшета, если они одинаково стоят и одинаковый размер экрана?
8 года
назад
от
Ирина Александрова