Let qA and qB represent unit, orientation quaternions of grain A and grain B of a grain boundary in the lab reference frame, respectively. Let qm be the misorientation quaternion of qA and qB. Quaternion inversion (qinv) and quaternion multiplication (qmult) are discussed in Quaternions and spatial rotations. Let mA be the boundary plane normal pointing from grain A to grain B in the sample reference frame. Let nA be the boundary plane normal pointing outwards from grain A towards grain B in the grain A crystal reference frame. All boundary planes are represented in 3D Cartesian coordinates.
qinv(qA) = [qA(1) -qA(2:4)] qinv(qB) = [qB(1) -qB(2:4)] qmult(qA,qB) ~= qmult(qB,qA) %non-commutative
I think the misorientation quaternion is obtained by one of the following two conversions:
qm = qmult(qinv(qA),qB);
qm = qmult(qB,qinv(qA));
I think the boundary plane normal is represented by:
nA = qmult(qA,qmult([0 mA],qinv(qA))); nA = nA(2:4); %drop 1st element which is 0
While the two misorientation quaternions share the same misorientation angle, they each represent rotations around different axes, and thus (as far as I understand), a different grain boundary.
What is the appropriate conversion of (qA, qB, mA) triplets to (qm, nA) pairs?