首页 > 解决方案 > 在 Manim 中渲染嵌套动画的问题

问题描述

代码

from manim import *
import numpy as np
import math as math
class  MaclaurinSine(MovingCameraScene):
    def construct(self):
        self.camera.frame.scale(0.5)
        coords = NumberPlane()
        L = []

        def next_graph (n,x):
            f = math.fsum([(((-1)**m)*(x**(2*m+1))/(math.factorial(2*m+1))) for m in range(n)])
            return f

        graph_basic = coords.get_graph(lambda x:next_graph(0,x),x_range=[-17,17])
        self.add(graph_basic)
        for i in range(1,20):
            graph1 = coords.get_graph(lambda x:next_graph(i,x),x_range=[-17,17])
            a = ReplacementTransform(Group(*self.mobjects),graph1,run_time = 0.2)
            L.append(a)

        self.play(Succession(*[x for x in L],lag_ratio=1),self.camera.frame.animate.scale(3))

        self.wait(3)

问题

此代码按预期工作,只是在渲染场景后存在一个小问题,场景以烦人的帧结束(显然,此帧是应用于某些图形的动画的总和)。

我试过的

我尝试使用 LaggedStart 而不是 Succession 并尝试使用 interpolate 之类的方法,但是(因为我仍在学习)我遇到了无法修复的错误。

我不知道问题出在哪里而不是如何解决它。那么如何摆脱最后一帧(以某种方式使我能够在此动画之后继续添加动画,而动画之间没有间隙)

注意:我仍在学习这个美丽的图书馆,所以有些想法对我来说仍然很棘手。

提前致谢。

这是最后一帧的样子: 在此处输入图像描述

这是场景: 在此处输入图像描述

标签: pythonanimationmanim

解决方案


推荐阅读