roll, patch, yaw to rotation matrix
| Type | Intent | Optional | 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) |
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