2013-03-12 4 views
1

У меня есть две матрицы вращения камеры R1 и R2. Оба они рассчитаны w.r.t. опорный кадр.Матрица вращения R1 w.r.t в другую матрицу, скажем R2

Моя конечная цель - выполнить стерео 3D-триангуляцию с использованием соответствующих функций из этих двух изображений.

Мой вопрос, учитывая две матрицы вращения R1 & R2 w.r.t в некоторой системе отсчета, как я могу вычислить матрицу «R», которая представляет поворот между первым и вторым кадрами?

Благодаря

+0

Это может быть очевидно, но я бы предпочел спросить, чем сделать предположения: 1) Что конкретно делает R1? Преобразует ли он оси общей системы отсчета в рамки камеры 1? Или что-то еще? 2) Что должен делать R? Должен ли он преобразовывать оси frame1 в frame2? Что еще более важно, какова система отсчета, в которой должны быть выражены указанные оси? –

+0

При заданной системе отсчета R1 является компонентом вращения первой камеры w.r.t. ссылка pt. Учитывая: точка X в системе отсчета, она будет R1 * X в первом кадре камеры. Аналогично для R2. R должен быть вращением 2-й камеры относительно первой камеры. Обратитесь к ответу @ user502144. Это то, чего я хотел. благодаря –

ответ

6

Если R1 представл ет собой компонент, вращение первой матрицы камеры и R2 - второго, то второй кадр камеры поворачивается на R2 * Inv (R1) относительно первого кадра камеры. I.e, учитывая точку X в первом кадре, это будет R2 * inv (R1) * X во втором кадре.