function m = rotation_matrix(v)

up = [ 0 0 1]; % arbitrary 'up' vector (in world coordinates)
phi = v(1);
theta = v(2);
alpha = v(3); % not used here
cosphi = cos(phi);
vn = -[sin(phi) cosphi*cos(theta) cosphi*sin(theta)];
%vn = v(1:3);
vz = vn/norm(vn);
vx = cross(up,vz);
vx = vx/norm(vx);
vy = cross(vz,vx);
m = [vx; vy; -vz;];