3D ROTATIONS

VIni[x_,y_,z_]:=MatrixForm[{{I z, x + I y},{ - x + I y, -I z}}]

Rot[a_,b_,c_,θ_]:=MatrixForm[(1/(Sqrt[a^2+b^2+c^2])){
{(Sqrt[a^2+b^2+c^2]) Cos[θ (π/360)]+ I c Sin [θ (π/360)],(a+ I b) Sin [θ (π/360)]},
{(- a+ I b) Sin [θ (π/360)],(Sqrt[a^2+b^2+c^2]) Cos[θ (π/360)]- I c Sin [θ (π/360)]}
}]

VFin[x_,y_,z_,a_,b_,c_,θ_]:=Rot[a,b,c,θ].VIni[x,y,z]


VRot[x_,y_,z_,a_,b_,c_,θ_]:=
(1/(a^2+b^2+c^2)){
{(Sqrt[a^2+b^2+c^2]) Cos[θ (π/360)]+ I c Sin [θ (π/360)],(a+ I b) Sin [θ (π/360)]},
{(- a+ I b) Sin [θ (π/360)],(Sqrt[a^2+b^2+c^2]) Cos[θ (π/360)]- I c Sin [θ (π/360)]}
}.{{I z, x + I y},{ - x + I y, -I z}}.{
{(Sqrt[a^2+b^2+c^2]) Cos[θ (π/360)]- I c Sin [θ (π/360)],-(a+ I b) Sin [θ (π/360)]},
{( a- I b) Sin [θ (π/360)],(Sqrt[a^2+b^2+c^2]) Cos[θ (π/360)]+ I c Sin [θ (π/360)]}}




X[x_,y_,z_,a_,b_,c_,θ_]:=Re[{1,0}.VRot[x,y,z,a,b,c,θ].{0,1}]

Y[x_,y_,z_,a_,b_,c_,θ_]:=Im[{1,0}.VRot[x,y,z,a,b,c,θ].{0,1}]

Z[x_,y_,z_,a_,b_,c_,θ_]:=Im[{1,0}.VRot[x,y,z,a,b,c,θ].{1,0}]


Rotation[x_,y_,z_,a_,b_,c_,θ_]:=
MatrixForm[{
{"INITIAL VECTOR"},
{x,y,z},
{"MATRIX FORM OF THE INITIAL VECTOR"},
{VIni[x,y,z]},
{"ROTATION ANGLE"},
{θ},
{"ROTATION AXIS"},
{(a/(Sqrt[a^2+b^2+c^2])),(b/(Sqrt[a^2+b^2+c^2])),(c/(Sqrt[a^2+b^2+c^2]))},
{"ROTATION MATRIX"},
{Rot[a,b,c,θ]},
{"MATRIX FORM OF THE ROTATED VECTOR"},
{Rot[a,b,c,θ].VIni[x,y,z].Rot[a,b,c,-θ]},
{MatrixForm[VRot[x,y,z,a,b,c,θ]]},
{"ROTATED VECTOR"},
{{X[x,y,z,a,b,c,θ],Y[x,y,z,a,b,c,θ],Z[x,y,z,a,b,c,θ]}}
}]

(* INSERT THE INITIAL VECTOR, THE ROTATION ANGLE AND THE AXIS ROTATION*)
x:=1;
y:=0;
z:=0;

θ:= 180;

a:=1;
b:=1;
c:=1;

Rotation[x,y,z,a,b,c,θ]

(* INSERT THE INITIAL VECTOR, THE ROTATION ANGLE AND THE AXIS ROTATION*)
x:=1;
y:=1;
z:=0;

θ:= 180;

a:=1;
b:=1;
c:=1;

Rotation[x,y,z,a,b,c,θ]

(* INSERT THE INITIAL VECTOR, THE ROTATION ANGLE AND THE AXIS ROTATION*)
x:=1;
y:=1;
z:=1/2;

θ:= 180;

a:=1;
b:=1;
c:=1;

Rotation[x,y,z,a,b,c,θ]

(* INSERT THE INITIAL VECTOR, THE ROTATION ANGLE AND THE AXIS ROTATION*)
x:=1;
y:=1;
z:=2/3;

θ:= 180;

a:=1;
b:=1;
c:=1;

Rotation[x,y,z,a,b,c,θ]

(* INSERT THE INITIAL VECTOR, THE ROTATION ANGLE AND THE AXIS ROTATION*)
x:=1;
y:=1;
z:=1;

θ:= 180;

a:=1;
b:=1;
c:=0;

Rotation[x,y,z,a,b,c,θ]

(* INSERT THE INITIAL VECTOR, THE ROTATION ANGLE AND THE AXIS ROTATION*)
x:=1;
y:=1;
z:=1;

θ:= 180;

a:=1;
b:=-1;
c:=0;

Rotation[x,y,z,a,b,c,θ]

(* INSERT THE INITIAL VECTOR, THE ROTATION ANGLE AND THE AXIS ROTATION*)
x:=1;
y:=1;
z:=1;

θ:= 90;

a:=1;
b:=0;
c:=0;

Rotation[x,y,z,a,b,c,θ]

(* INSERT THE INITIAL VECTOR, THE ROTATION ANGLE AND THE AXIS ROTATION*)
x:=1;
y:=-1;
z:=0;

θ:= 90;

a:=-1;
b:=-1;
c:=2;

Rotation[x,y,z,a,b,c,θ]