Вырезать алгоритм многоугольника
Я пытаюсь решить проблему, когда объект многоугольника, который пересекает точки минимума / максимума Y, должен быть разделен на части, таким образом, будет создан новый объект прямоугольника / многоугольника
Здесь отмеченный красным диапазон - это мои точки x1,y1 и x2,y2, и все, что находится внутри него, должно быть удалено, поля, отмеченные зеленым, - это новые объекты, которые должны быть созданы после удаления поля, отмеченного красным, проблема в том, что я не могу отслеживать, где "закрыть" вновь созданный прямоугольник. Мне нужен кто-то, чтобы предложить какой-то алгоритм или сделать ссылку на существующие алгоритмы.
1 ответ
Алгоритм легко сделать это: Сазерленд-Ходжман
Лучшим, но более сложным и вычислительно более дорогим алгоритмом является Weiler-Atherton
До сих пор я всегда использовал алгоритм Сазерленда-Ходжмана и никогда не сталкивался с какими-либо проблемами.