Вырезать алгоритм многоугольника

Я пытаюсь решить проблему, когда объект многоугольника, который пересекает точки минимума / максимума Y, должен быть разделен на части, таким образом, будет создан новый объект прямоугольника / многоугольника

Здесь отмеченный красным диапазон - это мои точки x1,y1 и x2,y2, и все, что находится внутри него, должно быть удалено, поля, отмеченные зеленым, - это новые объекты, которые должны быть созданы после удаления поля, отмеченного красным, проблема в том, что я не могу отслеживать, где "закрыть" вновь созданный прямоугольник. Мне нужен кто-то, чтобы предложить какой-то алгоритм или сделать ссылку на существующие алгоритмы.

1 ответ

Решение

Алгоритм легко сделать это: Сазерленд-Ходжман

Лучшим, но более сложным и вычислительно более дорогим алгоритмом является Weiler-Atherton

До сих пор я всегда использовал алгоритм Сазерленда-Ходжмана и никогда не сталкивался с какими-либо проблемами.

Другие вопросы по тегам