private static Curve[][] Rotate(Curve[][] input) { //Rotate 2d array of curves(flips rows and columns) int length = input.GetLength(0); Curve[][] retVal = new Curve[length][]; for (int x = 0; x < length; x++) { retVal[x] = input.Select(p => p[x]).ToArray(); } return retVal; }