Supongamos que necesito dibujar varios objetos espaciados uniformemente a lo largo de una línea. Utilizo un ciclo para esto.

    for number in range(-90, 90, 10):
        object = object.copy()
        object.move_to(np.array([number, 0, 0]))

Quiero agruparlos después del ciclo usando VGroup.

        objects = VGroup(object)
        self.play(ShowCreation(objects))

Como era de esperar, mi código dibuja solo el último de los objetos. ¿Cómo acceder a los índices de todos los objetos para dibujarlos correctamente? Soy nuevo en Python y estoy luchando con la indexación.

0
zdarova_koresh 31 ago. 2020 a las 12:59

1 respuesta

La mejor respuesta

Aquí está mi código, si alguien está interesado. Básicamente, dibuja una imagen de la Tierra en forma de cuadrícula dada una condición del archivo xls.

from openpyxl import load_workbook

        workbook = load_workbook('name.xlsx')
        worksheet = workbook.get_sheet_by_name('sheetname')
        earth = []
        for row_cells in worksheet.iter_rows():
            for cell in row_cells:
                 if cell.value == 1:
                     lat = cell.row - 73
                     lon = cell.column - 109
                     rect = Rectangle(height=1, width=1, stroke_width=7, color=BACKGROUND)
                     rect.set_fill(GREEN_B, opacity=1)
                     rect.move_to(np.array([lon, lat, 0]))
                     earth.append(rect)
                 else:
                     pass

        group_earth = VGroup(*earth)
        self.play(FadeIn(group_earth), run_time=3)
        self.wait(2)
0
zdarova_koresh 17 sep. 2020 a las 13:05