[ManimGL 源码解读] Tex 如何渲染公式
这个专栏不是 manim 入门,需要有一些 Python 和 ManimGL 基础。manim 入门建议看:https://docs.manim.org.cn。
Tex
能根据传入的 tex_strings
渲染公式,根据 tex_to_color_map
设置颜色,根据 tex_strings
、isolate
和 tex_to_color_map
拆出 submobjects
(比如用于 TransformMatchingTex
不香吗)。TransformMatchingShapes
digest_config
处理参数,接着调用 break_up_tex_strings
将 tex_strings
进一步按照 self.isolate
和 self.tex_to_color_map
拆分。
self.tex_strings
被拼在一起(中间用 self.arg_separator
连接,通常是 ""
),存在 full_string
里。调用 SingleStringTex
生成 SVG。调用 self.break_up_by_substrings
。这个函数大概是,根据 self.tex_strings
再分别调用 SingleStringTex
渲染 SVG 得到 sub_tex_mob
,把它设置为自己的 submobjects
。
调用 self.set_color_by_tex_to_color_map
上色。
set_color_by_tex
能对单个 tex
字符串上色。
get_parts_by_tex
查找 tex
对应的部分,包装成 VGroup
返回。
若 self.organize_left_to_right
,调用 self.organize_submobjects_left_to_right
把 self.submobjects
按横坐标排序(只是下标改变,位置不变)。
然后,没了。