У меня есть два набора трехмерных точек (оригинал и реконструированный) и соответствующая информация о парах - точка из одного набора представляет вторую. Мне нужно найти 3D-трансляцию и коэффициент масштабирования, который преобразует реконструированный набор, так что сумма квадратных расстояний будет наименьшей (вращение тоже было бы неплохо, но точки вращаются одинаково, поэтому это не главный приоритет и может быть опущено ради простоты и скорость). И поэтому мой вопрос - это разрешено и доступно где-то в Интернете? Лично я бы использовал метод наименьших квадратов, но у меня мало времени (и хотя я немного хорош в математике, я не часто его использую, поэтому мне лучше избегать этого), поэтому я хотел бы использовать другое решение, если оно существует. Я предпочитаю решение в С++, например, используя OpenCV, но сам алгоритм достаточно хорош.
Если такого решения нет, я сам его вычислим, я не хочу так беспокоить вас.
РЕШЕНИЕ: (из ваших ответов)
Для меня это Kabsch alhorithm;
Базовая информация: http://en.wikipedia.org/wiki/Kabsch_algorithm
Общее решение: http://nghiaho.com/?page_id=671
ЕЩЕ НЕ РЕШЕН: Мне также нужен масштаб. Значения шкалы от SVD для меня непонятны; когда мне понадобится шкала около 1-4 для всех осей (оцененная мной), масштаб SVD составляет около [2000, 200, 20], что совсем не помогает.