# [Numpy-discussion] composing Euler rotation matrices

```Hello,

I'm trying to compose Euler rotation matrices shown in
https://en.wikipedia.org/wiki/Euler_angles#Rotation_matrix.  For
example, The Z1Y2X3 Tait-Bryan rotation shown in the table can be
represented in Numpy using the function:```
```
def z1y2x3(alpha, beta, gamma):
"""Rotation matrix given Euler angles"""
return np.array([[np.cos(alpha) * np.cos(beta),
np.cos(alpha) * np.sin(beta) * np.sin(gamma) -
np.cos(gamma) * np.sin(alpha),
np.sin(alpha) * np.sin(gamma) +
np.cos(alpha) * np.cos(gamma) * np.sin(beta)],
[np.cos(beta) * np.sin(alpha),
np.cos(alpha) * np.cos(gamma) +
np.sin(alpha) * np.sin(beta) * np.sin(gamma),
np.cos(gamma) * np.sin(alpha) * np.sin(beta) -
np.cos(alpha) * np.sin(gamma)],
[-np.sin(beta), np.cos(beta) * np.sin(gamma),
np.cos(beta) * np.cos(gamma)]])

which given alpha, beta, gamma as:

returns the following matrix:

In [31]: z1y2x3(angles[0], angles[1], angles[2])
Out[31]:

array([[ 0.81379768, -0.44096961,  0.37852231],
[ 0.46984631,  0.88256412,  0.01802831],
[-0.34202014,  0.16317591,  0.92541658]])

If I understand correctly, one should be able to compose this matrix by
multiplying the rotation matrices that it is made of.  However, I cannot
reproduce this matrix via composition; i.e. by multiplying the
underlying rotation matrices.  Any tips would be appreciated.

--
Seb

_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
https://mail.scipy.org/mailman/listinfo/numpy-discussion
```