Python 在Manim中循环后对对象进行分组
让我们假设我需要沿一条线画几个均匀分布的对象。我用一个for循环来做这个Python 在Manim中循环后对对象进行分组,python,for-loop,manim,Python,For Loop,Manim,让我们假设我需要沿一条线画几个均匀分布的对象。我用一个for循环来做这个 for number in range(-90, 90, 10): object = object.copy() object.move_to(np.array([number, 0, 0])) 我希望在循环后使用VGroup对它们进行分组 objects = VGroup(object) self.play(ShowCreation(objects
for number in range(-90, 90, 10):
object = object.copy()
object.move_to(np.array([number, 0, 0]))
我希望在循环后使用VGroup对它们进行分组
objects = VGroup(object)
self.play(ShowCreation(objects))
毫不奇怪,我的代码只绘制了最后一个对象。
如何访问所有对象的索引以正确绘制它们?
我是Python新手,正在努力编制索引。如果有人感兴趣,这是我的代码。 基本上,它根据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)
对象
是单个对象。您可能需要创建一个列表
,并将每个对象添加到该列表中first@UnholySheep你说得对!但是VGroup仅适用于Mobject:Exception:所有子Mobject必须是VMobject类型。官方文档中有一个示例,它们创建一个数组,然后使用列表上的“星形运算符”创建VGroup
@非常感谢你!我调整了这个代码,它工作了!