Немного фона. У меня есть симуляция, которая использует кубические сплайны для одномерных траекторий. В этом контексте кубический сплайн определяет положение объекта, скорость, ускорение и рывок как функцию времени.
Если у вас есть:
Немного фона. У меня есть симуляция, которая использует кубические сплайны для одномерных траекторий. В этом контексте кубический сплайн определяет положение объекта, скорость, ускорение и рывок как функцию времени.
Если у вас есть:
Немного фона. У меня есть симуляция, которая использует кубические сплайны для одномерных траекторий. В этом контексте кубический сплайн определяет положение объекта, скорость, ускорение и рывок как функцию времени.
Если у вас есть:
, то есть единственный сплайн. Если вы не укажете окончательное время, а вместо этого захотите использовать траекторию с минимальным временем, тогда есть еще и уникальный сплайн.
На самом деле найти эти сплайны может быть королевской головной болью. В случае, если указано время, сплайн будет состоять максимум из 7 полиномов, а узлы (точки перехода между полиномами) заранее неизвестны.
Это не обычный случай подгонки сплайна к набор данных, он создает сплайны из граничных условий и некоторых дополнительных ограничений. Я читал статьи, в которых люди использовали похожие схемы и имели аналогичные потребности, но я никогда не находил библиотек (или даже исходного кода), которые занимались бы созданием сплайнов такого рода. Я написал код, который обрабатывает большинство случаев, но это не так. t ужасно надежный или быстрый. Я не очень беспокоюсь о том, что это будет быстро, но было бы здорово.
Существуют ли библиотеки, которые могут это сделать? Открытый исходный код, даже если он не построен в виде библиотеки? Предпочтительнее C, C ++, Java или Python, но если исходный код открыт, другие языки все равно будут полезны в качестве справочника.