Логические операции с полигонами
Добавлено: 30 май 2015, 17:13
Итак, возвращаясь к напечатанному.
Есть две пока не решённых проблемы по сабжу. Это отрисовка результатов операций и дырки. С дырками вроде понятно, нет их пока. Поэтому всё про дырки игнорируем.
К сожалению, сообщение с картинками, которое я создал в той теме, сюда не скопировать, а создавать его заново весьма лень. Придётся ссылаться на него. Там было так:
1. Операция И. Закрашено правильно.
2. Операция ИЛИ. Закрашено тоже правильно.
3. Операция НЕ. Здесь закрашено неправильно. Выглядеть должно как на рисунке "Операция Group".
4. Операция ИСКЛЮЧАЮЩЕЕ ИЛИ. Закрашено неправильно. Должно быть как на рисунке "Операция Group".
5. Операция Group. Закрашено неправильно. Должно быть как на рисунке "Операция ИЛИ".
Теперь попробуем случай, когда полигоны частично пересекаются.
Видно, что опять же И и ИЛИ выполняются и заливаются правильно. Операция НЕ в этом случае тоже залита правильно. Остальные операции, увы, неправильно. Причём, они залиты "наоборот".
Если полигоны вообще не пересекаются, все логические операции выполняются и заливаются правильно.
Констатируем, что пока можно смело использовать логические операции И, ИЛИ при любых раскладах, остальные при условии, что полигоны не пересекаются.
Есть две пока не решённых проблемы по сабжу. Это отрисовка результатов операций и дырки. С дырками вроде понятно, нет их пока. Поэтому всё про дырки игнорируем.
К сожалению, сообщение с картинками, которое я создал в той теме, сюда не скопировать, а создавать его заново весьма лень. Придётся ссылаться на него. Там было так:
1. Операция И. Закрашено правильно.
2. Операция ИЛИ. Закрашено тоже правильно.
3. Операция НЕ. Здесь закрашено неправильно. Выглядеть должно как на рисунке "Операция Group".
4. Операция ИСКЛЮЧАЮЩЕЕ ИЛИ. Закрашено неправильно. Должно быть как на рисунке "Операция Group".
5. Операция Group. Закрашено неправильно. Должно быть как на рисунке "Операция ИЛИ".
Теперь попробуем случай, когда полигоны частично пересекаются.
Видно, что опять же И и ИЛИ выполняются и заливаются правильно. Операция НЕ в этом случае тоже залита правильно. Остальные операции, увы, неправильно. Причём, они залиты "наоборот".
Если полигоны вообще не пересекаются, все логические операции выполняются и заливаются правильно.
Констатируем, что пока можно смело использовать логические операции И, ИЛИ при любых раскладах, остальные при условии, что полигоны не пересекаются.