Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
vikk
Зарегистрирован: 13.09.2006 Сообщения: 88
|
Добавлено: Чт Май 19, 2016 11:32 am Заголовок сообщения: Разбивка кривой |
|
|
Как можно выполнить программно преобразование кривой в полилинию, подобно стандартному инструменту Drop B-spline Curv.
Так понимаю, готовой функции нет.
Хотя бы общий подход, если кто сталкивался.
Создание кривой по точкам, например, - mdlBspline_catmullRomCurve ()
Спасибо |
|
Вернуться к началу |
|
|
beer
Зарегистрирован: 01.02.2006 Сообщения: 215 Откуда: Москва
|
Добавлено: Чт Май 19, 2016 12:35 pm Заголовок сообщения: |
|
|
В полилинию? или все таки LineString? Это не одно и тоже. Наиболе близким по смыслу к полилинии будет ComplexString на самом деле, потому что может как и полилиния совмещать в себе отрезки и дуги.
Но все же если я вас правильно понял, вы хотите все же получить из кривойц LineString. Любой TraversableElement (в том числе и Curve и бисплайн) Имеет метод PointAtDistance, увеличивая дистанцию в цикле вы получмите массив точек из которого потом построите желаемый LineString
в MDL это будет функция mdlElmdscr_pointAtDistance |
|
Вернуться к началу |
|
|
vikk
Зарегистрирован: 13.09.2006 Сообщения: 88
|
Добавлено: Пт Май 20, 2016 10:26 am Заголовок сообщения: |
|
|
Да, надо получить LineString. Хотя и ComplexString подойдет, без разницы. Нужен набор простых элементов.
Не ожидал, что mdlElmdscr_pointAtDistance() работает с кривыми, то что нужно.
Искал только среди функций mdlBspline_...()
Спасибо за подсказку.
С методами трудно у меня, только API MDL |
|
Вернуться к началу |
|
|
beer
Зарегистрирован: 01.02.2006 Сообщения: 215 Откуда: Москва
|
Добавлено: Пт Май 20, 2016 5:18 pm Заголовок сообщения: |
|
|
vikk писал(а): |
Не ожидал, что mdlElmdscr_pointAtDistance() работает с кривыми, то что нужно.
|
Он еше и с шейпами работает, и с дугами и элипсамии. Вообще со всем к чему применимо понятие "дистанция от начала" |
|
Вернуться к началу |
|
|
|