Main Content

quat

Convert transformation or rotation to numeric quaternion

Since R2023a

    Description

    example

    q = quat(transformation) creates a quaternion q from the rotation of the transformation transformation.

    example

    q = quat(rotation) creates a quaternion q from the rotation rotation.

    Examples

    collapse all

    Create SE(3) transformation with zero translation and a rotation defined by a numeric quaternion. Use the eul2quat function to create the numeric quaternion.

    quat1 = eul2quat([0 0 deg2rad(30)])
    quat1 = 1×4
    
        0.9659    0.2588         0         0
    
    
    T = se3(quat1,"quat")
    T = se3
        1.0000         0         0         0
             0    0.8660   -0.5000         0
             0    0.5000    0.8660         0
             0         0         0    1.0000
    
    

    Convert the transformation back into a numeric quaternion.

    quat2 = quat(T)
    quat2 = 1×4
    
        0.9659    0.2588         0         0
    
    

    Create SO(3) rotation defined by a numeric quaternion. Use the eul2quat function to create the numeric quaternion.

    quat1 = eul2quat([0 0 deg2rad(30)])
    quat1 = 1×4
    
        0.9659    0.2588         0         0
    
    
    R = so3(quat1,"quat")
    R = so3
        1.0000         0         0
             0    0.8660   -0.5000
             0    0.5000    0.8660
    
    

    Convert the rotation into a numeric quaternion.

    quat2 = quat(R)
    quat2 = 1×4
    
        0.9659    0.2588         0         0
    
    

    Input Arguments

    collapse all

    Transformation, specified as an se3 object or as an N-element array of se3 objects. N is the total number of transformations.

    Rotation, specified as an so3 object or as an N-element array of so3 objects. N is the total number of rotations.

    Output Arguments

    collapse all

    Quaternion rotation angles, returned as an M-by-4 matrix, where each row is of the form [qw qx qy qz]. M is the total number of transformations or rotations specified.

    Version History

    Introduced in R2023a

    See Also

    | |