/// <summary> /// Returns 5-20 random 3d shapes that have sides of 5-100 /// </summary> public static Shape3D[] Randomize3DShapes() { int numberOfShapes = random.Next(5, 21); Shape3D[] shapes = new Shape3D[numberOfShapes]; for (int i = 0; i < numberOfShapes; i++) { Shape3D shape; switch (random.Next(3, 6)) { case 3: shape = new Cuboid(random.NextDouble(5, 100), random.NextDouble(5, 100), random.NextDouble(5, 100)); break; case 4: shape = new Cylinder(random.NextDouble(5, 50), random.NextDouble(5, 50), random.NextDouble(5, 100)); break; case 5: shape = new Sphere(random.NextDouble(5, 50)); break; default: shape = null; break; } shapes[i] = shape; } return shapes; }