Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. 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

ejemplo

rotm = tform2rotm(tform) extrae el componente rotativo de una transformación homogénea, tform, y lo muestra como una matriz de rotación ortonormal, rotm. Los componentes de traslación 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).

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 un arreglo 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énea 2D tienen el formato:

T=[r11r12t1r21r22t2001]

Las matrices de transformación homogénea 3D tienen el formato:

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 por 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 2D tienen el formato:

R=[r11r12r21r22]

Las matrices de rotación 3D tienen el formato:

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 2D tienen una rotación θ sobre el eje z:

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

, y una traslación en los ejes x e y:

t=[xy]

, lo que resulta en la matriz de transformación 2D con el formato:

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

Transformaciones 3D

Las transformaciones 3D contienen información sobre 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 multiplicarse, se convierten 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 en los ejes x, y y z:

t=[xyz]

, lo que resulta en una matriz de transformación 3D con el formato:

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