Jeg prøver at forstå, hvordan man bruger, hvad det kræver beregner den homogene transformationsmatrix.
Jeg kender 2 point fra 2 forskellige rammer og 2 oprindelse fra deres tilsvarende rammer.
Jeg hvordan transformationsmatrix ser ud, men hvad der forvirrer mig er, hvordan jeg skal beregne (3×1) positionsvektoren, som matrixen har brug for. Som jeg forstår er denne vektor en oprindelse for den gamle ramme sammenlignet med den nye ramme. Men hvordan man beregner det, det oplagte svar (tror jeg) ville være at trække begge dele ($ O_ {new} – O_ {old} $), men det føles ikke rigtigt.
Jeg ved, det er et simpelt spørgsmål, men mit hoved kan ikke komme omkring dette problem, og hvordan kan jeg bevise det på den rigtige måde med de oplysninger, jeg kender?
Svar
En homogen transformationsmatrix $ H $ bruges ofte som en matrix til at udføre transformationer fra en ramme til en anden ramme, udtrykt i den tidligere ramme . Translationsvektoren inkluderer således [x, y (, z)] – koordinater for sidstnævnte ramme udtrykt i førstnævnte. Måske svarer dette allerede på dit spørgsmål, men nedenfor er en mere detaljeret forklaring.
Transformationsmatrixen indeholder oplysninger om både rotation og oversættelse og tilhører den specielle eukledianske gruppe $ SE (n) $ i $ n $ -D. Den består af en rotationsmatrix $ R $ og oversættelsesvektor $ r $. Hvis vi ikke tillader forskydning, indeholder rotationsmatrixen kun information om rotation og tilhører den ortonormale gruppe $ SO (n) $. Vi har:
$$ H = \ begin {bmatrix} R & r \\ \ bar {0} & 1 \ end {bmatrix} $$
Lad os definere $ H ^ a_b $ transformationsmatrixen, der udtrykker koordinatrammen $ \ Phi_b $ i $ \ Phi_a $, udtrykt i $ \ Phi_a $. $ \ Phi_a $ kan være din oprindelse, men det kan også være en anden ramme.
Du kan bruge transformationsmatrixen til at udtrykke et punkt $ p = [p_x \ p_y] ^ \ top $ (vektorer) i en anden ramme: $$ P_a = H ^ a_b \, P_b $$ $$ P_b = H ^ b_c \, P_c $$ med $$ P = \ begynder {bmatrix} p \\ 1 \ end {bmatrix} $$ The det bedste er, at du kan stable dem som følger: $$ P_a = H ^ a_b H ^ b_c \, P_c = H ^ a_c \, P_c $$ Her er et lille 2 D. eksempel. Overvej en ramme $ \ Phi_b $ oversat $ [ 3 \ 2] ^ \ top $ og roteret $ 90 ^ \ circ $ grader med hensyn til $ \ 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} $$ Et punkt $ p_b = [3 \ 4] ^ \ top $ udtrykt i rammen $ \ Phi_b $ er $$ \ 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} \ til p_a = \ begin {bmatrix} -1 \\ 5 \ end {bmatrix} $$ Prøv at lave en tegning for at forbedre din forståelse.