Я просматривал этот алгоритм, и он кажется довольно простым. Однако я не понимаю, как использовать его в закрытых полигонах. ВСЕ примеры, которые я видел, имеют дело с линией/кривой с открытыми концами. Если я визуализирую процесс, правильно рисуя одну линию, а затем повторяя ее, чтобы повторно захватить детали многоугольника, это не сработает, потому что он всегда будет оставлять по крайней мере одну сторону многоугольника открытой.
Я думаю о написании реализации, которая сначала делает 4 точки (самые дальние точки topLeft, TopRight, Bottomright и BottomLeft), а затем запускает алгоритм на вершинах между этими индексами точек.
Поэтому, если нижняя строка имеет индекс 40 и 80 в исходном массиве путей, я буду выполнять итерацию и фиксировать подобие этой линии только в точках 40-80, а затем переходить на следующую сторону, пока все стороны не будут выполнены.
Известно, что я сам дурачился и слишком усложнял вещи, поэтому мне было интересно, была ли это разумной реализацией?
В основном я пытаюсь воспроизвести сокращение данных GPX, показанное ниже: