Как узнать среднюю скорость и ускорение безье сплайна? - PullRequest
2 голосов
/ 08 февраля 2012

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

Как мне это сделать?

Я найду его с точки зрения пикселей / сек и пикселей / кв.сек.а затем преобразовать его в м / с и м / с кв., как только пользователь предоставит пиксель-метрическое сопоставление.

Но как я получу скорость или акк, поскольку я не могу просто взять начальную и конечную точки?чтобы быть через эту кривую.

Ответы [ 2 ]

1 голос
/ 08 февраля 2012

Тьфу, оставьте пока пиксель / пол и пиксели / квадратные секунды в стороне.

Я предполагаю из вашего вопроса, что у вас есть график x-y с каким-то сплайном Безье, какой-то кривой, которая отображает путь во времени. Ось X обычно представляет время, а ось Y - путь (длина) с.

Скорость - это вывод длины с течением времени, а ускорение - ее получение. Вывод - это просто отношение dy / dx в (предпочтительно) близкой паре точек.

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

dy = y(i+1) - yi
dx = x(i+1) - xi
velocity = dy/dx

Таким образом, график скорости во времени будет построен на временной основе. То же самое касается ускорения, просто повторите процесс.

1 голос
/ 08 февраля 2012

Вам необходимо дифференцировать кривую один раз относительно временного измерения на вашем графике (здесь я предполагаю, что ось x / горизонтальная ось представляет время; ось y / вертикальная ось представляет пройденное расстояние), чтобы получить локальную скоростьсоставная часть.Дифференцируйте дважды по отношению к одному и тому же временному измерению, чтобы получить ускорение в данной точке.Это в основном выработка градиента в каждой точке вдоль кривой для скорости и градиента скорости для получения скорости изменения скорости, а именно ускорения.

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

...