Main Content

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

tform2rotm

Extraiga una matriz de rotación de una transformación homogénea

Descripción

rotm = tform2rotm(tform) extrae el componente rotacional de una transformación homogénea, tform, y lo devuelve como una matriz de rotación ortonormal, rotm. Los componentes traslacionales de tform se ignoran. La transformación homogénea de entrada debe presentarse en forma de premultiplicación para transformaciones. Cuando use la matriz de rotación, premultiplíquela con las coordenadas que van a girarse (en lugar de posmultiplicarla).

ejemplo

Ejemplos

contraer todo

tform = [1 0 0 0; 0 -1 0 0; 0 0 -1 0; 0 0 0 1];
rotm = tform2rotm(tform)
rotm = 3×3

     1     0     0
     0    -1     0
     0     0    -1

Argumentos de entrada

contraer todo

Transformación homogénea, especificada como un arreglo de 3 por 3 por n o una matriz de 4 por 4 por n . n es el número de transformaciones homogéneas. La transformación homogénea de entrada debe estar en la forma premultiplicada para transformaciones.

Las matrices de transformación homogéneas 2-D tienen la forma:

T=[r11r12t1r21r22t2001]

Las matrices de transformación homogéneas tridimensionales tienen la forma:

T=[r11r12r13t1r21r22r23t2r31r32r33t30001]

Ejemplo: [0 0 1 0; 0 1 0 0; -1 0 0 0; 0 0 0 1]

Argumentos de salida

contraer todo

Matriz de rotación, devuelta como un arreglo de 2 por 2 n o un arreglo de 3 por 3 por n que contiene n matrices de rotación. Cada matriz de rotación del arreglo tiene un tamaño de 2 por2 o de 3 por 3 y es ortonormal. Cuando use la matriz de rotación, premultiplíquela con las coordenadas que van a girarse (en lugar de posmultiplicarla).

Las matrices de rotación 2-D tienen la forma:

R=[r11r12r21r22]

Las matrices de rotación tridimensionales tienen la forma:

R=[r11r12r13r11r22r23r31r32r33]

Ejemplo: [0 0 1; 0 1 0; -1 0 0]

Más acerca de

contraer todo

Matrices de transformación homogénea

Las matrices de transformación homogénea constan de una rotación ortogonal y una traslación.

Transformaciones 2D

Las transformaciones 2-D tienen una rotación θ sobre el eje z:

Rz(θ)=[cosθsinθsinθcosθ]

, y una traslación a lo largo del eje x y y :

t=[xy]

, dando como resultado el 2 -D matriz de transformación de la forma:

T=[Rt01×21]=[I2t01×21]·[R001×21]

Transformaciones 3D

Las transformaciones 3-D contienen información sobre tres rotaciones alrededor de los ejes x, y y z:

Rx(ϕ)=[1000cosϕsinϕ0sinϕcosϕ],Ry(ψ)=[cosψ0sinψ010sinψ0cosψ],Rz(θ)=[cosθsinθ0sinθcosθ0001]

y después de multiplicar se convierte en la rotación sobre los ejes xyz:

Rxyz=Rx(ϕ)Ry(ψ)Rz(θ)=[cosϕcosψcosθsinϕsinθcosϕcosψsinθsinϕcosθcosϕsinψsinϕcosψcosθ+cosϕsinθsinϕcosψsinθ+cosϕcosθsinϕsinψsinψcosθsinψsinθcosψ]

y una traslación a lo largo de x-, y-, y z-eje:

t=[xyz]

, lo que da como resultado la matriz de transformación 3-D de la forma:

T=[Rt01x31]=[I3t01x31]·[R001x31]

Capacidades ampliadas

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Historial de versiones

Introducido en R2015a

expandir todo

Consulte también

| | | |