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.

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 traducción trvec de la transformación homogénea tform. Se ignoran los componentes rotacionales de tform . 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 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

Representación cartesiana de un vector de traducción, devuelta como una matriz n-por-2 si tform de 3 por 3 por n arreglo $ y una matriz n-por-3 si tform es un arreglo de 4 por 4-por- n . n es el número de vectores de traducció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 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

| |