def generate_points(self): for vect in IN, OUT, LEFT, RIGHT, UP, DOWN: face = Square( side_length=self.side_length, shade_in_3d=True, ) face.flip() face.shift(self.side_length * OUT / 2.0) face.apply_matrix(z_to_vector(vect)) self.add(face)
def init_tiles(self): out_std = Square(side_length=1, **self.tile_config) out_std.shift((RIGHT + UP) / 2.) dim = self.dimension out_tiles = VGroup() for i in range(dim**2): tile = out_std.copy() tile.shift((i % dim) * UP + (i // dim) * RIGHT) out_tiles.add(tile) up_tiles = out_tiles.copy() up_tiles.rotate(-2. * np.pi / 3., axis=[1, 1, 1], about_point=ORIGIN) right_tiles = out_tiles.copy() right_tiles.rotate(2. * np.pi / 3., axis=[1, 1, 1], about_point=ORIGIN) all_tiles = [out_tiles, right_tiles, up_tiles] for tile_set, color in zip(all_tiles, self.tile_colors): for tile in tile_set: tile.set_fill(color=color, opacity=self.enable_fill) self.backup_tiles = VGroup(*all_tiles).copy()