Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Помогите с алгоритмом или исходником двумерного отсечения отрезка.

Ответить
Настройки темы
Помогите с алгоритмом или исходником двумерного отсечения отрезка.

Аватара для [mzd]

Линуксоид-стакановец


Сообщения: 2391
Благодарности: 186


Конфигурация

Профиль | Отправить PM | Цитировать


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

-------
Живя в реальном мире, стремись к невероятному... Эрнесто Че Гевара
Everybody lies. (c) House M.D.
Базовая настройка Ubuntu. Документация для новичка.
Руководство по установке, начальной настройке и основам использования операционной системы Ubuntu


Отправлено: 22:42, 02-09-2005

 

Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


Я когда-то занимался похожим вопросом: отрезание маленьких "петелек" на невыпуклых самопересекающихся полигонах. Сразу могу сказать, что абсолютно весь алгоритм пришлось писать с нуля - в сети ничего нету :[

Могу "идею" предложить. Пару классов подкинуть. Но разобраться с моим кодом будет очень-очень сложно, там всё для автокада R2000. Даже скомпилить будет невозможно, если нет нужных библиотек/хидеров (у меня уже ддавно их нет) %[


Отправлено: 00:07, 03-09-2005 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для [mzd]

Линуксоид-стакановец


Сообщения: 2391
Благодарности: 186

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: zip task2.cpp.zip
(3.9 Kb, 7 просмотров)

В нете нашел такой алгоритм
Цитата:
Одновременное проведение операций проверки на выпуклость и разбиение простого невыпуклого многоугольника на выпуклые обеспечивается методом переноса и поворотов окна.

Алгоритм метода при обходе вершин многоугольника против часовой стрелки состоит в следующем:

1. Для каждой i-й вершины многоугольник сдвигается для переноса упомянутой вершины в начало координат.
2. Многоугольник поворачивается против часовой стрелки для совмещения (i+1)-й вершины с положительной полуосью X.
Вектор внутреннего перпендикуляра к ребру, образованному вершинами i-й и (i+1)-й, вычисляется поворотом ребра на -90° против часовой стрелки.
3. Анализируется знак Y-координаты (i+2)-й вершины.
Если Yi+2 і 0, то в (i+1)-й вершине выпуклость.
Если Yi+2 і 0, то в (i+1)-й вершине невыпуклость.
Если имеется невыпуклость, то многоугольник разрезается на два вдоль положительной полуоси X.
Для этого вычисляется пересечение положительной полуоси X с первой из сторон. Формируются два новых многоугольника: первый многоугольник - вершины с (i+1)-й до точки пересечения - вершины 2, 3, 4, 6, 7, [7\tilde], второй многоугольник - все остальные вершины - вершины [7\tilde], 8, 0, 1.

Так как вновь полученные многоугольники могут в свою очередь оказаться невыпуклыми, алгоритм применяется к ним, пока все многоугольники не станут выпуклыми.
Погмогите загнать его в эту программу, а то с поворотами я совсем запутался.

-------
Живя в реальном мире, стремись к невероятному... Эрнесто Че Гевара
Everybody lies. (c) House M.D.
Базовая настройка Ubuntu. Документация для новичка.
Руководство по установке, начальной настройке и основам использования операционной системы Ubuntu


Отправлено: 20:31, 04-09-2005 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Помогите с алгоритмом или исходником двумерного отсечения отрезка.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Монитор - Жк телевизор или монитор помогите выбрать VbInt Прочее железо 2 08-12-2009 09:28
Помогите с поиском программы или ... pandora0001 Флейм 18 31-01-2009 20:16
Доступ - [решено] Ограничение 10 или .... (помогите разобраться) Matrixro Microsoft Windows 2000/XP 6 10-07-2008 20:55
помогите с алгоритмом решения задачи bool Хочу все знать 2 14-06-2008 18:43
Помогите выбрать хаб или свитч Guest Сетевые технологии 15 02-09-2004 18:29




 
Переход