Russian Qt Forum
Сентябрь 28, 2024, 12:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: определить пересечение полигонов  (Прочитано 4234 раз)
qwerky
Гость
« : Октябрь 29, 2009, 17:17 »

что возвратит QPolygon.intersected(polygon) если при пересечении получается несколько замкнутых полигонов ?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #1 : Октябрь 29, 2009, 17:54 »

что возвратит QPolygon.intersected(polygon) если при пересечении получается несколько замкнутых полигонов ?
Ничего хорошего не возвратит. Такая ситуация возможна только если один из полигонов не конвексный (имеет внутренние углы > 180). Значит нужно разбить такие полигоны на 2 или более конвексных и затем искать пересечения.
Записан
qwerky
Гость
« Ответ #2 : Октябрь 29, 2009, 18:05 »

понятно.
обрабатываю введенный пользователем полигон. значит нужна дополнительная защита от дурака (нормализация полигона или еще что).
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #3 : Октябрь 29, 2009, 18:24 »

понятно.
обрабатываю введенный пользователем полигон. значит нужна дополнительная защита от дурака (нормализация полигона или еще что).
Человек захотел нарисовать "П" - почему он дурак и зачем от этого защищаться?  Улыбающийся "Еще что" может отсутствовать и придется вспоминать геометрию.
Записан
qwerky
Гость
« Ответ #4 : Октябрь 31, 2009, 08:41 »

оставил только проверку на сложность (пересечение граней полигона), думаю этого будет достаточно.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 22.