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.

trvec2tform

Convertir un vector de traslación en una transformación homogénea

Descripción

ejemplo

tform = trvec2tform(trvec) convierte la representación cartesiana del vector de traslación trvec en la transformación homogénea correspondiente tform. Cuando use la matriz de transformación, premultiplíquela por las coordenadas que van a transformarse (en lugar de posmultiplicarla).

Ejemplos

contraer todo

trvec = [0.5 6 100];
tform = trvec2tform(trvec)
tform = 4×4

    1.0000         0         0    0.5000
         0    1.0000         0    6.0000
         0         0    1.0000  100.0000
         0         0         0    1.0000

Argumentos de entrada

contraer todo

La representación cartesiana de un vector de traslación, especificada 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]

Argumentos de salida

contraer todo

Transformación homogénea, devuelta 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. Cuando use la matriz de rotación, premultiplíquela con las coordenadas que van a girarse (en lugar de posmultiplicarla).

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

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]

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