Библиотека для создания траекторий кубических сплайнов (не интерполяция)?

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

Если у вас есть:

  • начальные и конечные значения для У меня есть симуляция, которая использует кубические сплайны для одномерных траекторий. В этом контексте кубический сплайн определяет положение объекта, скорость, ускорение и рывок в зависимости от ...

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

    Если у вас есть:

    • начальные и конечные значения для У меня есть симуляция, которая использует кубические сплайны для одномерных траекторий. В этом контексте кубический сплайн определяет положение объекта, скорость, ускорение и рывок в зависимости от ...

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

      Если у вас есть:

      • начальные и конечные значения для положение, скорость, ускорение и время
      • постоянные ограничения на максимальная и минимальная скорость, ускорение и рывок

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

      На самом деле найти эти сплайны может быть королевской головной болью. В случае, если указано время, сплайн будет состоять максимум из 7 полиномов, а узлы (точки перехода между полиномами) заранее неизвестны.

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

      Существуют ли библиотеки, которые могут это сделать? Открытый исходный код, даже если он не построен в виде библиотеки? Предпочтительнее C, C ++, Java или Python, но если исходный код открыт, другие языки все равно будут полезны в качестве справочника.

13
задан skaffman 6 December 2010 в 00:29
поделиться