summaryrefslogtreecommitdiff
path: root/basis_transformation.m
blob: 5ebf83bfdb26aaad0345bc93a0c9437b2e9fdf76 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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 coord_new = oldlin2newlin(coord_old, theta)
	oldlin2newlin_m = [ ...
			[ 1,          0,           0]; ...
			[ 0, cos(theta), -sin(theta)]; ...
			[ 0, sin(theta),  cos(theta)]...
		];
		coord_new = oldlin2newlin_m * coord_old;
endfunction

% vim: ts=2:sw=2:fdm=indent