2012-05-02 2 views
-1

У меня есть приложение, которое использует устройство камеры Microsoft Kinect.Kinect - как вычислить ускорение суставов рук за 1 секунду

В каждой точке я могу получить положение моей руки в 3-мерном пространстве (X - Y - Z), и я хочу вычислить ускорение моей руки каждую секунду на каждой оси.

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

StartPoint - (x1, y1, z1)

EndPoint after 1 sec from StartPoint (30 frames) - (x2, y2, z2)

Acceleration between StartPoint and EndPoint = ?

Также я могу получить все другие координаты моей стороны в течение долгого времени, но я хочу, чтобы вычислить ускорение в период времени между начальной точкой и концом точка.

Не могли бы вы объяснить или показать мне, как?

+1

Это не вопрос Kinect. Это основной математический/физический вопрос. Ответ заключается в том, что вы не можете предоставить свою информацию. Ускорение (а) - изменение скорости (v) со временем (a = dv/dt), поэтому вам нужны два измерения скорости, поэтому a = (v1-v0)/(t1-t0). У вас нет двух измерений скорости, у вас есть два измерения положения, то есть вы можете рассчитать скорость, v = dp/dt = (p1-p0)/(t1-t0). – mankoff

+0

Вот почему я упомянул, что у меня есть kinect. С помощью kinect я могу получить положение своих суставов каждую секунду. Кроме того, он вычисляет положение вашего сустава в каждом кадре, учитывая тот факт, что 1 секунда имеет 30 кадров. Таким образом, у меня много места, не только те 2. Я упомянул эти 2, потому что я хочу вычислить ускорение между ними. – Simon

+0

Я вижу ваше сообщение на сайте физики SX. Пожалуйста, не публикуйте дубликаты. – mankoff

ответ

3

Расстояние от StartPoint до конечной точки является вектором с 3 значениями, и он может дает скорость (расстояние единство/второй)

velocity(EndPoint.X - StartPoint.X, EndPoint.Y - StartPoint.Y, EndPoint.Z - StartPoint.Z)

Теперь, если вы хотите ускорение, вы будете должны делать то же самое с двумя значениями :: скорость в начальной точке и скорость через секунду.

acceleration(EndVelocity.X - StartVelocity.X, EndVelocity.Y - StartVelocity.Y, EndVelocity.Z - StartVelocity.Z)

ускорение представляет собой ускорение для каждой оси (X, Y и Z) и выражается в единстве (расстояние/second²)

Смежные вопросы