Estou tentando entender como usar, o que requer para calcular a matriz de transformação homogênea.
Eu conheço 2 pontos de 2 quadros diferentes e 2 origens de seus quadros correspondentes.
Eu vejo como a matriz de transformação se parece, mas o que está me confundindo é como devo calcular o vetor de posição (3×1) de que a matriz precisa. Pelo que entendi, esse vetor é uma origem do quadro antigo em comparação com o novo. Mas como calculá-lo, a resposta óbvia (eu acho) seria subtrair ambos ($ O_ {novo} – O_ {velho} $), mas não parece certo.
Sei que é uma pergunta simples, mas minha cabeça não consegue contornar esse problema, e como posso provar isso da maneira certa, com as informações que sei?
Resposta
Uma matriz de transformação homogênea $ H $ é freqüentemente usada como uma matriz para realizar transformações de um quadro para outro, expressa no quadro anterior . O vetor de translação, portanto, inclui coordenadas [x, y (, z)] do último quadro expresso no primeiro. Talvez isso já responda à sua pergunta, mas abaixo está uma explicação mais elaborada.
A matriz de transformação contém informações sobre rotação e translação e pertence ao grupo euclediano especial $ SE (n) $ em $ n $ -D. Consiste em uma matriz de rotação $ R $ e um vetor de translação $ r $. Se não permitirmos nenhum cisalhamento, a matriz de rotação contém apenas informações sobre a rotação e pertence ao grupo ortonormal $ SO (n) $. Temos:
$$ H = \ begin {bmatrix} R & r \\ \ bar {0} & 1 \ end {bmatrix} $$
Vamos definir $ H ^ a_b $ a matriz de transformação que expressa o quadro de coordenadas $ \ Phi_b $ em $ \ Phi_a $, expressa em $ \ Phi_a $. $ \ Phi_a $ pode ser sua origem, mas também pode ser um outro quadro.
Você pode usar a matriz de transformação para expressar um ponto $ p = [p_x \ p_y] ^ \ top $ (vetores) em outro quadro: $$ P_a = H ^ a_b \, P_b $$ $$ P_b = H ^ b_c \, P_c $$ com $$ P = \ begin {bmatrix} p \\ 1 \ end {bmatrix} $$ The a melhor parte é que você pode empilhá-los da seguinte maneira: $$ P_a = H ^ a_b H ^ b_c \, P_c = H ^ a_c \, P_c $$ Aqui, um pequeno exemplo 2 D. Considere um quadro $ \ Phi_b $ traduzido $ [ 3 \ 2] ^ \ top $ e girado $ 90 ^ \ circ $ graus em relação a $ \ 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} $$ A ponto $ p_b = [3 \ 4] ^ \ top $ expresso no quadro $ \ Phi_b $ é $$ \ 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} $$ Tente fazer um desenho para melhorar seu entendimento.