Совместные позиции для вращений - PullRequest
0 голосов
/ 14 сентября 2011

У меня следующая проблема: Мне нужно изменить положение скелетных суставов, из Kinect, до углов поворота стыка.

Ответы [ 2 ]

1 голос
/ 23 марта 2012
  1. рассматриваем каждое соединение как вектор.
  2. угол оси между двумя векторами (один в текущем кадре, взят из данных kinect. Один в начальной позе. Поскольку новый SDK не имеет начальногопозе, вам может потребоваться установить виртуальную позу в качестве начальной позы).
  3. кватернион вращения / матрица от угла оси

Дополнительная информация на этой странице .

1 голос
/ 16 сентября 2011

Если вы имеете в виду под «углом поворота» рассматривает три пары соединений,
Вы можете получить относительные углы поворота, но абсолютные углы следующим образом.
Скажем, суставы A, B и C


  • Вы можете определить треугольник (traingle ABC).
  • Затем вы можете назначить любое значение (скажем, R) в качестве одного из трех углов (например, угол ABC = R).
  • Поскольку у вас есть совместные позиции, вы можете рассчитать длину каждого «ребра» треугольника, используя формулу расстояния .
  • Используйте Правило косинуса (Cos) для вычисления относительных углов.
    (например, BAC = 0,2R, CAB = 3R и т. д.)

Так же, как вы можете получить изменение определенного угла, когда расстояние между двумя суставами постоянно (например: рассмотрим плечо - локоть и локоть - запястье). Первоначально угол ABC был R, а затем 1,02R, затем 1,3R .. и т. Д.

.
...