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 Matrix de um objeto hgtransform.

Exemplo

Transladar e escalar

T = makehgtform('translate', [1 2 3])
S = makehgtform('scale', 2);
M = T * S;
M * [1; 1; 1; 1]
Saída
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

Veja também

viewmtx rotate view pbaspect