mrot2[{a_,b_,c_}, teta_] := Block[{ris, m, an, bn, cn}, {an, bn, cn}= {a,b,c}/Norm[{a,b,c}];
m={{0,-cn,bn}, {cn, 0, -an}, {-bn, an, 0}};
ris={{1,0,0},{0,1,0},{0,0,1}}+m*Sin[teta]+m.m(1-Cos[teta]);
Return[ris];];

MatrixForm[mrot2[{1,1,0},teta]]

MatrixForm[mrot2[{1,0,0},teta]] (*rotazione intorno all'asse x *)

MatrixForm[mrot2[{0,0,1},teta]] (*rotazione intorno all'asse y*)

MatrixForm[mrot2[{0,1,0},teta]] (*rotazione intorno all'asse z *)

MatrixForm[mrot2[{1.,2.,3.}, Pi/4]]

assi = ParametricPlot3D[{{.03*Cos[u], .03*Sin[u], v}, {.03*Cos[u], v, .03*Sin[u]},{v, .03*Cos[u], .03*Sin[u]}}, {u,0, 2Pi}, {v, -1.5, 1.5}, Mesh -> None, PlotRange -> 1.5]

Show[{assi, ParametricPlot3D[{Cos[u], Sin[u], v},  {u,0, 2Pi}, {v, -1, 1}, Mesh -> None]}]

Manipulate[Show[{assi, ParametricPlot3D[{Cos[u], Sin[u], v},  {u,0, 2Pi}, {v, -1, 1}, Mesh -> None],  ParametricPlot3D[mrot2[{1,0,0},teta].{Cos[u], Sin[u], v},  {u,0, 2Pi}, {v, -1, 1}, Mesh -> None]}], {teta, 0, 2Pi}]