Интерполяция между матрицами вращения

У меня есть 2 матрицы вращения (назовем их A и B), где: Очевидно, я не могу просто интерполировать значения в матрицах напрямую, потому что это выглядит странно. Я попытался преобразовать матрицы в углы Эйлера, что дает 2 набора углов X, Y, Z и попытался определить, какие углы использовать на основе минимального расстояния между каждым компонентом угла X, Y, Z. Это определенно приводит к такому вращению, которое я хочу, но я не могу придумать достойного способа определить, какие углы интерполировать между ними, потому что иногда наборы углов, которые приводят к наименьшей ошибке, приводят к вращению вокруг неправильной оси / осей. Я также пробовал кватернионы, но это дало мне тот же результат. Может ли кто-нибудь указать мне в правильном направлении?

12
задан genpfault 8 March 2012 в 20:58
поделиться