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