Transformation 在不同方向上同时使用Manim移动N个对象

Transformation 在不同方向上同时使用Manim移动N个对象,transformation,python-3.8,manim,Transformation,Python 3.8,Manim,我有一个可变随机长度的点的列表,我希望能够在这种情况下对这些对象应用一个独立的变换移位,但同时 list = [Dot(), Dot() ...] # Variable length 我正在使用3blue1brown提供的Manim库。 请注意,其他相关帖子无法解决我的问题,因为它们只能处理固定数量的对象点。不要使用列表,它是一个保留字,请使用VGroup来包含对象: 列出点=VGroup*[范围内的点5]5点VGroup 这与: 列出点=VGroupDot,Dot,Dot,Dot,Dot 请

我有一个可变随机长度的点的列表,我希望能够在这种情况下对这些对象应用一个独立的变换移位,但同时

list = [Dot(), Dot() ...] # Variable length
我正在使用3blue1brown提供的Manim库。 请注意,其他相关帖子无法解决我的问题,因为它们只能处理固定数量的对象点。

不要使用列表,它是一个保留字,请使用VGroup来包含对象:

列出点=VGroup*[范围内的点5]5点VGroup 这与: 列出点=VGroupDot,Dot,Dot,Dot,Dot 请参阅google中的“列表理解python” 列表点排列灯 列出\u点。设置\u彩色 列表\u dots.shiftUP 不要使用列表,它是一个保留字,请使用VGroup包含对象:

列出点=VGroup*[范围内的点5]5点VGroup 这与: 列出点=VGroupDot,Dot,Dot,Dot,Dot 请参阅google中的“列表理解python” 列表点排列灯 列出\u点。设置\u彩色 列表\u dots.shiftUP
以下代码(用作示例)解决了此问题:

import numpy as np

class DotsMoving(Scene):
    def construct(self):
        dots = [Dot() for i in range(5)]
        directions = [np.random.randn(3) for dot in dots]
        self.add(*dots) # It isn't absolutely necessary
        animations = [ApplyMethod(dot.shift,direction) for dot,direction in zip(dots,directions)]
        self.play(*animations) # * -> unpacks the list animations

特别感谢。

以下代码作为示例解决了此问题:

import numpy as np

class DotsMoving(Scene):
    def construct(self):
        dots = [Dot() for i in range(5)]
        directions = [np.random.randn(3) for dot in dots]
        self.add(*dots) # It isn't absolutely necessary
        animations = [ApplyMethod(dot.shift,direction) for dot,direction in zip(dots,directions)]
        self.play(*animations) # * -> unpacks the list animations

特别感谢。

我想你不太理解我。忘记保留字。。。我希望能够通过索引和self来应用不同的转换。同时播放,而不是循环播放。我想你不太理解我。忘记保留字。。。我希望能够应用不同的转换,只需对其进行索引,并同时进行自我播放,而不是在它们之间循环。