makehgtform
Cria uma matriz de transformação 4-por-4 para translação, escala e rotação em 3-D.
Categoria: Graphics > Formatting and Annotation
Sintaxe
M = makehgtform('translate', [tx ty tz])
Translação pelas quantidades dadas.
M = makehgtform('scale', s)
Escala uniforme, ou [sx sy sz] para fatores diferentes.
M = makehgtform('xrotate', t)
Rotação de t radianos em torno do eixo x. 'yrotate' e 'zrotate' atuam nos outros eixos.
M = makehgtform('axisrotate', [ax ay az], t)
Rotação de t radianos em torno de um eixo arbitrário.
Descrição
A matriz atua sobre vetores coluna [x; y; z; 1]. Os valores de translação ficam na última coluna, os fatores de escala na diagonal e uma rotação preenche o bloco 3-por-3 superior esquerdo.
Várias transformações podem ser dadas em uma só chamada. Elas são combinadas, e as matrizes são multiplicadas de modo que a última listada é aplicada primeiro. O resultado também pode ser obtido multiplicando você mesmo as matrizes individuais.
Argumentos de entrada
t- Ângulo em radianos.
[tx ty tz]- Vetor de translação.
Argumentos de saída
M- Matriz de transformação homogênea 4-por-4, para uso como propriedade
Matrixde um objetohgtransform.
Exemplo
Transladar e escalar
T = makehgtform('translate', [1 2 3])
S = makehgtform('scale', 2);
M = T * S;
M * [1; 1; 1; 1]
T = 4×4
1 0 0 1
0 1 0 2
0 0 1 3
0 0 0 1
ans = 4×1
3
4
5
1