Рассчитать матрицу преобразования из трех трехмерных точек

У меня есть 3D-система координат, в которой я отслеживаю три внешние точки с помощью 3D-камеры.
Итак, у меня есть три точки в (x, y, z) пространстве.
В следующем кадре я снова отслеживаю эти три точки.
Я использую первые три пункта в качестве исходной ситуации. Теперь мне нужно составить матрицу преобразования, которая дает мне перевод, вращение и масштабирование вторых 3-х точек по сравнению с начальной позицией.

Сейчас я не очень знаю, как это сделать.
Есть ли способ сделать матрицу преобразования напрямую или мне сначала нужно составить матрицу преобразования, поворота и масштабирования, а затем создать матрицу преобразования из этих трех?

Я работаю в C ++ с OpenCV и QT.
У кого-нибудь есть предложения? Мне не обязательно нужен полный рабочий пример, все, что может мне помочь, приветствуется.

Спасибо!
J

3

Решение

это руководство выглядит довольно красиво (то, что вы ищете, называется аффинное преобразование)!

1

Другие решения

Вы можете просмотреть преобразование из старых позиций в новые позиции в виде системы уравнений, где неизвестные являются элементами матрицы. Решение этой системы даст вам матрицу.

1