Минимизировать RMSD между двумя наборами точек - PullRequest
4 голосов
/ 25 января 2010

Мне нужно построить график преобразования трехмерного объекта во времени. У меня есть трехмерные фигуры для каждого момента времени, но они не гарантируют, что они будут геометрически правильно размещены, поэтому я не могу просто их визуализировать и соединить фотографии в один фильм. Поэтому мне нужно выровнять их так, чтобы они были приятно и последовательно ориентированы по отношению к камере.

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

Я работаю в Python, но подойдет любой код, и я его преобразую.

Ответы [ 2 ]

3 голосов
/ 25 января 2010

Алгоритм Кабша делает это. Смотри: http://en.wikipedia.org/wiki/Kabsch_algorithm.

1 голос
/ 25 января 2010

Похоже, мне нужен алгоритм Кабша .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...