Zazwyczaj jest to transormation afiniczne punktów 2d experssed jak
x' = A*x
przypadku x
jest trzy wektor [x; y; 1]
pierwotnego położenia 2D i x'
jest transformowany punkt. Matryca affine A
jest
A = [a11 a12 a13;
a21 a22 a23;
0 0 1]
Ta forma jest przydatna, gdy x
i A
są wiadome i chcesz odzyskać x'
.
Można jednak wyrazić tę relację w inny sposób. Niech
X = [xi yi 1 0 0 0;
0 0 0 xi yi 1 ]
i a
jest wektorem Kolumna
a = [a11; a12; a13; a21; a22; a23]
Następnie
X*a = [xi'; yi']
prawdziwe dla wszystkich par punktów odpowiadających x_i, x_i'
.
Ta alternatywna forma jest bardzo przydatna, gdy wiesz, że korespondencja pomiędzy parami punktów i chcesz odzyskać paramters z A
.
Układanie wszystkich punktów w dużej macierzy X
(dwa rzędy dla każdego punktu) będzie mieć macierz 2 * n-by-6 X
namnażana przez 6-wektor niewiadomych a
jest równy wektorowi kolumn 2 * n-po-1 ułożonych odpowiednich punktów (oznaczonych x_prime
):
X*a = x_prime
rozwiązując a
:
a = X \ x_prime
odzyskuje parametry a
w sensie najmniejszych kwadratów.
Powodzenia i zatrzymać pomijając klasę!
@chappjc Jeśli tylko, że była taka sama klasa xD – DeeVu