Наверное многие читатели скажут..”это дебри”, однако эта тема поднималась на нашем форуме не раз и не два (хотя может и два, больше ссылок не нашел, искать лень Рискну предположить, что ознакомиться с этим хорошо бы каждому, кто занимается привязкой данных не от случая к случаю. Потому как то, понимание того, что лежит в основе привязки, сильно экономит время и отвечает на вопросы “а чего это его так перекорежило”, “откуда эта клюшка” и, конечно, “как же мы тут проехали, если тут дороги нет..”. В общем, ответ простой, в 99% случае проблема в неправильно расставленных точках привязки. Ну эта статья разъясняет математическую составляющую.
Как обычно, давным давно лежали полузаконченные выводы формул и непроверенные расчеты полиномиальных преобразований. Но, то же как обычно, пришел и их черед и по иннициативе активно взывающих о помощи читателей, готовых идти в разборках до конца, формулы довыведены, проверены, забиты в Excel и R, работают! Можно использовать алгоритмы в своих программах, можно посмотреть как это считается, ну или просто отложить на подкорке “где-то это подробно описано”, чтобы при необходимости вернуться.
В эту статью, либо в отдельные статейки хорошо бы добавить следующие расширения:
- Тот же расчет для аффинного преобразования, правда его легко сделать на основе 2-го полинома, коэффициентов просто меньше, недаром аффинное это полином 1-й степени;
- Расчет для случаев, когда точек больше чем минимальное количество + вычисление ошибки, математика будет несколько другая;
- Ну и реализацию на каком-нибудь языке программирования неплохо было бы добавить.