Comments 18
Спасибо, а не подскажете примеры где это применимо на практике?
Сразу захотелось подумать в сторону того как сделать перестановку точек чтобы выбирать минимальную длину, но следующей мыслью было — если применимо для реальной задачи. А реальную задачу как-то и не придумать.
Сразу захотелось подумать в сторону того как сделать перестановку точек чтобы выбирать минимальную длину, но следующей мыслью было — если применимо для реальной задачи. А реальную задачу как-то и не придумать.
0
Автоматическое проектирование, геометрическое моделирование и тд.
Конкретно я буду использовать этот алгоритм для контроля геометрических характеристик цилиндрических алюминиевых слитков на одном из российский заводов. Есть лазерные датчики, которые дают множество точек поверхности, затем по этим точкам генерируется интерполяционная поверхность.
Конкретно я буду использовать этот алгоритм для контроля геометрических характеристик цилиндрических алюминиевых слитков на одном из российский заводов. Есть лазерные датчики, которые дают множество точек поверхности, затем по этим точкам генерируется интерполяционная поверхность.
+1
Смотрел на картинку до ката и только потом понял, что на ней написано Habr :)
+3
UFO just landed and posted this here
В этом примере ничего сложнее классических кубических сплайнов не используется, в документации scipy даны ссылки на классические книги
+1
UFO just landed and posted this here
Не пробовал. После вашего комментария за 10 минут накидал реализацию, так как много информации по ним. Удивлен.
Спасибо!
Спасибо!
+1
Поигрался с этим алгоритмом. Вполне рабочий, легкий в реализации. Но, к моей практической задачи не подошел из-за некоторых особенностей построения сплайна. Здесь исходники.
0
Спасибо.
Может кто подскажет ответ на вопрос по близкой тематике?
Есть набор точек (отсчеты АЦП), расположенных на кривой, несколько напоминающей вершинку синусоиды (но крутизна переднего и заднего фронтов разная). Хотелось бы интерполировать эту кривую и найти ее экстремум.
В сторону каких алгоритмов смотреть с учетом ограниченных вычислительных ресурсов (предполагается использование в микроконтроллере)?
Может кто подскажет ответ на вопрос по близкой тематике?
Есть набор точек (отсчеты АЦП), расположенных на кривой, несколько напоминающей вершинку синусоиды (но крутизна переднего и заднего фронтов разная). Хотелось бы интерполировать эту кривую и найти ее экстремум.
В сторону каких алгоритмов смотреть с учетом ограниченных вычислительных ресурсов (предполагается использование в микроконтроллере)?
0
А вы не подскажете, что вообще стоит почитать с точки зрения отрисовки кривых?
Интересуют не сколько конкретные алгоритмы, сколько база.
Хочется разобраться, чтобы понимать, что вообще происходит в этих алгоритмах и потом дорабатывать и писать новые под свои нужды.
Сейчас, например, передо мной стоит задача отрисовки кольца (то есть двух концентрических окружностей с заполнением пространства между ними). Сложность в том, что координаты центра не целочисленные, ширина кольца произвольная и тоже не целочисленная, и контуры должны быть сглаженными. Ничего из нагугливающихся стандартных алгоритмов не могу прикрутить к этой задаче.
В какую сторону читать и по каким словам гуглить?
И ещё не могу понять, как отрисовывать кривые Безье произвольной ширины со сглаживанием контуров.
Интересуют не сколько конкретные алгоритмы, сколько база.
Хочется разобраться, чтобы понимать, что вообще происходит в этих алгоритмах и потом дорабатывать и писать новые под свои нужды.
Сейчас, например, передо мной стоит задача отрисовки кольца (то есть двух концентрических окружностей с заполнением пространства между ними). Сложность в том, что координаты центра не целочисленные, ширина кольца произвольная и тоже не целочисленная, и контуры должны быть сглаженными. Ничего из нагугливающихся стандартных алгоритмов не могу прикрутить к этой задаче.
В какую сторону читать и по каким словам гуглить?
И ещё не могу понять, как отрисовывать кривые Безье произвольной ширины со сглаживанием контуров.
0
Лаконично и по делу! Спасибо, запомнил на будущее, может пригодится.
+1
Как раз на днях искал, что-то подобное про «рисование плавных траекторий». Увидел нечаянно это и осенило — похоже это что-то близкое к тому, что мне надо. Сам, хоть и будучи программистом, никогда не был силён в «высшей математике» (во всяких этих кривых, полях и прочих интеграллах), так что немного сомневаюсь… Вроде как и нужный результат у вашего алгоритма, но вроде как параметры другие.
Как вам кажется — годится ли подобный алгоритм для нахождения _плавной_ траектории между заданными координатами, и что бы траектория проходила по этим точкам? Или тут всё же другая история?
Смотрел про кривые Безье (как более часто встречаемые), так они неособо подошли — там суть в самих кривых, а не в траектории, проходящей через точки.
Как вам кажется — годится ли подобный алгоритм для нахождения _плавной_ траектории между заданными координатами, и что бы траектория проходила по этим точкам? Или тут всё же другая история?
Смотрел про кривые Безье (как более часто встречаемые), так они неособо подошли — там суть в самих кривых, а не в траектории, проходящей через точки.
0
Я бы по рабоче-крестьянски написал так: вводим систему координат (она по умолчанию у нас и так присутствует), параметризуем точки по каждой координате — то есть получаем массив иксов и массив игреков, к каждому из этих массивов добавляем массив параметра — можно равномерный шаг, можно пропорциональный расстоянию между точками на плоскости — и интерполируем эти 2 набора точек от параметра ЛЮБЫМ понравившимся нам способом с нужной степенью гладкости — хоть глобальным сплайном с непрерывными 0,1,2 производными, хоть локальным с непрерывными 0,1 — тот же Катмулл-Ром и прочие, имя им легион. Все, пробегаемся с любым шагом по параметру и получаем точки нашей гладкой кривой.
0
https://github.com/MatterHackers/agg-sharp
-1
Спасибо за статью. Тема и правда в сети освещена мало, инструментарий пригодится мне для интерполяции номограмм.
+1
Sign up to leave a comment.
Интерполяция замкнутых кривых