Я искал известный алгоритм, который идентифицирует «наиболее релевантные» вершины 2D-многоугольника. Возможно, я использую неправильные ключевые слова (я пытался найти для меня sh алгоритмы упрощения), но я пока не нашел ничего полезного.
Я должен определить, что я имею в виду под "наиболее релевантным" "вершины с некоторым контекстом. Я хочу взять 2D-многоугольник, применить геометрическое преобразование и визуализировать предварительно преобразованные и пост-преобразованные полигоны с отображением между вершинами, чтобы визуализировать эффекты преобразования. Однако с небольшими высокодетализированными полигонами (большое количество вершин на область) существует много «визуальных помех».
Идея состоит в том, что должен существовать алгоритм, который мог бы определять, какие вершины будут подходить для отображения а какие не будут. Я могу разработать такой алгоритм, принимая во внимание две вещи:
- Длина края: игнорировать вершину, если длина между ней и предыдущей меньше порога. Аккумулятор понадобится, чтобы избежать игнорирования нескольких последующих вершин.
- Внутренний угол: игнорировать вершину, если внутренний угол в вершине выше порога. «Аккумулятор» был бы необходим, чтобы избежать игнорирования нескольких последовательных вершин.
Несмотря на то, что я, вероятно, могу реализовать такую вещь, я не люблю изобретать велосипед и решил спросить вас, встречались ли вы что-то вроде этого, которое могло бы реально решить другие проблемы, о которых я не думал (например, сложные многоугольники).