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.

tform2trvec

Extraer un vector de traslación de una transformación homogénea

Descripción

ejemplo

trvec = tform2trvec(tform) extrae la representación cartesiana del vector de traslación trvec a partir de una transformación homogénea tform. Los componentes de rotación de tform se ignoran. La transformación homogénea de entrada debe estar en la forma premultiplicada para transformaciones.

Ejemplos

contraer todo

tform = [1 0 0 0.5; 0 -1 0 5; 0 0 -1 -1.2; 0 0 0 1];
trvec = tform2trvec(tform)
trvec = 1×3

    0.5000    5.0000   -1.2000

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

La representación cartesiana de un vector de traslación, devuelta como una matriz de n por 2 si tform es un arreglo de 3 por 3 por n y una matriz de n por 3 si tform es un arreglo de 4 por 4 por n. n es el número de vectores de traslación. Cada vector tiene la forma [x y] o [x y z].

Ejemplo: [0.5 6 100]

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