Преобразовать матрицу вращения вокруг одна система координат в другую

У меня есть плоскость, определенная с вектором центральной точки и 3 ортогональными единичными векторами ориентации в мировой системе координат (wcs), настроенная как матрица 3x3. Я определил матрицу вращения относительно системы координат этой плоскости, и теперь я хочу выяснить соответствующую матрицу вращения в мировой системе координат, которая соответствует этому вращению. То есть мне нужна новая матрица вращения, которая может быть применена к объектам в wcs, чтобы соответствовать вычисленному мной вращению относительно моей плоскости.

Я подумал взять инверсию матрицы плоскости (замененную операцией транспонирования, поскольку моя плоскость является ортогональный) и умножьте его на матрицу вращения, чтобы получить эквивалентное вращение в мировой системе координат. Это кажется неправильным, потому что:

Моя плоскость представляет собой небольшое возмущение от wcs плюс поворот на 90 градусов вокруг оси y примерно: 0 0 -1 0 1 0 1 0 0 и вращение вокруг него - небольшое возмущение единичной матрицы. Я ожидал, что это небольшое вращение будет соответствовать небольшому вращению в wcs, но каким-то образом я получаю вращение на 90 градусов от брошенной туда плоскости. В чем я ошибся в расчетах и ​​как правильно это сделать?

5
задан MattTheCodeMonkey 20 May 2011 в 16:20
поделиться