|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.06.2008, 19:34 | #1 |
Регистрация: 19.06.2008
Сообщений: 5
|
Выпуклый четырёхугольник(как проверить) Pascal
Привет, всем. Кто знает, как проверить является ли четырёх угольник выпуклым, если даны координаты всёх вершин
Последний раз редактировалось SARA; 19.06.2008 в 19:40. |
19.06.2008, 21:35 | #2 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
из wikipedia:
Цитата:
|
|
19.06.2008, 22:19 | #4 |
Регистрация: 19.06.2008
Сообщений: 5
|
и как это определить а паскале
|
19.06.2008, 22:49 | #5 |
Участник клуба
Регистрация: 26.10.2007
Сообщений: 1,244
|
В определение которое привели написанно как определить выпуклый ли он или нет.
Четырёхугольник один из видов многоугольника.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым, Попытка глубже понимать уже попахивает литром... |
19.06.2008, 23:18 | #6 |
Регистрация: 19.06.2008
Сообщений: 5
|
Так а как в паскале это определить?
|
20.06.2008, 21:56 | #7 |
Пользователь
Регистрация: 20.06.2008
Сообщений: 95
|
Предоставляю мой вариант решения. Я исходил из следующих соображений: внутренний угол, образованный любыми двумя соседними гранями не должен быть больше 180 градусов. Отсюда алгоритм:
1) Ввод координат вершин, причем последовательно против часовой стрелки. 2) Проверяем угол между первой гранью и второй (также против часовой стрелки): - находим угол a1 между первой гранью и осью Ox; - находим угол a2 между второй гранью и осью Ox; - если условие (a2-a1<0)and(a2-a1>-PI)or(a2-a1>PI) выполнится, то значит многоугольник вогнутый. 3) Аналогично п.2 проверяем углы между 2-й и 3-й, 3-й и 4-й и т.д. гранями.
Не забывайте оставлять отзывы (кнопочка в левом нижнем углу сообщения)
|
20.06.2008, 22:00 | #8 |
Пользователь
Регистрация: 20.06.2008
Сообщений: 95
|
Исходник на паскале:
Код:
Не забывайте оставлять отзывы (кнопочка в левом нижнем углу сообщения)
|
20.06.2008, 22:01 | #9 |
Пользователь
Регистрация: 20.06.2008
Сообщений: 95
|
Написано криво (спешил), но вроде работает
Не забывайте оставлять отзывы (кнопочка в левом нижнем углу сообщения)
|
20.06.2008, 22:40 | #10 |
Регистрация: 19.06.2008
Сообщений: 5
|
Спасибо, помог!
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проверить тип переменной | satana | Общие вопросы Delphi | 10 | 20.11.2010 21:43 |
Как проверить строку? | nikleb | PHP | 6 | 07.07.2008 22:04 |
выпуклый стиль ToolButton | andrey4623 | Общие вопросы Delphi | 2 | 04.03.2008 19:19 |
Как проверить существование потока? | John_chek | Общие вопросы Delphi | 3 | 17.01.2008 15:16 |