Тема: Прогонка полилинии с дугами через матрицу трансформации

Уважаемые знатоки.

Подскажите пожалуйста возможно ли прогнать полилинию через некую матрицу трансформации, если полилиния будет иметь дуги. Насколько коректным будет результат? Какими средствами пользоватся.

В данный момент я пользовался таким методом:
- беру каждую точку вершини полилинии и проганяю ее через матрицу трансформации, и устанавливаю полученные данные в эту ж точку.
Этот метод плохой так как не учитываются дуги (bulge).

При разных масштабах матрицы вертикального и горизонтального результат очень не удовлетворяет.

Подскажите пожалуйста как это сделать с меньшей кровью.

Были идеи перевести полилинию в блок и уже блок прогнать через матрицу трансформации, взорвать полилинию и отдельно проганять все, а в место дуг проганять сплайны...

(изменено: Александр Ривилис, 28 августа 2009г. 17:24:27)

Re: Прогонка полилинии с дугами через матрицу трансформации

Если разные масштабы по X и Y дуга в общем случае превращается в эллиптическую дугу, т.е. не может быть элементом полилинии. Отсюда дальше делай выводы.

Были идеи перевести полилинию в блок и уже блок прогнать через матрицу трансформации, взорвать полилинию и отдельно проганять все, а в место дуг проганять сплайны...

Можно и так. А можно сразу расчленить и для линейных сегментов трансформировать начальную и конечную точки, а дуги превратить в эллиптические дуги (AcDbEllipse) и их трансформировать по матрице преобразования.

Re: Прогонка полилинии с дугами через матрицу трансформации

Мне приходится делать такие преобразования, но написал всю математику целиком, т.е. я не применяю матрицу, а вычисляю весь будущий контур и аппроксимирую его дугами. Целиком, задача звучит так: необходимо размножить узор, вдоль произвольной полилинии, имеющей дуговые сегменты...

ps. Если не очень понятно, в понедельник выложу скриншот.

Re: Прогонка полилинии с дугами через матрицу трансформации

Спасибо за советы. Буду пробовать разными методами...
Надеюсь получится