Main Content

angle2dcm

Convert rotation angles to direction cosine matrix

Description

dcm = angle2dcm(rotationAng1,rotationAng2,rotationAng3) calculates the direction cosine matrix dcm given a set of three rotation angles, rotationAng1, rotationAng2, and rotationAng3, using the default rotation sequence of 'ZYX' (yaw, pitch, roll). The rotation angles represent a series of right-hand intrinsic passive rotations from frame A to frame B. The resulting direction cosine matrix represents a right-hand passive rotation from frame A to frame B.

dcm = angle2dcm(___,rotationSequence) calculates the direction cosine matrix given the rotation sequence, rotationSequence. The rotation sequence parameter also specifies the order of the three rotation angles.

example

Examples

collapse all

Calculate the direction cosine matrix from three rotation angles.

yaw = 0.7854;  
pitch = 0.1; 
roll = 0;
dcm = angle2dcm( yaw, pitch, roll )
dcm = 3×3

    0.7036    0.7036   -0.0998
   -0.7071    0.7071         0
    0.0706    0.0706    0.9950

Calculate the direction cosine matrix from rotation angles and a rotation sequence.

yaw = [0.7854 0.5];  
pitch = [0.1 0.3];  
roll = [0 0.1];
dcm = angle2dcm( pitch, roll, yaw, 'YXZ' )
dcm = 
dcm(:,:,1) =

    0.7036    0.7071   -0.0706
   -0.7036    0.7071    0.0706
    0.0998         0    0.9950


dcm(:,:,2) =

    0.8525    0.4770   -0.2136
   -0.4321    0.8732    0.2254
    0.2940   -0.0998    0.9506

Input Arguments

collapse all

First rotation angles, specified as an m-by-1 array, in radians. The rotationAng1 argument represents the first rotation in rotationSequence.

Data Types: double | single

Second rotation angles, specified as an m-by-1 array, in radians. The rotationAng2 argument represents the second rotation in rotationSequence.

Data Types: double | single

Third rotation angles, specified as an m-by-1 array, in radians. The rotationAng3 argument represents the third rotation in rotationSequence.

Data Types: double | single

Rotation sequence, specified as a scalar. For sequences like 'ZXZ', there are two rotations about the same axis, such as two different yaw angles in 'ZXZ'.

Data Types: char | string

Output Arguments

collapse all

Direction cosine matrices, returned as a 3-by-3-by-m matrix, where m is the number of direction cosine matrices.

Version History

Introduced in R2006b