euler_shift_vectors Subroutine

public subroutine euler_shift_vectors(v, euler, seq, world, forward, vshift)

Given two frames A and B such that the orientation of frame B with respect to frame A is given by three Euler angles, shifts vectors from A to B or B to A.

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(in), dimension(:,:) :: v

(3,n). Vectors to rotate.

real(kind=rp), intent(in), dimension(3) :: euler

Euler angles.

character(len=3), intent(in) :: seq

'XYZ'|'XZY' | 'YXZ' | 'YZX' | 'ZXY' | 'ZYX'. Euler angle sequence.

logical, intent(in) :: world

Whether the Euler angles are with respect to the world frame or not.

logical, intent(in) :: forward

If .true., shift from A to B. If .false., shift from B to A.

real(kind=rp), intent(out), dimension(:,:) :: vshift

(3,n). Shifted vectors.