% Rotation matrix from axis and angle see PCV (8.29) Usage: R = calc_Rot_rp(r,p) r - double 3x1, rotation axis, normalized, such that |r| = 1 p - rotation angle [radiant] R - double 3x3, 3D rotation matrix Wolfgang Förstner wfoerstn@uni-bonn.de See also calc_R_from_opq_kraus, calc_r_phi_from_R, calc_Rot_ab, calc_Rot_q, calc_Rot_r, calc_Rot_rod, calc_Mq, calc_Mq_comm, calc_opq_from_R_Kraus
0001 %% Rotation matrix from axis and angle 0002 % see PCV (8.29) 0003 % 0004 % Usage: 0005 % R = calc_Rot_rp(r,p) 0006 % 0007 % r - double 3x1, rotation axis, normalized, such that |r| = 1 0008 % p - rotation angle [radiant] 0009 % 0010 % R - double 3x3, 3D rotation matrix 0011 % 0012 % Wolfgang Förstner 0013 % wfoerstn@uni-bonn.de 0014 % 0015 % See also calc_R_from_opq_kraus, calc_r_phi_from_R, calc_Rot_ab, 0016 % calc_Rot_q, calc_Rot_r, calc_Rot_rod, calc_Mq, calc_Mq_comm, calc_opq_from_R_Kraus 0017 0018 function R = calc_Rot_rp(r,p) 0019 0020 rn = r/norm(r); 0021 R = cos(p)*eye(3) + sin(p)*calc_S(rn) + (1-cos(p))*rn*rn'; 0022