首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Manim方程变换

Manim方程变换
EN

Stack Overflow用户
提问于 2022-04-20 11:13:32
回答 1查看 606关注 0票数 2

Manim社区v0.15.1

代码语言:javascript
复制
class Equation_Transformation_Bug(Scene):
    def construct(self):
        equation_1 = MathTex("w", "\\times","v", "=", "1")
        equation_1.shift(UP*2).scale(2)
        equation_2 = MathTex("v", "=", "w^{-1}")
        equation_2.scale(2)
        equation_3 = MathTex("w", "\\times","w^{-1}", "=", "1")
        equation_3.shift(UP*2).scale(2)

        self.play(Write(equation_1), Write(equation_2))
        self.wait(2)
        self.play(FadeOut(equation_1[2]))

        self.play(*[
            Transform(
                equation_2.get_part_by_tex("w^{-1}"),
                equation_3.get_part_by_tex("w^{-1}")                
            )
        ] + [
            Transform(
                equation_1.get_part_by_tex(tex),
                equation_3.get_part_by_tex(tex)
            )
            for tex in ("w", "\\times","=", "1")
        ])
        self.wait(1)

我试图让equation_2中的w^{-1}飞到以前由equation_1的v所占据的位置并转换为equation_3,而equation_1中的"1“则从equation_3转换为w^{-1},而不是试图进行替换转换。

如何将equation_1转换为equation_3并移动equation_1的"v“所占位置的w^{-1}?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-20 11:56:18

在这种特殊情况下,使用TransformMatchingShapes的方法工作得相当好:

代码语言:javascript
复制
class Eq(Scene):
    def construct(self):
        equation_1 = MathTex("w", "\\times","v", "=", "1")
        equation_1.shift(UP*2).scale(2)
        equation_2 = MathTex("v", "=", "w^{-1}")
        equation_2.scale(2)
        equation_3 = MathTex("w", "\\times","w^{-1}", "=", "1")
        equation_3.shift(UP*2).scale(2)

        self.play(Write(equation_1), Write(equation_2))
        self.wait(2)
        self.play(FadeOut(equation_1[2]))

        self.play(
            TransformMatchingShapes(
                VGroup(equation_1[0:2], equation_1[3:], equation_2[2].copy()),
                equation_3,
            )
        )

如果您的形状不是唯一匹配的,那么请看一下TransformMatchingShapes的实现,有一种方法可以精确地将什么转换成什么。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71938647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档