Войти
ПрограммированиеПодсказкиГрафика

Вычисление угловой скорости по кватерниону

Автор:

Если у вас  вращение некоторого объекта задается кватернионом, и необходимо найти его угловую скорость, то это легко сделать, используя  следующую формулу: dq/dt = 0.5*w*q, где
q — кватернион, задающий поворот объекта, а w — вектор угловой скорости объекта

Вот пример того, как можно использовать эту формулу в программе

Object::Update( float deltatime )
{
       Quaternion rot = CalcNewRotation(deltatime); 
       Quaternion dq, w; 

       dq = (1/deltatime)*(rot - m_rot);
       w  = 2*dq*Inverse(rot);  // теперь первые три компоненты w
                                //содержат вектор угловой скорости
       m_rot = rot; 
       //.....
}

#кватернионы, #угловая скорость

26 октября 2007 (Обновление: 9 июня 2009)