For historical reasons MTEX defines orientations in a slightly different way than they have been defined by Bunge. As explained in topic orientations MTEX defines them as coordinate transformations from the crystal reference frame into the specimen reference frame. In contrast to this Bunge orientations are coordinate transformations from the specimen reference frame into the crystal reference frame. Lets demonstrate this by a simple example:
% consider cubic symmetry
cs = crystalSymmetry('cubic')
% and a random orientation
ori = orientation.rand(cs)
cs = crystalSymmetry
symmetry: m-3m
elements: 48
a, b, c : 1, 1, 1
ori = orientation (m-3m → xyz)
Bunge Euler angles in degree
phi1 Phi phi2
144.73 137.904 14.9569
This is now an MTEX orientation and can be used to translate crystal coordinates, i.e., Miller indices into specimen coordinates,
% either by multiplying from the left
r = ori * Miller({1,0,0},cs)
% or using the command rotate
rotate(Miller({1,0,0},cs),ori)
r = vector3d
ans = vector3d
A Bunge orientation is exactly the inverse of an MTEX orientation, i.e.,
ori_Bunge = inv(ori)
ori_Bunge = orientation (xyz → m-3m)
Bunge Euler angles in degree
phi1 Phi phi2
165.043 137.904 35.2704
and translates specimen coordinates into Miller indices
ori_Bunge * r
ans = Miller (m-3m)
h k l
1 0 0
Euler angles
Since the Euler angles are the most common way to describe orientations MTEX implements them such that the Euler angles of an MTEX orientation coincide with the Euler angles of a Bunge orientation. Thus the Euler angles of orientations in MTEX agree with the Euler angles reported by all common EBSD devices, simulation software, text books and paper.
Matrix notation
Due to the above explained inverse relationship of orientations defined in MTEX and in Bunge convention, a matrix generated from an orientation in MTEX is the inverse, or equivallently, the transpose of the matrix in Bunge notation.
ori.matrix
ori_Bunge.matrix^(-1)
ori_Bunge.matrix'
ans =
-0.6782 0.6247 0.3871
0.7142 0.4363 0.5473
0.1730 0.6477 -0.7420
ans =
-0.6782 0.6247 0.3871
0.7142 0.4363 0.5473
0.1730 0.6477 -0.7420
ans =
-0.6782 0.6247 0.3871
0.7142 0.4363 0.5473
0.1730 0.6477 -0.7420
Misorientations
Since, MTEX orientations translates crystal to specimen coordinates misorientations are defined by the formula
ori1 = orientation.rand(cs);
ori2 = orientation.rand(cs);
mori = inv(ori1) * ori2
mori = misorientation (m-3m → m-3m)
Bunge Euler angles in degree
phi1 Phi phi2
226.848 59.9936 236.883
as they are commonly defined coordinate transformations from crystal to crystal coordinates. This formula is different to the misorientation formula for Bunge orientations
ori1_Bunge = inv(ori1);
ori2_Bunge = inv(ori2);
mori = ori1_Bunge * inv(ori2_Bunge)
mori = misorientation (m-3m → m-3m)
Bunge Euler angles in degree
phi1 Phi phi2
226.848 59.9936 236.883
However, both formula result in exactly the same misorientation.
Summary
This list summarizes the differences between MTEX orientations and Bunge orientations.
- formulas involving orientations - invert orientation
- orientation Euler angles - unchanged
- orientation matrix - transpose matrix
- misorientations - unchanged
- misorientation Euler angles - take Euler angles of inverse misorientation