Description
class Test(ThreeDScene):
colors = [RED, GREEN, YELLOW, WHITE, BLUE, ORANGE]
def create_cube(self):
cube = Cube(1)
for i, face in enumerate(cube):
face.set_fill(self.colors[i])
face.set_stroke(BLACK, 2)
face.round_corners(0.2)
return cube
def construct(self):
self.move_camera(phi=75 * DEGREES, theta=-45 * DEGREES)
cubes = []
for x in range(3):
for y in range(3):
for z in range(3):
cube = self.create_cube()
cube.shift((x - 1) * RIGHT + (y - 1) * UP + (z - 1) * OUT)
cubes.append(cube)
self.play(
AnimationGroup(
*(GrowFromPoint(cube, cube.get_center()) for cube in cubes),
lag_ratio=0.5,
run_time=2
)
)
self.wait(