private void InitializeMatrix(int size) { switch (RotationType) { case RotationType.Identity: RotationMatrix = MatrixGenerator.Identity(size); break; case RotationType.Orthonormal: RotationMatrix = MatrixGenerator.RandomOrthogonal(size); break; case RotationType.LinearTransform: RotationMatrix = MatrixGenerator.RandomLinearTransformation(size, Condition); break; default: throw new ArgumentException("Unknown matrix type."); } _initialized = true; }