% Rotation matrix from Euler angles R_B = R1(omega)*R2(phi)*R3(kappa) see PCV (8.20) [a,b,c] ->[o,p,q] Usage: R = calc_R_from_opq_kraus(omega,phi,kappa) omega,phi,kappa - double, Euler angles, radiant R - double 3x3, 3D rotation matrix Wolfgang Förstner wfoerstn@uni-bonn.de See also calc_opq_from_R_Kraus, calc_r_phi_from_R, calc_Rot_ab, calc_Rot_q, calc_Rot_r, calc_Rot_rod, calc_Rot_rp, calc_Mq, calc_Mq_comm
0001 %% Rotation matrix from Euler angles 0002 % R_B = R1(omega)*R2(phi)*R3(kappa) 0003 % see PCV (8.20) [a,b,c] ->[o,p,q] 0004 % 0005 % Usage: 0006 % R = calc_R_from_opq_kraus(omega,phi,kappa) 0007 % 0008 % omega,phi,kappa - double, Euler angles, radiant 0009 % R - double 3x3, 3D rotation matrix 0010 % 0011 % Wolfgang Förstner 0012 % wfoerstn@uni-bonn.de 0013 % 0014 % See also calc_opq_from_R_Kraus, calc_r_phi_from_R, calc_Rot_ab, calc_Rot_q, 0015 % calc_Rot_r, calc_Rot_rod, calc_Rot_rp, calc_Mq, calc_Mq_comm 0016 0017 function R = calc_R_from_opq_kraus(omega,phi,kappa) 0018 0019 R=[... 0020 cos(phi)*cos(kappa), ... 0021 -cos(phi)*sin(kappa), ... 0022 sin(phi); ... 0023 sin(omega)*sin(phi)*cos(kappa)+cos(omega)*sin(kappa), ... 0024 -sin(omega)*sin(phi)*sin(kappa)+cos(omega)*cos(kappa), ... 0025 -sin(omega)*cos(phi); ... 0026 -cos(omega)*sin(phi)*cos(kappa)+sin(omega)*sin(kappa), ... 0027 cos(omega)*sin(phi)*sin(kappa)+sin(omega)*cos(kappa), ... 0028 cos(omega)*cos(phi)];