Jeg prøver å forstå hvordan jeg skal bruke, hva det krever beregne den homogene transformasjonsmatrisen.

Jeg kjenner to poeng fra 2 forskjellige rammer, og 2 opprinnelser fra de tilsvarende rammene.

Jeg hvordan transformasjonsmatrise ser ut, men det som forvirrer meg er hvordan jeg skal beregne (3×1) posisjonsvektoren som matrisen trenger. Som jeg forstår er denne vektoren en opprinnelse til den gamle rammen sammenlignet med den nye rammen. Men hvordan man skal beregne det, vil det åpenbare svaret (tror jeg) være å trekke begge deler ($ O_ {new} – O_ {old} $), men det føles ikke riktig.

Jeg vet at det er et enkelt spørsmål, men hodet mitt kan ikke komme rundt dette problemet, og hvordan kan jeg bevise det på riktig måte, med den informasjonen jeg vet?

Svar

En homogen transformasjonsmatrise $ H $ brukes ofte som en matrise for å utføre transformasjoner fra en ramme til en annen ramme, uttrykt i den tidligere rammen . Oversettelsesvektoren inkluderer således [x, y (, z)] koordinater for sistnevnte ramme uttrykt i førstnevnte. Kanskje dette allerede svarer på spørsmålet ditt, men nedenfor er en mer utførlig forklaring.

Transformasjonsmatrisen inneholder informasjon om både rotasjon og oversettelse og tilhører den spesielle eukledianske gruppen $ SE (n) $ i $ n $ -D. Den består av en rotasjonsmatrise $ R $ og oversettelsesvektor $ r $. Hvis vi ikke tillater skjæring, inneholder rotasjonsmatrisen bare informasjon om rotasjonen og tilhører den ortonormale gruppen $ SO (n) $. Vi har:

$$ H = \ begin {bmatrix} R & r \\ \ bar {0} & 1 \ end {bmatrix} $$

La oss definere $ H ^ a_b $ transformasjonsmatrisen som uttrykker koordinatrammen $ \ Phi_b $ i $ \ Phi_a $, uttrykt i $ \ Phi_a $. $ \ Phi_a $ kan være opprinnelsen din, men det kan også være en annen ramme.

Du kan bruke transformasjonsmatrisen til å uttrykke et punkt $ p = [p_x \ p_y] ^ \ top $ (vektorer) i en annen ramme: $$ P_a = H ^ a_b \, P_b $$ $$ P_b = H ^ b_c \, P_c $$ med $$ P = \ begynn {bmatrix} p \\ 1 \ end {bmatrix} $$ The det beste er at du kan stable dem på følgende måte: $$ P_a = H ^ a_b H ^ b_c \, P_c = H ^ a_c \, P_c $$ Her er et lite 2 D-eksempel. Vurder en ramme $ \ Phi_b $ oversatt $ [ 3 \ 2] ^ \ topp $ og rotert $ 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] ^ \ topp $ uttrykt i ramme $ \ 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 å lage en tegning for å forbedre forståelsen.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *