любые три точки, не лежащие на одной прямой, определяют плоскость, на самом деле, достаточно будет трёх точек, по сути (у тебя три степени свободы). четвёртая будет просто вычисляться из остальных. важно, чтобы точки изображений были не на одной прямой.
если система невырожденная - ты из трёх точек получишь уравнение плоскости. в итоге, получится два уравнения - для двух плоскостей: начальной и конечной.
углы между проекциями плоскостей на выбранные фиксированные оси координат и будут твоими альфа, скью и прочее (это уже привязка к конкретной системе координат). а масштаб можно будет вычислить после поворота конечного изображения в плоскость исходного - умножения на транспонированную матрицу поворота плоскостей (если я правильно помню алгебру) и измерения соотношения расстояний между любыми двумя точками на оригинальном изображении и на конечном, после проведённой нормализации.
как-то так примерно.
вообще, вся эта математика обычно описывается в книжках про рендеринг. там именно такие задачи встречаются. я давно читала про это, просто ужасно давно. примерно помню, что суть там в том, что выписываются матрицы,которые описывают одновременно поворот на углы a,b и с и растяжение - как "четвёртую координату".
можешь, кстати, посмотреть в сторону функций OpenGL - там скорее всего всё это уже реализовано. что-нибудь в духе
http://steps3d.narod.ru/tutorials/render-r...n-tutorial.htmlP.S. да, и всё-таки: аФФинные преобразования - с двумя Ф. а то глаз режет