|a11 a12 a13|Матрица преобразования A = |a21 a22 a23| |a11 a12 a13||u v| * |a21 a22 a23| = |x y z| = |u*a11+v*a21, u*a12+v*a22, u*a13+v*a2|теперь имея две известные пары точек:(u1,v1) -> (x1,y1,z1) (u2,v2) -> (x2,y2,z2) Получаем 3 системы уравнений:u1*a11+v1*a21 = x1 u2*a11+v2*a21 = x2 u1*a12+v1*a22 = y1 u2*a12+v2*a22 = y2 u1*a13+v1*a23 = x1 u2*a13+v2*a23 = x2 ===================Решаем первую:u1*a11+v1*a21 = x1 u2*a11+v2*a21 = x2 a11 = (x1-v1*a21)/u1 = (x2-v2*a21)/u2a21 = (x1-u1*a11)/v1 = (x2-u2*a11)/v2u2*x1-u2*v1*a21 = u1*x2-u1*v2*a21u1*v2*a21-u2*v1*a21 = u1*x2-u2*x1 Получаем:a21 = (u1*x2-u2*x1)/(u1*v2-u2*v1)a11 = (v1*x2-v2*x1)/(v1*u2-v2*u1)Аналогично с двумя оставшимися системами===================Но это видимо без переноса и сдвига.===================Если 2D прямогольник в начале координат(3D естественно тоже), то упрощаем:2D прямогольник задается {(u1,v1);(u2,v2)} -> {(0,h);(w,0)} - где: h-высота, w-ширинаa21 = (u1*x2-u2*x1)/(u1*v2-u2*v1)a11 = (v1*x2-v2*x1)/(v1*u2-v2*u1)a21 = (0*x2-w*x1)/(0*0-w*h)a11 = (h*x2-0*x1)/(h*w-0*0)a21 = x1/ha11 = x2/w |x2/w y2/w z2/w|A = |x1/h y1/h z1/h| ===================x = u*x2/w + v*x1/h;y = u*y2/w + v*y1/h;z = u*z2/w + v*z1/h;