You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Manim中结合always_redraw在表格内渲染MathTex公式?

在Manim Community的Table中使用MathTex渲染动态数值

要让表格单元格显示LaTeX公式格式的动态数值,核心是直接在Table的单元格中传入MathTex对象,而非字符串。原来的代码用格式化字符串生成纯文本,现在替换为动态创建MathTex实例即可。

修改后的完整代码

from manim import *

class DynamicTable(Scene):
    def construct(self):
        value = ValueTracker(0)

        # 用always_redraw动态生成包含MathTex的表格
        table = always_redraw(lambda: Table(
            [
                [MathTex("X"), MathTex(r"f(X) = x^2")],
                [
                    MathTex(f"{value.get_value():.2f}"), 
                    MathTex(r"f(x) = " + f"{(value.get_value()**2):.2f}")
                ]
            ],
            include_outer_lines=True  # 可选:显示表格外边框
        ))

        self.add(table)
        # 添加动画演示数值变化
        self.play(value.animate.set_value(3), run_time=3)
        self.wait()

关键说明

  • 单元格传入MathTex对象:Table的构造参数支持接收Mobject(Manim的图形对象),因此直接用MathTex()生成公式化内容,替代原来的格式化字符串。
  • 动态更新逻辑:always_redraw会在每一帧重新执行lambda函数,重新生成包含最新数值的MathTex和Table,保证内容实时更新。
  • LaTeX语法支持:需要渲染的公式部分可以直接用LaTeX语法,比如r"f(X) = x^2",注意用r前缀避免转义问题。

如果需要更复杂的公式格式(如分式、特殊符号等),直接在MathTex中写入对应的LaTeX代码即可,Manim会自动渲染。

内容的提问来源于stack exchange,提问作者Gianmarco Ceccotti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 09:12:08