rpy_to_rot Subroutine

private pure subroutine rpy_to_rot(roll, pitch, yaw, r)

roll, patch, yaw to rotation matrix

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: roll

rad

real(kind=wp), intent(in) :: pitch

rad

real(kind=wp), intent(in) :: yaw

rad

real(kind=wp), intent(out) :: r(3,3)

Called by

proc~~rpy_to_rot~~CalledByGraph proc~rpy_to_rot rpy_to_rot proc~j2000_to_frame moon_frame_interpolater%j2000_to_frame proc~j2000_to_frame->proc~rpy_to_rot proc~frame_to_j2000 moon_frame_interpolater%frame_to_j2000 proc~frame_to_j2000->proc~j2000_to_frame

Source Code

    pure subroutine rpy_to_rot(roll, pitch, yaw, r)
        !! roll, patch, yaw to rotation matrix
        real(wp), intent(in)  :: roll, pitch, yaw !! rad
        real(wp), intent(out) :: r(3,3)
        real(wp) :: cr, sr, cp, sp, cy, sy

        cr = cos(roll)
        sr = sin(roll)
        cp = cos(pitch)
        sp = sin(pitch)
        cy = cos(yaw)
        sy = sin(yaw)

        r(1,1) = cy*cp
        r(1,2) = cy*sp*sr - sy*cr
        r(1,3) = cy*sp*cr + sy*sr
        r(2,1) = sy*cp
        r(2,2) = sy*sp*sr + cy*cr
        r(2,3) = sy*sp*cr - cy*sr
        r(3,1) = -sp
        r(3,2) = cp*sr
        r(3,3) = cp*cr
    end subroutine rpy_to_rot