Представьте, что у вас есть глобальная трехмерная система координат, произвольная локальная система координат 1 и произвольная локальная система координат 2.
Доступны две матрицы поворота, которые определяют повороты локальной системы координат 1 (R1) и локальной системы координат 2 (R2) относительно глобальной системы координат.
Как я могу выразить вращение локальной системы координат 1 относительно локальной системы координат 2? Я пробовал с решением по ссылке ниже, но не получил ожидаемых результатов.
https://stackoverflow.com/questions/19621069/3d-rotation-matrix-rotate-to-another-reference-system
Заранее спасибо.
Позволять описать вращение из глобальной системы координат в первую локальную систему координат, и описывают поворот из глобальной системы координат во вторую локальную систему координат.
Затем, описывает поворот от первой локальной системы координат обратно к глобальной системе координат, и описывает поворот из второй локальной системы координат обратно в глобальную систему координат.
Когда матрица - чистая матрица вращения, она ортонормирована, а обратная ей транспонирована, .
Предположим, используется правое или постумножение между матрицами и векторами. Это означает, что если вектор в глобальной системе координат соответствует вектору в первой локальной системе координат, и к вектору во второй локальной системе координат, то
Мы рассматриваем только векторы-столбцы, т.е. .
Мы рассматриваем только чистые матрицы вращения и отражения, т. е. ортонормированные матрицы, для которых , и является обратным вращением на .
Мы используем правое или постумножение векторов для умножения матрицы на вектор. Это означает, что для поворота вектора по матрице , получаем результат, или повернутый вектор , с использованием .
Мы можем связать вращения, умножив матрицы вращения. Если матрицы ортонормированы, результат также ортонормирован. Первое вращение — самая правая матрица в произведении, а последнее вращение — самая левая матрица в произведении.
Чтобы вычислить вращение между двумя локальными системами координат, мы «раскручиваем» вращения начальной системы координат, используя обратные матрицы вращения в обратном порядке, за которыми следуют матрицы вращения в нормальном порядке от глобальной системы координат до целевой локальной системы координат.
В качестве примера предположим, что у нас есть две локальные системы координат, повороты которых относительно глобальной системы координат равны и , и у нас есть еще две локальные системы координат, и поверх (или относительно) , и еще две локальные системы координат и поверх (или относительно) .
Другими словами, вектор в глобальной системе координат соответствует:
Обратите внимание, что мы могли бы написать , но с тех пор (тождественная матрица; «без изменений») для ортонормированных матриц мы можем опустить тождественную часть или часть «без изменений» и просто использовать .