У меня есть полилинейный контур, состоящий из отрезков и дуг окружностей, которые я хочу выдавливать на призмы.
Поскольку мои функции выдавливания поддерживают только многоугольники с прямыми кромками, мне нужно приблизить дугис использованием отрезков.
Дуги определяются через начальную точку, центральную точку и угол развертки (CCW).
Углы развертки, которые мне нужны для отображения в диапазоне от <10 ° до 179,9 °с радиусами в диапазоне от 0,3 мм до 300 мм. </p>
В настоящее время я вычисляю количество вершин дуг для вычисления и добавляю их в свой полигон простым способом: я просто помещаю вершину на каждый ммзаданная длина дуги.Хотя это работает, оно кажется очень неэффективным для дуг с большим радиусом и небольшим углом поворота.
Должен существовать алгоритм, который генерирует хорошие аппроксимации для всех видов дуг.Если есть, я хотел бы знать некоторые ключевые слова, чтобы сузить мой поиск в Google.