1; % matrix of circular to linear transformation % [x, l, z]' = lin2circ * [r, l, z]' circ2lin= [ ... [ 1/sqrt(2), 1/sqrt(2), 0]; ... [-1i/sqrt(2), 1i/sqrt(2), 0]; ... [ 0, 0, 1] ... ]; % matrix of linear to circular transformation % [r, l, z]' = lin2circ * [x, y, z]' lin2circ=inverse(circ2lin); % linear basis rotation % x axis untouched % z and y rotated by angle theta around 'x' axis % [x_new, y_new, z_new]' = oldlin2newlin * [x_old, y_old, z_old]' function oldlin2newlin_m = oldlin2newlin(theta) oldlin2newlin_m = [ ... [ 1, 0, 0]; ... [ 0, cos(theta), -sin(theta)]; ... [ 0, sin(theta), cos(theta)]... ]; endfunction % vim: ts=2:sw=2:fdm=indent