主要内容

tform2rotm

从齐次变换提取旋转矩阵

描述

例子

rotm= tform2rotm (tform)从一个齐次变换,提取旋转组件tform,并返回一个标准正交旋转矩阵,rotm。的平移组件tform将被忽略。输入必须在pre-multiply齐次变换形式转换。当使用旋转矩阵时,自左乘它的坐标旋转(相对于自右乘)。

例子

全部折叠

tform = [1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1);rotm = tform2rotm (tform)
rotm =3×31 0 0 0 1 0 0 0 1

输入参数

全部折叠

齐次变换,指定为3-by-3-by -n数组或4-by-4-by -n数组中。n是均匀的数量转换。输入齐次变换必须自左乘形式的转换。

二维齐次变换矩阵的形式:

T = ( r 11 r 12 t 1 r 21 r 22 t 2 0 0 1 ]

三维齐次变换矩阵的形式:

T = ( r 11 r 12 r 13 t 1 r 21 r 22 r 23 t 2 r 31日 r 32 r 33 t 3 0 0 0 1 ]

例子:[0 0 1 0;0 1 0 0;1 0 0 0;0 0 0 1)

输出参数

全部折叠

旋转矩阵,作为一个2×2 -返回n数组或3-by-3-by -n数组包含n旋转矩阵。数组中的每个旋转矩阵大小为2×2或3×3正交。当使用旋转矩阵时,自左乘它的坐标旋转(相对于自右乘)。

二维旋转矩阵的形式:

R = ( r 11 r 12 r 21 r 22 ]

三维旋转矩阵的形式:

R = ( r 11 r 12 r 13 r 11 r 22 r 23 r 31日 r 32 r 33 ]

例子:[0 0 1;0 1 0;1 0 0)

更多关于

全部折叠

齐次变换矩阵

齐次变换矩阵的正交旋转和翻译。

二维转换

二维转换旋转θ关于z轴:

R z ( θ ) = ( 因为 θ θ θ 因为 θ ]

,和一个翻译xy轴:

t = ( x y ]

,导致的二维变换矩阵形式:

T = ( R t 0 1 × 2 1 ] = ( 2 t 0 1 × 2 1 ] · ( R 0 0 1 × 2 1 ]

三维转换

三维转换包含三个旋转信息关于x - y、z轴:

R x ( ϕ ) = ( 1 0 0 0 因为 ϕ ϕ 0 ϕ 因为 ϕ ] , R y ( ψ ) = ( 因为 ψ 0 ψ 0 1 0 ψ 0 因为 ψ ] , R z ( θ ) = ( 因为 θ θ 0 θ 因为 θ 0 0 0 1 ]

之后乘成为xyz-axes旋转:

R x y z = R x ( ϕ ) R y ( ψ ) R z ( θ ) = ( 因为 ϕ 因为 ψ 因为 θ ϕ θ 因为 ϕ 因为 ψ θ ϕ 因为 θ 因为 ϕ ψ ϕ 因为 ψ 因为 θ + 因为 ϕ θ ϕ 因为 ψ θ + 因为 ϕ 因为 θ ϕ ψ ψ 因为 θ ψ θ 因为 ψ ]

和一个翻译x- - - - - -,y- - - - - -,z设在:

t = ( x y z ]

,导致三维变换矩阵的形式:

T = ( R t 0 1 x 3 1 ] = ( 3 t 0 1 x 3 1 ] · ( R 0 0 1 x 3 1 ]

扩展功能

C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。

版本历史

介绍了R2015a

全部展开