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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Kolbusdkiy
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 112
#1

Определить, является ли заданный многоугольник выпуклым - C++

10.04.2014, 14:40. Просмотров 676. Ответов 3
Метки нет (Все метки)

Помогите решить.
Определить, является ли заданный многоугольник выпуклым. В первой строке одно число - N . Далее в N строках по паре чисел - координаты очередной вершины простого многоугольника в порядке обхода по или против часовой стрелки.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2014, 14:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить, является ли заданный многоугольник выпуклым (C++):

Определить является ли пятиугольник выпуклым и можно ли около него описать окружность - C++
На плоскости координатами своих вершин задан пятиугольник. Определить, является ли он выпуклым и можно ли около него описать окружность.

Определить, является ли заданный массив пилообразным - C++
Одномерный массив из 10 элементов заполнить числовыми значениями. Определить, является ли массив пилообразным, т.е. выполняется ли...

Определить является ли заданный четырехугольник трапецией - C++
Пожалуйста помогите написать программу вопрос жизни и смерти, а я в этом деле чайник( Задание: Решить предложенную задачу используя...

Определить, является ли заданный текст двоичной записью числа, кратного 6 - C++
Вот моя программа,она вроде работает верно,но есть цисла ,для которых она считает не верно или вообще не считает,помогите...

Определить, является ли заданный текст записью числа в шестнадцатиричной системе счисления - C++
Задан текст, в который входят только цифры и буквы. Определить, является ли этот текст записью числа в шестнадцатиричной системе счисления....

Ввести количество точек, получить многоугольник, закрасить многоугольник построчно. - C++
Здравствуйте, есть программа написанная на С++ Builder, (см архив) у меня почему то она виснет( Суть программы такова сперва нужно ввести...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
TenGen
Будущее рядом
98 / 96 / 20
Регистрация: 06.03.2014
Сообщений: 342
10.04.2014, 15:23 #2
Kolbusdkiy, предложу такой вариант: программа находит координаты каждой точки, затем вычисляет для каждой точки угол (который мы можем найти с помощью треугольника, построенного из самой точки и двух соседних). Не уверен в решении, с математикой не очень хорошие отношения.
1
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
10.04.2014, 16:27 #3
Можно пройти по всем ребрам, для каждого ребра берем следующую по часовой стрелке вершину - она должна быть справа от прямой(вектора ребра) для всех ребер.
1
palva
2614 / 1836 / 263
Регистрация: 08.06.2007
Сообщений: 6,994
Записей в блоге: 4
10.04.2014, 23:04 #4
По треугольникам хорошая идея. По трем последовательным вершинам вычисляется площадь треугольника (определитель четвертого порядка). При обходе многоугольника все эти площади должны быть одного знака.

Другой алгоритм. Обходим многоугольник и для каждых двух последовательных вершин A и B составляем уравнение прямой AB и в это уравнение подставляем координаты вершины, которая предшествует вершине A и которая идет после вершины B. Эти подстановки должны дать результат одного знака (точки должны находиться по одну сторону от прямой AB).

Добавлено через 5 часов 51 минуту
Все-таки второй алгоритм надо забраковать. По вычислениям это то же, что и первый алгоритм. Подстановка точки в уравнение прямой и дает площадь треугольника с некоторым положительным коэффициентом. Получается, что площадь каждого треугольника при обходе многоугольника вычисляется дважды. То есть он в два раза медленнее работает.

А в первом алгоритме в формуле площади треугольника есть коэффициент 1/2. Его использовать не нужно, поскольку нам важно узнать лишь знак площади.
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2014, 23:04
Привет! Вот еще темы с ответами:

Определить выпуклый ли многоугольник. - C++
Задан многоугольник координатами в порядке обхода. Определить выпуклый ли он ? как сделать иначе не проверяя угол ? Хочется...

Выяснить, является ли заданный символ цифрой - C++
Дан символ.Выяснить является ли он цифрой?

Выяснить, является ли заданный текст идентификатором - C++
Помогите! Необходимо выяснить , является ли заданный текст идентификатором на языке С++.

Является ли четырехугольник, заданный координатами вершин, прямоугольником - C++
Даны координаты вершин четырехугольника. Определить является ли это четырехугольник прямоугольником. Написать код программы по этой...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
10.04.2014, 23:04
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru