Próbuję zrozumieć, jak używać, czego to wymaga, obliczyć jednorodną macierz transformacji.
Znam 2 punkty z 2 różnych ramek i 2 źródła z odpowiadających im ramek.
Ja, jak wygląda macierz transformacji, ale mylące jest to, w jaki sposób powinienem obliczyć (3×1) wektor pozycji, którego potrzebuje macierz. Jak rozumiem, ten wektor jest źródłem starej ramki w porównaniu do nowej ramki. Ale jak to obliczyć, oczywistą odpowiedzią (myślę) byłoby odjęcie obu ($ O_ {nowe} – O_ {stare} $), ale nie wydaje się to właściwe.
Wiem, że to proste pytanie, ale moja głowa nie może obejść tego problemu i jak mogę to udowodnić we właściwy sposób, korzystając z informacji, które znam?
Odpowiedź
Jednorodna macierz transformacji $ H $ jest często używana jako macierz do wykonywania transformacji z jednej klatki do drugiej, wyrażona w poprzedniej klatce . Wektor translacji zawiera więc współrzędne [x, y (, z)] drugiej ramki wyrażone w pierwszej. Być może to już odpowiada na twoje pytanie, ale poniżej znajduje się bardziej szczegółowe wyjaśnienie.
Macierz transformacji zawiera informacje zarówno o rotacji, jak i translacji i należy do specjalnej grupy eucledowskiej $ SE (n) $ w $ n $ -RE. Składa się z macierzy rotacji $ R $ i wektora translacji $ r $. Jeśli nie pozwolimy na ścinanie, macierz rotacji zawiera tylko informacje o rotacji i należy do grupy ortonormalnej $ SO (n) $. Mamy:
$$ H = \ begin {bmatrix} R & r \\ \ bar {0} & 1 \ end {bmatrix} $$
Zdefiniujmy $ H ^ a_b $ macierz transformacji, która wyraża ramkę współrzędnych $ \ Phi_b $ w $ \ Phi_a $, wyrażoną w $ \ Phi_a $. $ \ Phi_a $ może być twoim źródłem, ale może to być również inna ramka.
Możesz użyć macierzy transformacji, aby wyrazić punkt $ p = [p_x \ p_y] ^ \ top $ (wektory) w innej ramce: $$ P_a = H ^ a_b \, P_b $$ $$ P_b = H ^ b_c \, P_c $$ z $$ P = \ begin {bmatrix} p \\ 1 \ end {bmatrix} $$ The Najlepsze jest to, że można je układać w stosy w następujący sposób: $$ P_a = H ^ a_b H ^ b_c \, P_c = H ^ a_c \, P_c $$ Tutaj mały przykład 2 D. Rozważ ramkę $ \ Phi_b $ przetłumaczoną $ [ 3 \ 2] ^ \ top $ i obrócono $ 90 ^ \ circ $ stopni względem $ \ Phi_a $. $$ H ^ a_b = \ begin {bmatrix} \ cos (90 ^ \ circ) & – \ sin (90 ^ \ circ) & 3 \\ \ sin (90 ^ \ circ) & \ cos (90 ^ \ circ) & 2 \\ 0 & 0 & 1 \ end {bmatrix} = \ begin {bmatrix} 0 & -1 & 3 \\ 1 & 0 & 2 \\ 0 & 0 & 1 \ end {bmatrix} $$ Punkt A $ p_b = [3 \ 4] ^ \ top $ wyrażony w ramce $ \ Phi_b $ to $$ \ begin {bmatrix} p_ {a, x} \\ p_ {a, y} \\ 1 \ end {bmatrix} = \ begin {bmatrix} 0 & -1 & 3 \\ 1 & 0 & 2 \\ 0 & 0 & 1 \ end {bmatrix} \ begin {bmatrix} 3 \\ 4 \\ 1 \ end {bmatrix} = \ begin {bmatrix} -1 \\ 5 \\ 1 \ end {bmatrix} \ to p_a = \ begin {bmatrix} -1 \\ 5 \ end {bmatrix} $$ Spróbuj narysować rysunek, aby poprawić swoje zrozumienie.