Main Content

tform2trvec

Extract translation vector from homogeneous transformation

Description

example

trvec = tform2trvec(tform) extracts the Cartesian representation of the translation vector trvec from the homogeneous transformation tform. The rotational components of tform are ignored. The input homogeneous transformation must be in the premultiplied form for transformations.

Examples

collapse all

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

Input Arguments

collapse all

Homogeneous transformation, specified as a 3-by-3-by-n array or 4-by-4-by-n array. n is the number of homogeneous transformations. The input homogeneous transformation must be in the premultiplied form for transformations.

2-D homogeneous transformation matrices are of the form:

T=[r11r12t1r21r22t2001]

3-D homogeneous transformation matrices are of the form:

T=[r11r12r13t1r21r22r23t2r31r32r33t30001]

Example: [0 0 1 0; 0 1 0 0; -1 0 0 0; 0 0 0 1]

Output Arguments

collapse all

Cartesian representation of a translation vector, returned as an n-by-2 matrix if tform is a 3-by-3-by-n array and an n-by-3 matrix if tform is a 4-by-4-by-n array. n is the number of translation vectors. Each vector is of the form [x y] or [x y z].

Example: [0.5 6 100]

More About

collapse all

Homogeneous Transformation Matrices

Homogeneous transformation matrices consist of both an orthogonal rotation and a translation.

2-D Transformations

2-D transformations have a rotation θ about the z-axis:

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

, and a translation along the x and y axis:

t=[xy]

, resulting in the 2-D transformation matrix of the form:

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

3-D Transformations

3-D transformations contain information about three rotations about the x-, y-, and z-axes:

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

and after multiplying become the rotation about the xyz-axes:

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ψ]

and a translation along the x-, y-, and z-axis:

t=[xyz]

, resulting in the 3-D transformation matrix of the form:

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

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Version History

Introduced in R2015a

expand all