public void CreateRotationXTest(float angle) { float radians = (float)(angle * System.Math.PI / 180); Matrix3x3 matrix = Matrix3x3.CreateRotationX(radians); float sin = (float)System.Math.Sin(radians); float cos = (float)System.Math.Cos(radians); float[] expectedArray = new float[9] { 1, 0, 0, 0, cos, -sin, 0, sin, cos }; CompareMatrixWithArray(matrix, expectedArray); }
public void CreateFromYawPitchRollTest(float yaw, float pitch, float roll) { float radiansYaw = (float)(yaw * System.Math.PI / 180); float radiansPitch = (float)(pitch * System.Math.PI / 180); float radiansRoll = (float)(roll * System.Math.PI / 180); Matrix3x3 matrix = Matrix3x3.CreateFromYawPitchRoll(radiansYaw, radiansPitch, radiansRoll); Matrix3x3 xMatrix = Matrix3x3.CreateRotationX(radiansPitch); Matrix3x3 yMatrix = Matrix3x3.CreateRotationY(radiansYaw); Matrix3x3 zMatrix = Matrix3x3.CreateRotationZ(radiansRoll); Matrix3x3 rotationMatrix = (yMatrix * xMatrix) * zMatrix; CompareMatrixWithArray(matrix, rotationMatrix.ToArray()); }