I use the following relationships for converting Euler angles g={E1, E2, E3} to orientation matrix A=[a1 b1 c1; a2 b2 c2; a3 b3 c3] and vice versa:

a1=cos(E1)* cos(E3)- sin(E1)*sin(E3)*cos(E2);

b1=sin(E1)* cos(E3)+ cos(E1)*sin(E3)*cos(E2);

c1=sin(E3)* sin(E2);

a2=-cos(E1)* sin(E3)- sin(E1)*cos(E3)*cos(E2);

b2=-sin(E1)* sin(E3)+ cos(E1)*cos(E3)*cos(E2);

c2=cos(E3)* sin(E2);

a3=sin(E1)* sin(E2);

b3=-cos(E1)* sin(E2);

c3=cos(E2);

E1_calculated=atan(-A31/A32) ;

E2_calculated=acos(A33);

E3_calculated=atan(A13/A23);

I utilized E1, E2 and E3 from EBSD data and converted them to A matrix but in some cases, only in some cases, the calculated E1 is not correct. In fact, pi (3.14) should be added to it to produce the correct value of E1. For example:

Real values: E1(rad)= 2.575931; E2= 0.734958; E3= 0.479442;

Calculated values: E1=-0.5657; E2= 0.734958; E3= 0.479442;

Real values: E1=3.413515; E2=0.186401; E3= 0.955568;

Calculated values: E1=0.2719; E2=0.186401; E3= 0.955568;

What's the problem?

----- Matlab code of operations is attached----

Similar questions and discussions