Я пытаюсь применить вращение, чтобы исправить положение камеры в моей настройке, поскольку одна из осей, кажется, выключена. Я подозреваю, что эта ось будет Z "мировой" рамки. Другими словами, мне нужно повернуть кадр "stereo_camera" вокруг оси Z "мирового кадра" на 90 градусов. Тогда все должно быть в порядке.
Я пытался использовать несколько библиотек Python и Octave для достижения этой цели, но мне не удалось. Каким-то образом умножение или способ выражения квотерниона, похоже, не соответствуют.
# Here is the current quarternion of "stereo_camera"
q = np.array([0.0, 0.70710678, 0.0, 0.70710678])
# Rotation matrix, 90 degrees around Z would be:
I = np.array([[0, -1, 0],[1,0,0],[0,0,1]])
# apply the transformation
q.dot(I)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: shapes (4,) and (3,3) not aligned: 4 (dim 0) != 3 (dim 0)
Есть ли кто-нибудь, кто мог бы предложить мне хороший пакет Python, который может справиться с такими ситуациями, с минимальным примером? Не должно быть трудно применить 1 единственный оборот к четвертиону.