Вычисление угловой скорости по кватерниону
Автор: CyberZX
Если у вас вращение некоторого объекта задается кватернионом, и необходимо найти его угловую скорость, то это легко сделать, используя следующую формулу: 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)