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来应用不同的转换。同时播放,而不是循环播放。我想你不太理解我。忘记保留字。。。我希望能够应用不同的转换,只需对其进行索引,并同时进行自我播放,而不是在它们之间循环。