FASTRAKというPOLHEMUS社のセンサーを使って得られたデータをDirect3Dで表示を行っています。位置情報は問題ないのですが。角度がオイラー角(azimuth,elevation,roll)で得られます。

Matrix x = Matrix.RotationZ(azimuth);
Matrix y = Matrix.RotationY(elevation);
Matrix z = Matrix.RotationZ(roll);

Matrix t = Matrix.Matrix.Identity;
t = Matrix.Multiply(t,x);
t = Matrix.Multiply(t,y);
t = Matrix.Multiply(t,z);

このように、Z軸、Y軸、Z軸の順(または、Z,Y,Xの順で)で回転させているのですが、正しく回転されません。何かご教授していただければと思います。よろしくお願いします。